Relocated the workaround for "Disable Repacking for Compression" from
rcs_engine_wa_init() to icl_ctx_workarounds_init() for Jasper Lake and
Elkhart Lake platforms. This ensures the WA is applied during context
initialization.

Signed-off-by: Sebastian Brzezinka <[email protected]>
---
 drivers/gpu/drm/i915/gt/intel_workarounds.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c 
b/drivers/gpu/drm/i915/gt/intel_workarounds.c
index b37e400f74e5..79298618cda6 100644
--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
+++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
@@ -634,6 +634,8 @@ static void cfl_ctx_workarounds_init(struct intel_engine_cs 
*engine,
 static void icl_ctx_workarounds_init(struct intel_engine_cs *engine,
                                     struct i915_wa_list *wal)
 {
+       struct drm_i915_private *i915 = engine->i915;
+
        /* Wa_1406697149 (WaDisableBankHangMode:icl) */
        wa_write(wal, GEN8_L3CNTLREG, GEN8_ERRDETBCTRL);
 
@@ -669,6 +671,15 @@ static void icl_ctx_workarounds_init(struct 
intel_engine_cs *engine,
 
        /* Wa_1406306137:icl,ehl */
        wa_mcr_masked_en(wal, GEN9_ROW_CHICKEN4, GEN11_DIS_PICK_2ND_EU);
+
+       if (IS_JASPERLAKE(i915) || IS_ELKHARTLAKE(i915)) {
+               /*
+                * "Disable Repacking for Compression (masked R/W access)
+                *  before rendering compressed surfaces for display."
+                */
+               wa_masked_en(wal, CACHE_MODE_0_GEN7,
+                            DISABLE_REPACKING_FOR_COMPRESSION);
+       }
 }
 
 /*
@@ -2306,15 +2317,6 @@ rcs_engine_wa_init(struct intel_engine_cs *engine, 
struct i915_wa_list *wal)
                             GEN8_RC_SEMA_IDLE_MSG_DISABLE);
        }
 
-       if (IS_JASPERLAKE(i915) || IS_ELKHARTLAKE(i915)) {
-               /*
-                * "Disable Repacking for Compression (masked R/W access)
-                *  before rendering compressed surfaces for display."
-                */
-               wa_masked_en(wal, CACHE_MODE_0_GEN7,
-                            DISABLE_REPACKING_FOR_COMPRESSION);
-       }
-
        if (GRAPHICS_VER(i915) == 11) {
                /* This is not an Wa. Enable for better image quality */
                wa_masked_en(wal,
-- 
2.34.1

Reply via email to