[PATCH 2/4] drm/xe/gen12: Add Wa_1604555607
Gustavo Sousa
gustavo.sousa at intel.com
Wed Feb 26 19:57:44 UTC 2025
Quoting Lucas De Marchi (2025-02-26 15:05:37-03:00)
>On Wed, Feb 26, 2025 at 11:21:04AM +0000, Tvrtko Ursulin wrote:
>>According to the i915 code base, apart from setting the GS timer, all
>>Gen12 platforms should also set the TDS timer. Make it so.
>>
>>Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
>>References: 2b5298b0aa09 ("drm/i915/gen12: Add recommended hardware tuning value")
>>Cc: Lucas De Marchi <lucas.demarchi at intel.com>
>>Cc: Matt Roper <matthew.d.roper at intel.com>
>>---
>>This needs checking by someone with access to the proper docs and proper
>>workaround database.
>
>Tuning and WA db are 2 different things. Digging through it...
>
>Tuning:
> Bspec 31870 only tells to program TDS (bits 23:16) to value of 4. There is no
> **recommended tuning** saying to program other bits.
>
> That is FF_MODE2_TDS_TIMER_MASK = FF_MODE2_TDS_TIMER_128.
>
> Same bits are also recommended for DG2 in Bspec 68331 covering DG2 and
> MTL (however in these platforms the register is multicast).
>
> From the WA db:
> TDS is documented to be programmed in WA 1604555607,
> to the same value as the tuning, for graphics versions 12.00 and 12.10
> (I'd have to dig more for 12.55).
>
> GS (bits 31:24) is documented to be programmed in WA 16011163337
> for graphics versions 12.00 and 12.10
>
>
>>---
>> drivers/gpu/drm/xe/xe_tuning.c | 8 +++++---
>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>
>>diff --git a/drivers/gpu/drm/xe/xe_tuning.c b/drivers/gpu/drm/xe/xe_tuning.c
>>index d449de0fb6ec..9e7ec36dbd47 100644
>>--- a/drivers/gpu/drm/xe/xe_tuning.c
>>+++ b/drivers/gpu/drm/xe/xe_tuning.c
>>@@ -97,12 +97,14 @@ static const struct xe_rtp_entry_sr engine_tunings[] = {
>> };
>>
>> static const struct xe_rtp_entry_sr lrc_tunings[] = {
>>- { XE_RTP_NAME("Tuning: ganged timer, also known as 16011163337"),
>>+ { XE_RTP_NAME("Tuning: ganged timers, also known as 16011163337 and 1604555607"),
>> XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210), ENGINE_CLASS(RENDER)),
>> /* read verification is ignored due to 1608008084. */
>> XE_RTP_ACTIONS(FIELD_SET_NO_READ_MASK(FF_MODE2,
>>- FF_MODE2_GS_TIMER_MASK,
>>- FF_MODE2_GS_TIMER_224))
>>+ FF_MODE2_GS_TIMER_MASK |
>>+ FF_MODE2_TDS_TIMER_MASK,
>>+ FF_MODE2_GS_TIMER_224 |
>>+ FF_MODE2_TDS_TIMER_128))
>
>so... I think this should be only about TDS, also known as 1604555607.
>then in xe_wa.c, the GS programming added for 16011163337.
>
>Matt, Gustavo, can you double check that?
Your assessment seems correct to me.
--
Gustavo Sousa
>
>
>thanks
>Lucas De Marchi
>
>
>> },
>>
>> /* DG2 */
>>--
>>2.48.0
>>
More information about the Intel-xe
mailing list