[PATCH] drm/xe/xe2lpm: Fixup Wa_14020756599

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Jun 6 14:29:09 UTC 2024


On Thu, Jun 06, 2024 at 12:54:59PM +0530, Tejas Upadhyay wrote:
> In the current situation, Media 2000 is along with xe2_lpg,
> thus WA is already covered.
> 
> https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2016
> 
> Fixes: 131328aa5699 ("drm/xe/xe2lpm: Add permanent Wa_14020756599")
> Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_rtp.c |  5 -----
>  drivers/gpu/drm/xe/xe_rtp.h | 14 --------------
>  drivers/gpu/drm/xe/xe_wa.c  | 13 ++++++-------

Please send this to intel-xe mailing list.

>  3 files changed, 6 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/xe_rtp.c b/drivers/gpu/drm/xe/xe_rtp.c
> index 01c32a932780..eff1c9c2f5cc 100644
> --- a/drivers/gpu/drm/xe/xe_rtp.c
> +++ b/drivers/gpu/drm/xe/xe_rtp.c
> @@ -324,8 +324,3 @@ bool xe_rtp_match_first_gslice_fused_off(const struct xe_gt *gt,
>  	return dss >= dss_per_gslice;
>  }
>  
> -bool xe_rtp_match_when_media2000(const struct xe_gt *gt,
> -				 const struct xe_hw_engine *hwe)
> -{
> -	return (gt_to_xe(gt))->info.media_verx100 == 2000;
> -}
> diff --git a/drivers/gpu/drm/xe/xe_rtp.h b/drivers/gpu/drm/xe/xe_rtp.h
> index a32645f5f80b..337b1ef1959c 100644
> --- a/drivers/gpu/drm/xe/xe_rtp.h
> +++ b/drivers/gpu/drm/xe/xe_rtp.h
> @@ -427,18 +427,4 @@ bool xe_rtp_match_first_render_or_compute(const struct xe_gt *gt,
>  bool xe_rtp_match_first_gslice_fused_off(const struct xe_gt *gt,
>  					 const struct xe_hw_engine *hwe);
>  
> -/*
> - * xe_rtp_match_when_media2000 - Match when media GT version 2000
> - *
> - * @gt: GT structure
> - * @hwe: Engine instance
> - *
> - * Its one of the case where we need to apply workaround on primary GT
> - * based on if media GT version 2000 is present. Thus this API will help
> - * us to match media version 2000.
> - *
> - * Returns: true if media GT version 2000, false otherwise.
> - */
> -bool xe_rtp_match_when_media2000(const struct xe_gt *gt,
> -				 const struct xe_hw_engine *hwe);
>  #endif
> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
> index 26b170a0cdc7..ce6f1b0ca808 100644
> --- a/drivers/gpu/drm/xe/xe_wa.c
> +++ b/drivers/gpu/drm/xe/xe_wa.c
> @@ -677,6 +677,12 @@ static const struct xe_rtp_entry_sr lrc_was[] = {
>  		       ENGINE_CLASS(RENDER)),
>  	  XE_RTP_ACTIONS(SET(CHICKEN_RASTER_2, TBIMR_FAST_CLIP))
>  	},
> +	/* This WA is also needed on primary GT when the media version is 2000.
> +	 * In the current situation, Media 2000 is along with xe2_lpg, thus WA
> +	 * is already covered below. In the future, Media version 2000 can be
> +	 * used with some other graphics version where WA still needs to be
> +	 * implemented.
> +	 */
>  	{ XE_RTP_NAME("14020756599"),
>  	  XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
>  	  XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
> @@ -705,13 +711,6 @@ static const struct xe_rtp_entry_sr lrc_was[] = {
>  			     DIS_AUTOSTRIP))
>  	},
>  
> -	/* Xe2_LPM */
> -
> -	{ XE_RTP_NAME("14020756599"),
> -	  XE_RTP_RULES(ENGINE_CLASS(RENDER), FUNC(xe_rtp_match_when_media2000)),
> -	  XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
> -	},
> -
>  	{}
>  };
>  
> -- 
> 2.25.1
> 


More information about the Intel-gfx mailing list