[PATCH 2/2] drm/xe/pvc: Fix WA 18020744125

Matt Roper matthew.d.roper at intel.com
Wed Mar 6 23:09:51 UTC 2024


On Wed, Mar 06, 2024 at 11:21:28AM -0800, Lucas De Marchi wrote:
> With the current state GUC_WA_RCS_REGS_IN_CCS_REGS_LIST could in theory
> be removed since there is no render register being added to the list of
> compute WAs. However the real issue is that 18020744125 is incomplete
> and not setting the RING_HWSTAM on render as it should.
> 
> Writing this in RTP is a little more tricky as we want to write to
> another's engine base when the match happens: first compute engine and
> no render present. So use RING_HWSTAM(RENDER_RING_BASE) instead of the
> usual XE_RTP_ACTION_FLAG(ENGINE_BASE).
> 
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>

Reviewed-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/xe/xe_wa.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
> index 2460c570e628..54740d246310 100644
> --- a/drivers/gpu/drm/xe/xe_wa.c
> +++ b/drivers/gpu/drm/xe/xe_wa.c
> @@ -377,6 +377,11 @@ static const struct xe_rtp_entry_sr engine_was[] = {
>  	  XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute)),
>  	  XE_RTP_ACTIONS(SET(ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE))
>  	},
> +	{ XE_RTP_NAME("18020744125"),
> +	  XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute),
> +		       ENGINE_CLASS(COMPUTE)),
> +	  XE_RTP_ACTIONS(SET(RING_HWSTAM(RENDER_RING_BASE), ~0))
> +	},
>  	{ XE_RTP_NAME("14014999345"),
>  	  XE_RTP_RULES(PLATFORM(PVC), ENGINE_CLASS(COMPUTE),
>  		       GRAPHICS_STEP(B0, C0)),
> -- 
> 2.43.0
> 

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


More information about the Intel-xe mailing list