On Fri, Oct 04, 2024 at 04:22:42PM +0300, Juha-Pekka Heikkila wrote: > On 18.9.2024 17.44, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxxxx> > > --- > > 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. There isn't one. > > > + 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, -- Ville Syrjälä Intel