[PATCH v2 2/3] drm/xe/xe2_hpg: Add set of workarounds

Lucas De Marchi lucas.demarchi at intel.com
Thu Jun 5 15:45:37 UTC 2025


On Wed, Jun 04, 2025 at 11:54:19AM -0700, Matt Roper wrote:
>On Wed, Jun 04, 2025 at 08:22:35PM +0530, Dnyaneshwar Bhadane wrote:
>> From: Shekhar Chauhan <shekhar.chauhan at intel.com>
>>
>> Add set of workarounds for xe2_hpg.
>>
>> -v2: Fix xe2_hpg GMD version for some workarounds.
>>
>> Signed-off-by: Shekhar Chauhan <shekhar.chauhan at intel.com>
>> Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane at intel.com>
>> ---
>>  drivers/gpu/drm/xe/xe_wa.c         | 55 +++++++++++++++++++++---------
>>  drivers/gpu/drm/xe/xe_wa_oob.rules |  4 +--
>>  2 files changed, 40 insertions(+), 19 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_wa.c b/drivers/gpu/drm/xe/xe_wa.c
>> index 67196baa4249..2c0e0adc5904 100644
>> --- a/drivers/gpu/drm/xe/xe_wa.c
>> +++ b/drivers/gpu/drm/xe/xe_wa.c
>> @@ -489,8 +489,8 @@ static const struct xe_rtp_entry_sr engine_was[] = {
>>  	  XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
>>  	  XE_RTP_ACTIONS(SET(ROW_CHICKEN3, XE2_EUPEND_CHK_FLUSH_DIS))
>>  	},
>> -	{ XE_RTP_NAME("18034896535, 16021540221"), /* 16021540221: GRAPHICS_STEP(A0, B0) */
>> -	  XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2004),
>> +	{ XE_RTP_NAME("16021540221"),
>> +	  XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
>
>Breaking out 20.01/20.02 into a separate entry farther down is good
>since it keeps the LPG and HPG handling separate, and also avoids
>blindly applying this 20.03 which doesn't exist today, but could
>potentially show up in the future.
>
>However is there actually a benefit to splitting 16021540221 (a-step
>only) and 18034896535 (all steppings) into separate entries given that
>the two workarounds have the same actions?  I think breaking it out like
>this will actually cause a warning if run on an A-step platform since
>we'll have two entries trying to update the same bits of the same
>register (see compatible_entries() in xe_reg_sr.c).

humn... it looks like our kunit in drivers/gpu/drm/xe/tests/xe_wa_test.c
is only covering the gt table, not engine. We should add entries for

	KUNIT_CASE_PARAM(xe_wa_engine, platform_gen_params),

and

	KUNIT_CASE_PARAM(xe_wa_lrc, platform_gen_params),

to cover this in kunit and avoid introducing these bugs.
Shekhar/Dnyaneshwar, would you be able to do that? It can (should?) be
separate from these patches to avoid unnecessary delays in applying
these workarounds.

thanks
Lucas De Marchi


More information about the Intel-xe mailing list