[PATCH 1/2] drm/i915/uc: Disable GuC submission on suspend

Michal Wajdeczko michal.wajdeczko at intel.com
Tue Mar 13 20:14:25 UTC 2018


Shortly after suspend we will sanitize and reset the GuC,
so there is no reason to leave GuC submission enabled.
We'll try to enable GuC submission again on resume.

Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 4 ++--
 drivers/gpu/drm/i915/intel_uc.c | 8 +++++++-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 05b0724..b841426 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4943,8 +4943,6 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	i915_gem_contexts_lost(dev_priv);
 	mutex_unlock(&dev->struct_mutex);
 
-	intel_uc_suspend(dev_priv);
-
 	cancel_delayed_work_sync(&dev_priv->gpu_error.hangcheck_work);
 	cancel_delayed_work_sync(&dev_priv->gt.retire_work);
 
@@ -4953,6 +4951,8 @@ int i915_gem_suspend(struct drm_i915_private *dev_priv)
 	 */
 	drain_delayed_work(&dev_priv->gt.idle_work);
 
+	intel_uc_suspend(dev_priv);
+
 	/* Assert that we sucessfully flushed all the work and
 	 * reset the GPU back to its idle, low power state.
 	 */
diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 9d5ffd7..35dd0ea 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -489,6 +489,9 @@ int intel_uc_suspend(struct drm_i915_private *i915)
 		return err;
 	}
 
+	if (USES_GUC_SUBMISSION(dev_priv))
+		intel_guc_submission_disable(guc);
+
 	gen9_disable_guc_interrupts(i915);
 
 	return 0;
@@ -514,5 +517,8 @@ int intel_uc_resume(struct drm_i915_private *i915)
 		return err;
 	}
 
-	return 0;
+	if (USES_GUC_SUBMISSION(dev_priv))
+		err = intel_guc_submission_enable(guc);
+
+	return err;
 }
-- 
1.9.1



More information about the Intel-gfx-trybot mailing list