#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)
14026539277 PLATFORM(NOVALAKE_P), PLATFORM_STEP(A0, B0)
14026633728 PLATFORM(CRESCENTISLAND)
14026746987 PLATFORM(CRESCENTISLAND)
+14026779378 PLATFORM(CRESCENTISLAND)
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);