[Intel-gfx] [PATCH] Restore "08fff7aeddc9 ("drm/i915/tgl: Wa_1607138340")

Chris Wilson chris at chris-wilson.co.uk
Wed Jun 3 16:09:32 UTC 2020


This restores 08fff7aeddc9 ("drm/i915/tgl: Wa_1607138340") by reverting
commit 921f0c47f228 ("drm/i915: Revert "drm/i915/tgl: Wa_1607138340"").

Our CI machines are recording a rare error where the CS events are out
of order, leading to a machine death. Restoring the Wa_1607138340 (i.e.
forcing a full restore on every context switch) prevents it. Whether or
not is it the same root cause remains to be seen, but since the machine
death is quite easy to hit on B0, it is unresolved.

Fixes: 921f0c47f228 ("drm/i915: Revert "drm/i915/tgl: Wa_1607138340"")
References: 08fff7aeddc9 ("drm/i915/tgl: Wa_1607138340")
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Cc: Francesco Balestrieri <francesco.balestrieri at intel.com>
---
 drivers/gpu/drm/i915/gt/intel_lrc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
index aac8da18694f..b28ea01375ba 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1520,6 +1520,10 @@ static u64 execlists_update_context(struct i915_request *rq)
 	 */
 	wmb();
 
+	/* Wa_1607138340:tgl */
+	if (IS_TGL_REVID(ce->engine->i915, TGL_REVID_A0, TGL_REVID_B0))
+		desc |= CTX_DESC_FORCE_RESTORE;
+
 	ce->lrc.desc &= ~CTX_DESC_FORCE_RESTORE;
 	return desc;
 }
-- 
2.20.1



More information about the Intel-gfx mailing list