[PATCH 2/2] drm/xe/pvc: Fix WA 18020744125
Lucas De Marchi
lucas.demarchi at intel.com
Fri Mar 8 18:22:01 UTC 2024
On Wed, Mar 06, 2024 at 03:09:51PM -0800, Matt Roper wrote:
>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>
now that PVC is back to life, confirmed that this works as intended.
Diff from /sys/kernel/debug/dri/1/gt0/register-save-restore:
bcs8
REG[0x3ee0c4] clr=0x00003f7e set=0x00000102 masked=yes mcr=no
ccs0
+ REG[0x2098] clr=0xffffffff set=0xffffffff masked=no mcr=no
REG[0xe48c] clr=0x00000800 set=0x00000800 masked=yes mcr=yes
REG[0xe7c8] clr=0x40000000 set=0x40000000 masked=no mcr=yes
REG[0x1a0c4] clr=0x00003f7e set=0x00000104 masked=yes mcr=no
Applied to drm-xe-next. Thanks
Lucas De Marchi
>
>> ---
>> 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