[PATCH V2 2/2] drm/xe/xe2lpm: Add permanent wa_14020756599

Matt Roper matthew.d.roper at intel.com
Wed May 15 03:30:47 UTC 2024


On Tue, Apr 30, 2024 at 01:26:09PM +0530, Tejas Upadhyay wrote:
> For xe2_lpm Wa_14020756599 is applied to
> all steppings.
> 
> V2:
>   - Remove engine filter video decode
>   - Fix typo GRAPHICS/MEDIA/s - Himal
> 
> Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_wa.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
> index 7657aadf217c..76f7a7e3ee61 100644
> --- a/drivers/gpu/drm/xe/xe_wa.c
> +++ b/drivers/gpu/drm/xe/xe_wa.c
> @@ -701,6 +701,12 @@ static const struct xe_rtp_entry_sr lrc_was[] = {
>  			     DIS_AUTOSTRIP))
>  	},
>  
> +	/* Xe2_LPM */
> +	{ XE_RTP_NAME("14020756599"),
> +	  XE_RTP_RULES(MEDIA_VERSION(2000)),

Even though this workaround needs to be applied on any platform with
media version 20.00 (regardless of the primary GT's version), there's
still only a single copy of this register and it resides within the
primary GT as part of the render engine's LRC (bspec 65182).  This is a
pretty unusual case (turning off something in a different hardware unit
than what the workaround is marked against) and we might need to do
something special for this workaround since we need to emit this
workaround specifically as part of the RCS engine's LRC (you don't have
an engine filter here, so it's going to try to put it in every engine's
LRC), and the use of MEDIA_VERSION also implicitly makes our RTP
framework use the media GT to apply it rather than the primary GT.
Since this register is within the GSI range, applying the workaround
through the media GT will make it try to write to offset
(0x380000+0x5588) which won't do what we want.

For now the only platforms that have media 20.00 also have primary GT
versions that match the Xe2_LPG version number, so we could probably get
away with just putting a comment in the table saying that we're not
adding the Xe2_LPM entry for now since the Xe2_LPG entry already covers
the necessary programming.  But if they ever pair media 20.00 with some
other primary GT version that doesn't need this workaround, we may have
to think about adding more flags to RTP to deal with this kind of
situation.


Matt

> +	  XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
> +	},
> +
>  	{}
>  };
>  
> -- 
> 2.25.1
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation


More information about the Intel-xe mailing list