Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/xe/xe2_hpg: Fix handling of Wa_14019988906 & Wa_14019877138

The PSS_CHICKEN register has been part of the RCS engine's LRC since it
was first introduced in Xe_LP. That means that any workarounds that
adjust its value (such as Wa_14019988906 and Wa_14019877138) need to be
implemented in the lrc_was[] table so that they become part of the
default LRC from which all subsequent LRCs are copied. Although these
workarounds were implemented correctly on most platforms, they were
incorrectly placed on the engine_was[] table for Xe2_HPG.

Move the workarounds to the proper lrc_was[] table and switch the
'xe_rtp_match_first_render_or_compute' rule to specifically match the
RCS since that's the engine whose LRC manages the register.

Bspec: 65182
Fixes: 7f3ee7d88058 ("drm/xe/xe2hpg: Add initial GT workarounds")
Reviewed-by: Shekhar Chauhan <shekhar.chauhan@intel.com>
Link: https://patch.msgid.link/20260205220508.51905-2-matthew.d.roper@intel.com
Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
(cherry picked from commit e04c609eedf4d6748ac0bcada4de1275b034fed6)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

authored by

Matt Roper and committed by
Rodrigo Vivi
bc6387a2 4a9b4e1f

+8 -10
+8 -10
drivers/gpu/drm/xe/xe_wa.c
··· 548 548 FUNC(xe_rtp_match_first_render_or_compute)), 549 549 XE_RTP_ACTIONS(SET(ROW_CHICKEN, EARLY_EOT_DIS)) 550 550 }, 551 - { XE_RTP_NAME("14019988906"), 552 - XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), 553 - FUNC(xe_rtp_match_first_render_or_compute)), 554 - XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD)) 555 - }, 556 - { XE_RTP_NAME("14019877138"), 557 - XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), 558 - FUNC(xe_rtp_match_first_render_or_compute)), 559 - XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT)) 560 - }, 561 551 { XE_RTP_NAME("14020338487"), 562 552 XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), 563 553 FUNC(xe_rtp_match_first_render_or_compute)), ··· 822 832 { XE_RTP_NAME("14020756599"), 823 833 XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)), 824 834 XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS)) 835 + }, 836 + { XE_RTP_NAME("14019988906"), 837 + XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), ENGINE_CLASS(RENDER)), 838 + XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD)) 839 + }, 840 + { XE_RTP_NAME("14019877138"), 841 + XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), ENGINE_CLASS(RENDER)), 842 + XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT)) 825 843 }, 826 844 { XE_RTP_NAME("14021490052"), 827 845 XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),