[PATCH 2/7] drm/i915: Disable compression tricks on JSL

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Fri Oct 4 13:22:42 UTC 2024


On 18.9.2024 17.44, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Bspec asks us to disable some compression trick on JSL. While the
> bspec description is pretty vague it looks like this is some extra
> trick for 10bpc+ CCS which presumably the ICL derived display engine
> doesn't support.
> 
> Note that we aren't currently exposing 10bpc CCS scanout support,
> but once that gets added this presumably becomes an issue.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>   drivers/gpu/drm/i915/gt/intel_gt_regs.h     | 1 +
>   drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +++++++++
>   2 files changed, 10 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_gt_regs.h b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> index 57a3c83d3655..67c47c8b75fb 100644
> --- a/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> +++ b/drivers/gpu/drm/i915/gt/intel_gt_regs.h
> @@ -432,6 +432,7 @@
>   #define XEHPG_INSTDONE_GEOM_SVG			MCR_REG(0x666c)
>   
>   #define CACHE_MODE_0_GEN7			_MMIO(0x7000) /* IVB+ */
> +#define   DISABLE_REPACKING_FOR_COMPRESSION	REG_BIT(15) /* jsl+ */
>   #define   RC_OP_FLUSH_ENABLE			(1 << 0)
>   #define   HIZ_RAW_STALL_OPT_DISABLE		(1 << 2)
>   #define CACHE_MODE_1				_MMIO(0x7004) /* IVB+ */
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index e539a656cfc3..6972525fe6be 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -2299,6 +2299,15 @@ 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."
> +		 */

I think here would be needed the wa number mentioned since it's on all 
the other cases.

> +		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,



More information about the Intel-gfx mailing list