[PATCH 21/22] drm/i915/guc: Fix enable of GuC GGTT invalidation

Sagar Arun Kamble sagar.a.kamble at intel.com
Tue Oct 17 08:03:44 UTC 2017


We need to skip GGTT invalidate update during uc_init_hw in case
GuC was lost during resume from sleep as we disable this only on
reset/unload.

v2: Update commit message. Refactored change.

v3: Updated commit. Limited change to only GGTT update during
uc_init_hw.

Signed-off-by: Sagar Arun Kamble <sagar.a.kamble at intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: MichaƂ Winiarski <michal.winiarski at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
---
 drivers/gpu/drm/i915/intel_uc.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_uc.c b/drivers/gpu/drm/i915/intel_uc.c
index 54a6487c..9b6a1c5 100644
--- a/drivers/gpu/drm/i915/intel_uc.c
+++ b/drivers/gpu/drm/i915/intel_uc.c
@@ -194,8 +194,13 @@ int intel_uc_init_hw(struct drm_i915_private *dev_priv)
 	guc_disable_communication(guc);
 	intel_reset_guc_interrupts(guc);
 
-	/* We need to notify the guc whenever we change the GGTT */
-	i915_ggtt_enable_guc(dev_priv);
+	/*
+	 * We need to notify the GuC whenever we change the GGTT. During
+	 * suspend cycle we have not touched the interface so we need to
+	 * skip here. Will enable here on driver load/reset.
+	 */
+	if (!guc->suspended)
+		i915_ggtt_enable_guc(dev_priv);
 
 	if (i915_modparams.enable_guc_submission) {
 		/*
-- 
1.9.1



More information about the Intel-gfx-trybot mailing list