[PATCH 1/3] drm/i915/gt: Relocate compression repacking WA for JSL/EHL

Andi Shyti andi.shyti at kernel.org
Sat Aug 9 00:27:00 UTC 2025


Hi Sebastian,

On Fri, Aug 01, 2025 at 09:48:54AM +0000, Sebastian Brzezinka wrote:
> 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.

I would re-write this to make it a bit more understandable:

   CACHE_MODE_0 registers should be saved and restored as part of
   the context, not during engine reset. Move the related workaround
   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 initialisation.

How does it look to you?

> Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka at intel.com>
 
BSPEC: 55884

Fixes: 0ddae025ab6c ("drm/i915: Disable compression tricks on JSL")
Closes: Fixes: 0ddae025ab6c ("drm/i915: Disable compression tricks on JSL")
Cc: <stable at vger.kernel.org> # v6.13+

> ---
>  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."

As we are here, I would remove the quotes here, they don't mean
much.

With all the above:

Reviewed-by: Andi Shyti <andi.shyti at linux.intel.com>

Thanks,
Andi


More information about the Intel-gfx mailing list