]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: Define and use MCR version of COMMON_SLICE_CHICKEN4
authorGustavo Sousa <gustavo.sousa@intel.com>
Thu, 14 May 2026 21:44:46 +0000 (18:44 -0300)
committerGustavo Sousa <gustavo.sousa@intel.com>
Fri, 15 May 2026 21:05:12 +0000 (18:05 -0300)
The register COMMON_SLICE_CHICKEN4 is a MCR register on both Xe2 and
Xe3. Let's make sure to define a MCR version of it and use it for the
relevant IP versions.

Use XEHP_ as prefix for the register name, since it is MCR as of Xe_HP.

v2:
  - Also change for one entry in lrc_tunnings, which was caught by
    manual testing and add corresponging Fixes tag in commit message.
    (Gustavo)

Fixes: 8d6f16f1f082 ("drm/xe: Extend Wa_22021007897 to Xe3 platforms")
Fixes: e5c13e2c505b ("drm/xe/xe2hpg: Add Wa_22021007897")
Fixes: 8ccf5f6b2295 ("drm/xe/tuning: Apply windower hardware filtering setting on Xe3 and Xe3p")
Bspec: 66534, 71185, 74417
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://patch.msgid.link/20260514-rtp-mcr-check-v3-3-30dd47855fee@intel.com
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
drivers/gpu/drm/xe/regs/xe_gt_regs.h
drivers/gpu/drm/xe/xe_tuning.c
drivers/gpu/drm/xe/xe_wa.c

index b21c66a1b777778f019cb5d3d093089663b0ab6b..08251c7a1a4b6be1cbf7fc4ed7c190c29f61c1ca 100644 (file)
 #define XEHPG_SC_INSTDONE_EXTRA2               XE_REG_MCR(0x7108)
 
 #define COMMON_SLICE_CHICKEN4                  XE_REG(0x7300, XE_REG_OPTION_MASKED)
+#define XEHP_COMMON_SLICE_CHICKEN4             XE_REG_MCR(0x7300, XE_REG_OPTION_MASKED)
 #define   SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE  REG_BIT(12)
 #define   DISABLE_TDC_LOAD_BALANCING_CALC      REG_BIT(6)
 #define   HW_FILTERING                         REG_BIT(5)
index ce39b77a084ad1d6aa1a39b6cf610276718d7a79..9a1b3862e19286b91d29d32b1989f4717514bcab 100644 (file)
@@ -134,7 +134,7 @@ static const struct xe_rtp_entry_sr engine_tunings[] = {
 static const struct xe_rtp_entry_sr lrc_tunings[] = {
        { XE_RTP_NAME("Tuning: Windower HW Filtering"),
          XE_RTP_RULES(GRAPHICS_VERSION_RANGE(3000, 3599), ENGINE_CLASS(RENDER)),
-         XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN4, HW_FILTERING))
+         XE_RTP_ACTIONS(SET(XEHP_COMMON_SLICE_CHICKEN4, HW_FILTERING))
        },
 
        /* DG2 */
index d6f94486673e5d432e3f3cf4c14d054dd2264dd8..cb811f8a7781631ba984f80951653f34f0121c49 100644 (file)
@@ -767,7 +767,7 @@ static const struct xe_rtp_entry_sr lrc_was[] = {
        },
        { XE_RTP_NAME("22021007897"),
          XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2002), ENGINE_CLASS(RENDER)),
-         XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN4, SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE))
+         XE_RTP_ACTIONS(SET(XEHP_COMMON_SLICE_CHICKEN4, SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE))
        },
 
        /* Xe3_LPG */
@@ -783,7 +783,7 @@ static const struct xe_rtp_entry_sr lrc_was[] = {
        },
        { XE_RTP_NAME("22021007897"),
          XE_RTP_RULES(GRAPHICS_VERSION_RANGE(3000, 3005), ENGINE_CLASS(RENDER)),
-         XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN4, SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE))
+         XE_RTP_ACTIONS(SET(XEHP_COMMON_SLICE_CHICKEN4, SBE_PUSH_CONSTANT_BEHIND_FIX_ENABLE))
        },
        { XE_RTP_NAME("14024681466"),
          XE_RTP_RULES(GRAPHICS_VERSION_RANGE(3000, 3005), ENGINE_CLASS(RENDER)),