]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/xe/oa: MERTOA Wa_14026779378
authorAshutosh Dixit <ashutosh.dixit@intel.com>
Thu, 30 Apr 2026 16:14:59 +0000 (09:14 -0700)
committerAshutosh Dixit <ashutosh.dixit@intel.com>
Tue, 12 May 2026 21:34:48 +0000 (14:34 -0700)
Do not allow SYS_MEM_LAT_MEASURE_EN bit to be set in SYS_MEM_LAT_MEASURE
register. Doing so can cause memory corruption.

Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Link: https://patch.msgid.link/20260430161459.2892545-5-ashutosh.dixit@intel.com
drivers/gpu/drm/xe/regs/xe_oa_regs.h
drivers/gpu/drm/xe/xe_device_wa_oob.rules
drivers/gpu/drm/xe/xe_oa.c

index 04a729e610aa9d63adb44e7a414ae0dc46e7db38..aa66af7e99feeaee5fd4c1f5441aacb726da0968 100644 (file)
@@ -6,6 +6,9 @@
 #ifndef __XE_OA_REGS__
 #define __XE_OA_REGS__
 
+#define SYS_MEM_LAT_MEASURE            XE_REG(0x145194)
+#define   SYS_MEM_LAT_MEASURE_EN       REG_BIT(31)
+
 #define RPM_CONFIG1                    XE_REG(0xd04)
 #define   GT_NOA_ENABLE                        REG_BIT(9)
 
index 0793b9e63549593d088d78fd9c0349ee0d9297d6..d8dc41851425c63d95d683be031d3b23de0c3ccd 100644 (file)
@@ -6,3 +6,4 @@
 14026539277    PLATFORM(NOVALAKE_P), PLATFORM_STEP(A0, B0)
 14026633728    PLATFORM(CRESCENTISLAND)
 14026746987    PLATFORM(CRESCENTISLAND)
+14026779378    PLATFORM(CRESCENTISLAND)
index 7e1e8a86d19c0bc6132a41815f697e55c605e511..7c9071abb44f129289357238278bfeb78d110cea 100644 (file)
@@ -2251,6 +2251,10 @@ static bool xe_oa_is_valid_mux_addr(struct xe_oa *oa, u32 addr)
 
 static bool xe_oa_is_valid_config_reg(struct xe_oa *oa, u32 addr, u32 val)
 {
+       if (XE_DEVICE_WA(oa->xe, 14026779378) &&
+           addr == SYS_MEM_LAT_MEASURE.addr && val & SYS_MEM_LAT_MEASURE_EN)
+               return false;
+
        return xe_oa_is_valid_flex_addr(oa, addr) ||
                xe_oa_is_valid_b_counter_addr(oa, addr) ||
                xe_oa_is_valid_mux_addr(oa, addr);