[PATCH 2/4] drm/xe/gen12: Add Wa_1604555607
Lucas De Marchi
lucas.demarchi at intel.com
Wed Feb 26 18:05:37 UTC 2025
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?
thanks
Lucas De Marchi
> },
>
> /* DG2 */
>--
>2.48.0
>
More information about the Intel-xe
mailing list