diff mbox series

drm/xe/xe2lpm: Fixup Wa_14020756599

Message ID 20240606072459.982249-1-tejas.upadhyay@intel.com (mailing list archive)
State New
Headers show
Series drm/xe/xe2lpm: Fixup Wa_14020756599 | expand

Commit Message

Tejas Upadhyay June 6, 2024, 7:24 a.m. UTC
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@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 ++++++-------
 3 files changed, 6 insertions(+), 26 deletions(-)

Comments

Rodrigo Vivi June 6, 2024, 2:29 p.m. UTC | #1
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@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
>
diff mbox series

Patch

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))
-	},
-
 	{}
 };