[PATCH] tgl: disable cs prefetch when iommu is active

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Oct 18 09:51:38 UTC 2021


From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index e1f362530889..152983b982b3 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -2145,6 +2145,17 @@ xcs_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
 	}
 }
 
+static void
+common_engine_wa_init(struct intel_engine_cs *engine, struct i915_wa_list *wal)
+{
+	struct drm_i915_private *i915 = engine->i915;
+
+	if (IS_TIGERLAKE(i915) && intel_vtd_active())
+		wa_masked_en(wal,
+			     _MMIO((engine->mmio_base) + 0x29c),
+			     BIT(10));
+}
+
 static void
 engine_init_workarounds(struct intel_engine_cs *engine, struct i915_wa_list *wal)
 {
@@ -2157,6 +2168,8 @@ engine_init_workarounds(struct intel_engine_cs *engine, struct i915_wa_list *wal
 		rcs_engine_wa_init(engine, wal);
 	else
 		xcs_engine_wa_init(engine, wal);
+
+	common_engine_wa_init(engine, wal);
 }
 
 void intel_engine_init_workarounds(struct intel_engine_cs *engine)
-- 
2.30.2



More information about the Intel-gfx-trybot mailing list