[PATCH v6 13/19] drm/xe/xelp: Add AuxCCS invalidation to the indirect context workarounds

Tvrtko Ursulin tvrtko.ursulin at igalia.com
Wed May 14 13:38:55 UTC 2025


Following from the i915 reference implementation, we add the AuxCCS
invalidation to the indirect context workarounds page.

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
---
 drivers/gpu/drm/xe/xe_lrc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_lrc.c b/drivers/gpu/drm/xe/xe_lrc.c
index d729d79ae802..78327105064c 100644
--- a/drivers/gpu/drm/xe/xe_lrc.c
+++ b/drivers/gpu/drm/xe/xe_lrc.c
@@ -25,6 +25,7 @@
 #include "xe_map.h"
 #include "xe_memirq.h"
 #include "xe_mmio.h"
+#include "xe_ring_ops.h"
 #include "xe_sriov.h"
 #include "xe_trace_lrc.h"
 #include "xe_vm.h"
@@ -1049,6 +1050,8 @@ xelp_setup_indirect_ctx_rcs(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 	if (XE_WA(lrc->gt, 1607983814))
 		cmd = xelp_invalidate_state_cache(cmd);
 
+	cmd = xe_emit_aux_table_inv(hwe, cmd);
+
 	return cmd;
 }
 
@@ -1060,6 +1063,11 @@ xelp_setup_indirect_ctx_xcs(struct xe_lrc *lrc, struct xe_hw_engine *hwe,
 	cmd = xelp_emit_timestamp_wa(lrc, cmd);
 	cmd = xelp_emit_restore_scratch(lrc, cmd);
 
+	if (hwe->class == XE_ENGINE_CLASS_COPY ||
+	    hwe->class == XE_ENGINE_CLASS_VIDEO_DECODE ||
+	    hwe->class == XE_ENGINE_CLASS_VIDEO_ENHANCE)
+		cmd = xe_emit_aux_table_inv(hwe, cmd);
+
 	return cmd;
 }
 
-- 
2.48.0



More information about the Intel-xe mailing list