[PATCH 10/10] restore previous css flush in command streamer

Andi Shyti andi.shyti at linux.intel.com
Thu Jul 20 22:48:15 UTC 2023


---
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
index 30fb4e0af6134..feb22906920db 100644
--- a/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
+++ b/drivers/gpu/drm/i915/gt/gen8_engine_cs.c
@@ -199,6 +199,7 @@ u32 *gen12_emit_aux_table_inv(struct intel_engine_cs *engine, u32 *cs)
 	*cs++ = MI_LOAD_REGISTER_IMM(1) | MI_LRI_MMIO_REMAP_EN;
 	*cs++ = i915_mmio_reg_offset(inv_reg) + gsi_offset;
 	*cs++ = AUX_INV;
+	*cs++ = MI_NOOP;
 
 	*cs++ = MI_SEMAPHORE_WAIT_TOKEN |
 		MI_SEMAPHORE_REGISTER_POLL |
@@ -208,6 +209,7 @@ u32 *gen12_emit_aux_table_inv(struct intel_engine_cs *engine, u32 *cs)
 	*cs++ = i915_mmio_reg_offset(inv_reg) + gsi_offset;
 	*cs++ = 0;
 	*cs++ = 0;
+	*cs++ = MI_NOOP;
 
 	return cs;
 }
@@ -324,7 +326,7 @@ int gen12_emit_flush_rcs(struct i915_request *rq, u32 mode)
 
 		count = 8;
 		if (HAS_AUX_CCS(rq->engine->i915))
-			count += 8;
+			count += 10;
 
 		cs = intel_ring_begin(rq, count);
 		if (IS_ERR(cs))
@@ -362,8 +364,8 @@ int gen12_emit_flush_xcs(struct i915_request *rq, u32 mode)
 	 * table requires quiescing memory traffic beforehand
 	 */
 	if (gen12_engine_has_aux_inv(rq->engine)) {
-		cmd += 8; /* for the AUX invalidation */
-		cmd += 2; /* for the engine quiescing */
+		cmd += 10; /* for the AUX invalidation */
+		/* cmd += 2; for the engine quiescing */
 
 		cmd_flush = MI_FLUSH_DW;
 
@@ -376,8 +378,9 @@ int gen12_emit_flush_xcs(struct i915_request *rq, u32 mode)
 		return PTR_ERR(cs);
 
 	if (cmd_flush) {
-		*cs++ = cmd_flush;
-		*cs++ = 0;
+		pr_info("ANDIIIIIIIIIIIIIIIII\n");
+		//*cs++ = cmd_flush;
+		//*cs++ = 0;
 	}
 
 	if (mode & EMIT_INVALIDATE)
-- 
2.40.1



More information about the Intel-gfx-trybot mailing list