We should check dependent state setup by enable path to run disable path
and not depend on the user parameters. i915_guc_submission_disable now
checks if execbuf client is setup and then goes ahead with disabling.

Suggested-by: Chris Wilson <ch...@chris-wilson.co.uk>
Signed-off-by: Sagar Arun Kamble <sagar.a.kam...@intel.com>
Cc: Michal Wajdeczko <michal.wajdec...@intel.com>
Cc: MichaƂ Winiarski <michal.winiar...@intel.com>
---
 drivers/gpu/drm/i915/i915_guc_submission.c | 3 +++
 drivers/gpu/drm/i915/intel_uc.c            | 3 +--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_guc_submission.c 
b/drivers/gpu/drm/i915/i915_guc_submission.c
index d1d6c0d..d6aaf43 100644
--- a/drivers/gpu/drm/i915/i915_guc_submission.c
+++ b/drivers/gpu/drm/i915/i915_guc_submission.c
@@ -1204,6 +1204,9 @@ void i915_guc_submission_disable(struct drm_i915_private 
*dev_priv)
 {
        struct intel_guc *guc = &dev_priv->guc;
 
+       if (!guc->execbuf_client)
+               return;
+
        guc_interrupts_release(dev_priv);
 
        /* Revert back to manual ELSP submission */
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 1446b5e..c58b3b6 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -468,8 +468,7 @@ void intel_uc_fini_hw(struct drm_i915_private *dev_priv)
        if (!i915_modparams.enable_guc_loading)
                return;
 
-       if (i915_modparams.enable_guc_submission)
-               i915_guc_submission_disable(dev_priv);
+       i915_guc_submission_disable(dev_priv);
 
        guc_disable_communication(&dev_priv->guc);
 
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to