Message ID | 20240606072459.982249-1-tejas.upadhyay@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/xe/xe2lpm: Fixup Wa_14020756599 | expand |
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 --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)) - }, - {} };
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(-)