summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>2024-10-19 02:22:32 +0300
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>2024-10-19 02:22:32 +0300
commit2b572fcb862f436c791a45fc3a8a738243f1e5f0 (patch)
treec318027dac0f98aa5093d601defb7ef47ba45ff3
parentf81fe3d56c7cedf85f7d21fee74bb7e52d669f74 (diff)
2024y-10m-18d-23h-21m-44s UTC: drm-tip rerere cache update
git version 2.45.2
-rw-r--r--rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/postimage33
-rw-r--r--rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/preimage36
-rw-r--r--rr-cache/1ab34439cb1e3b81c7513b62c0d161208b67130e/preimage.1601
-rw-r--r--rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/postimage309
-rw-r--r--rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/preimage329
-rw-r--r--rr-cache/8e9c927d63e12b61d10da289a2f9008b4e38a67a/preimage601
-rw-r--r--rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/postimage893
-rw-r--r--rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/preimage906
8 files changed, 0 insertions, 3708 deletions
diff --git a/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/postimage b/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/postimage
deleted file mode 100644
index 540d38603f32..000000000000
--- a/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/postimage
+++ /dev/null
@@ -1,33 +0,0 @@
-22012773006 GRAPHICS_VERSION_RANGE(1200, 1250)
-14014475959 GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)
- PLATFORM(DG2)
-22011391025 PLATFORM(DG2)
-22012727170 SUBPLATFORM(DG2, G11)
-22012727685 SUBPLATFORM(DG2, G11)
-18020744125 PLATFORM(PVC)
-1509372804 PLATFORM(PVC), GRAPHICS_STEP(A0, C0)
-1409600907 GRAPHICS_VERSION_RANGE(1200, 1250)
-14016763929 SUBPLATFORM(DG2, G10)
- SUBPLATFORM(DG2, G12)
-16017236439 PLATFORM(PVC)
-22010954014 PLATFORM(DG2)
-14019821291 MEDIA_VERSION_RANGE(1300, 2000)
-14015076503 MEDIA_VERSION(1300)
-16020292621 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
-14018913170 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
- MEDIA_VERSION(2000), GRAPHICS_STEP(A0, A1)
- GRAPHICS_VERSION_RANGE(1270, 1274)
- MEDIA_VERSION(1300)
- PLATFORM(DG2)
-14018094691 GRAPHICS_VERSION(2004)
-14019882105 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
-18024947630 GRAPHICS_VERSION(2001)
- GRAPHICS_VERSION(2004)
- MEDIA_VERSION(2000)
-16022287689 GRAPHICS_VERSION(2001)
- GRAPHICS_VERSION(2004)
-13011645652 GRAPHICS_VERSION(2004)
-22019338487 MEDIA_VERSION(2000)
- GRAPHICS_VERSION(2001)
-22019338487_display PLATFORM(LUNARLAKE)
-16023588340 GRAPHICS_VERSION(2001)
diff --git a/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/preimage b/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/preimage
deleted file mode 100644
index 2220ba23748c..000000000000
--- a/rr-cache/0cfe2eed46f73c4fbe7135d2e861faa120e53c0e/preimage
+++ /dev/null
@@ -1,36 +0,0 @@
-22012773006 GRAPHICS_VERSION_RANGE(1200, 1250)
-14014475959 GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)
- PLATFORM(DG2)
-22011391025 PLATFORM(DG2)
-22012727170 SUBPLATFORM(DG2, G11)
-22012727685 SUBPLATFORM(DG2, G11)
-18020744125 PLATFORM(PVC)
-1509372804 PLATFORM(PVC), GRAPHICS_STEP(A0, C0)
-1409600907 GRAPHICS_VERSION_RANGE(1200, 1250)
-14016763929 SUBPLATFORM(DG2, G10)
- SUBPLATFORM(DG2, G12)
-16017236439 PLATFORM(PVC)
-22010954014 PLATFORM(DG2)
-14019821291 MEDIA_VERSION_RANGE(1300, 2000)
-14015076503 MEDIA_VERSION(1300)
-16020292621 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
-14018913170 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
- MEDIA_VERSION(2000), GRAPHICS_STEP(A0, A1)
- GRAPHICS_VERSION_RANGE(1270, 1274)
- MEDIA_VERSION(1300)
- PLATFORM(DG2)
-14018094691 GRAPHICS_VERSION(2004)
-14019882105 GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)
-18024947630 GRAPHICS_VERSION(2001)
- GRAPHICS_VERSION(2004)
- MEDIA_VERSION(2000)
-16022287689 GRAPHICS_VERSION(2001)
- GRAPHICS_VERSION(2004)
-13011645652 GRAPHICS_VERSION(2004)
-22019338487 MEDIA_VERSION(2000)
- GRAPHICS_VERSION(2001)
-<<<<<<<
-=======
-22019338487_display PLATFORM(LUNARLAKE)
->>>>>>>
-16023588340 GRAPHICS_VERSION(2001)
diff --git a/rr-cache/1ab34439cb1e3b81c7513b62c0d161208b67130e/preimage.1 b/rr-cache/1ab34439cb1e3b81c7513b62c0d161208b67130e/preimage.1
deleted file mode 100644
index a822b974678a..000000000000
--- a/rr-cache/1ab34439cb1e3b81c7513b62c0d161208b67130e/preimage.1
+++ /dev/null
@@ -1,601 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#ifndef _XE_GT_REGS_H_
-#define _XE_GT_REGS_H_
-
-#include "regs/xe_reg_defs.h"
-
-/*
- * The GSI register range [0x0 - 0x40000) is replicated at a higher offset
- * for the media GT. xe_mmio and xe_gt_mcr functions will automatically
- * translate offsets by MEDIA_GT_GSI_OFFSET when operating on the media GT.
- */
-#define MEDIA_GT_GSI_OFFSET 0x380000
-#define MEDIA_GT_GSI_LENGTH 0x40000
-
-/* MTL workpoint reg to get core C state and actual freq of 3D, SAMedia */
-#define MTL_MIRROR_TARGET_WP1 XE_REG(0xc60)
-#define MTL_CAGF_MASK REG_GENMASK(8, 0)
-#define MTL_CC_MASK REG_GENMASK(12, 9)
-
-/* RPM unit config (Gen8+) */
-#define RPM_CONFIG0 XE_REG(0xd00)
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK REG_GENMASK(5, 3)
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_24_MHZ 0
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_19_2_MHZ 1
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_38_4_MHZ 2
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_25_MHZ 3
-#define RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK REG_GENMASK(2, 1)
-
-#define FORCEWAKE_ACK_MEDIA_VDBOX(n) XE_REG(0xd50 + (n) * 4)
-#define FORCEWAKE_ACK_MEDIA_VEBOX(n) XE_REG(0xd70 + (n) * 4)
-#define FORCEWAKE_ACK_RENDER XE_REG(0xd84)
-
-#define GMD_ID XE_REG(0xd8c)
-#define GMD_ID_ARCH_MASK REG_GENMASK(31, 22)
-#define GMD_ID_RELEASE_MASK REG_GENMASK(21, 14)
-#define GMD_ID_REVID REG_GENMASK(5, 0)
-
-#define FORCEWAKE_ACK_GSC XE_REG(0xdf8)
-#define FORCEWAKE_ACK_GT_MTL XE_REG(0xdfc)
-
-#define MCFG_MCR_SELECTOR XE_REG(0xfd0)
-#define MTL_MCR_SELECTOR XE_REG(0xfd4)
-#define SF_MCR_SELECTOR XE_REG(0xfd8)
-#define MCR_SELECTOR XE_REG(0xfdc)
-#define GAM_MCR_SELECTOR XE_REG(0xfe0)
-#define MCR_MULTICAST REG_BIT(31)
-#define MCR_SLICE_MASK REG_GENMASK(30, 27)
-#define MCR_SLICE(slice) REG_FIELD_PREP(MCR_SLICE_MASK, slice)
-#define MCR_SUBSLICE_MASK REG_GENMASK(26, 24)
-#define MCR_SUBSLICE(subslice) REG_FIELD_PREP(MCR_SUBSLICE_MASK, subslice)
-#define MTL_MCR_GROUPID REG_GENMASK(11, 8)
-#define MTL_MCR_INSTANCEID REG_GENMASK(3, 0)
-
-#define PS_INVOCATION_COUNT XE_REG(0x2348)
-
-#define XELP_GLOBAL_MOCS(i) XE_REG(0x4000 + (i) * 4)
-#define XEHP_GLOBAL_MOCS(i) XE_REG_MCR(0x4000 + (i) * 4)
-#define LE_SSE_MASK REG_GENMASK(18, 17)
-#define LE_SSE(value) REG_FIELD_PREP(LE_SSE_MASK, value)
-#define LE_COS_MASK REG_GENMASK(16, 15)
-#define LE_COS(value) REG_FIELD_PREP(LE_COS_MASK)
-#define LE_SCF_MASK REG_BIT(14)
-#define LE_SCF(value) REG_FIELD_PREP(LE_SCF_MASK, value)
-#define LE_PFM_MASK REG_GENMASK(13, 11)
-#define LE_PFM(value) REG_FIELD_PREP(LE_PFM_MASK, value)
-#define LE_SCC_MASK REG_GENMASK(10, 8)
-#define LE_SCC(value) REG_FIELD_PREP(LE_SCC_MASK, value)
-#define LE_RSC_MASK REG_BIT(7)
-#define LE_RSC(value) REG_FIELD_PREP(LE_RSC_MASK, value)
-#define LE_AOM_MASK REG_BIT(6)
-#define LE_AOM(value) REG_FIELD_PREP(LE_AOM_MASK, value)
-#define LE_LRUM_MASK REG_GENMASK(5, 4)
-#define LE_LRUM(value) REG_FIELD_PREP(LE_LRUM_MASK, value)
-#define LE_TGT_CACHE_MASK REG_GENMASK(3, 2)
-#define LE_TGT_CACHE(value) REG_FIELD_PREP(LE_TGT_CACHE_MASK, value)
-#define LE_CACHEABILITY_MASK REG_GENMASK(1, 0)
-#define LE_CACHEABILITY(value) REG_FIELD_PREP(LE_CACHEABILITY_MASK, value)
-
-<<<<<<<
-#define STATELESS_COMPRESSION_CTRL XE_REG(0x4148)
-#define UNIFIED_COMPRESSION_FORMAT REG_GENMASK(3, 0)
-
-#define XE2_GAMREQSTRM_CTRL XE_REG_MCR(0x4194)
-=======
-#define XE2_GAMREQSTRM_CTRL XE_REG(0x4194)
->>>>>>>
-#define CG_DIS_CNTLBUS REG_BIT(6)
-
-#define CCS_AUX_INV XE_REG(0x4208)
-
-#define VD0_AUX_INV XE_REG(0x4218)
-#define VE0_AUX_INV XE_REG(0x4238)
-
-#define VE1_AUX_INV XE_REG(0x42b8)
-#define AUX_INV REG_BIT(0)
-
-#define XEHP_TILE_ADDR_RANGE(_idx) XE_REG_MCR(0x4900 + (_idx) * 4)
-#define XEHP_FLAT_CCS_BASE_ADDR XE_REG_MCR(0x4910)
-#define XEHP_FLAT_CCS_PTR REG_GENMASK(31, 8)
-
-#define WM_CHICKEN3 XE_REG_MCR(0x5588, XE_REG_OPTION_MASKED)
-#define HIZ_PLANE_COMPRESSION_DIS REG_BIT(10)
-
-#define CHICKEN_RASTER_1 XE_REG_MCR(0x6204, XE_REG_OPTION_MASKED)
-#define DIS_SF_ROUND_NEAREST_EVEN REG_BIT(8)
-
-#define CHICKEN_RASTER_2 XE_REG_MCR(0x6208, XE_REG_OPTION_MASKED)
-#define TBIMR_FAST_CLIP REG_BIT(5)
-
-#define FF_MODE XE_REG_MCR(0x6210)
-#define DIS_TE_AUTOSTRIP REG_BIT(31)
-#define DIS_MESH_PARTIAL_AUTOSTRIP REG_BIT(16)
-#define DIS_MESH_AUTOSTRIP REG_BIT(15)
-
-#define VFLSKPD XE_REG_MCR(0x62a8, XE_REG_OPTION_MASKED)
-#define DIS_PARTIAL_AUTOSTRIP REG_BIT(9)
-#define DIS_AUTOSTRIP REG_BIT(6)
-#define DIS_OVER_FETCH_CACHE REG_BIT(1)
-#define DIS_MULT_MISS_RD_SQUASH REG_BIT(0)
-
-#define FF_MODE2 XE_REG(0x6604)
-#define XEHP_FF_MODE2 XE_REG_MCR(0x6604)
-#define FF_MODE2_GS_TIMER_MASK REG_GENMASK(31, 24)
-#define FF_MODE2_GS_TIMER_224 REG_FIELD_PREP(FF_MODE2_GS_TIMER_MASK, 224)
-#define FF_MODE2_TDS_TIMER_MASK REG_GENMASK(23, 16)
-#define FF_MODE2_TDS_TIMER_128 REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4)
-
-#define XEHPG_INSTDONE_GEOM_SVGUNIT XE_REG_MCR(0x666c)
-
-#define CACHE_MODE_1 XE_REG(0x7004, XE_REG_OPTION_MASKED)
-#define MSAA_OPTIMIZATION_REDUC_DISABLE REG_BIT(11)
-
-#define COMMON_SLICE_CHICKEN1 XE_REG(0x7010, XE_REG_OPTION_MASKED)
-#define DISABLE_BOTTOM_CLIP_RECTANGLE_TEST REG_BIT(14)
-
-#define HIZ_CHICKEN XE_REG(0x7018, XE_REG_OPTION_MASKED)
-#define DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE REG_BIT(14)
-#define HZ_DEPTH_TEST_LE_GE_OPT_DISABLE REG_BIT(13)
-
-#define XEHP_PSS_MODE2 XE_REG_MCR(0x703c, XE_REG_OPTION_MASKED)
-#define SCOREBOARD_STALL_FLUSH_CONTROL REG_BIT(5)
-
-#define XEHP_PSS_CHICKEN XE_REG_MCR(0x7044, XE_REG_OPTION_MASKED)
-#define FLSH_IGNORES_PSD REG_BIT(10)
-#define FD_END_COLLECT REG_BIT(5)
-
-#define SC_INSTDONE XE_REG(0x7100)
-#define SC_INSTDONE_EXTRA XE_REG(0x7104)
-#define SC_INSTDONE_EXTRA2 XE_REG(0x7108)
-
-#define XEHPG_SC_INSTDONE XE_REG_MCR(0x7100)
-#define XEHPG_SC_INSTDONE_EXTRA XE_REG_MCR(0x7104)
-#define XEHPG_SC_INSTDONE_EXTRA2 XE_REG_MCR(0x7108)
-
-#define COMMON_SLICE_CHICKEN4 XE_REG(0x7300, XE_REG_OPTION_MASKED)
-#define DISABLE_TDC_LOAD_BALANCING_CALC REG_BIT(6)
-
-#define COMMON_SLICE_CHICKEN3 XE_REG(0x7304, XE_REG_OPTION_MASKED)
-#define XEHP_COMMON_SLICE_CHICKEN3 XE_REG_MCR(0x7304, XE_REG_OPTION_MASKED)
-#define DG1_FLOAT_POINT_BLEND_OPT_STRICT_MODE_EN REG_BIT(12)
-#define XEHP_DUAL_SIMD8_SEQ_MERGE_DISABLE REG_BIT(12)
-#define BLEND_EMB_FIX_DISABLE_IN_RCC REG_BIT(11)
-#define DISABLE_CPS_AWARE_COLOR_PIPE REG_BIT(9)
-
-#define XEHP_SLICE_COMMON_ECO_CHICKEN1 XE_REG_MCR(0x731c, XE_REG_OPTION_MASKED)
-#define MSC_MSAA_REODER_BUF_BYPASS_DISABLE REG_BIT(14)
-
-#define VF_PREEMPTION XE_REG(0x83a4, XE_REG_OPTION_MASKED)
-#define PREEMPTION_VERTEX_COUNT REG_GENMASK(15, 0)
-
-#define VF_SCRATCHPAD XE_REG(0x83a8, XE_REG_OPTION_MASKED)
-#define XE2_VFG_TED_CREDIT_INTERFACE_DISABLE REG_BIT(13)
-
-#define VFG_PREEMPTION_CHICKEN XE_REG(0x83b4, XE_REG_OPTION_MASKED)
-#define POLYGON_TRIFAN_LINELOOP_DISABLE REG_BIT(4)
-
-#define SQCNT1 XE_REG_MCR(0x8718)
-#define XELPMP_SQCNT1 XE_REG(0x8718)
-#define SQCNT1_PMON_ENABLE REG_BIT(30)
-#define SQCNT1_OABPC REG_BIT(29)
-#define ENFORCE_RAR REG_BIT(23)
-
-#define XEHP_SQCM XE_REG_MCR(0x8724)
-#define EN_32B_ACCESS REG_BIT(30)
-
-#define XE2_FLAT_CCS_BASE_RANGE_LOWER XE_REG_MCR(0x8800)
-#define XE2_FLAT_CCS_ENABLE REG_BIT(0)
-#define XE2_FLAT_CCS_BASE_LOWER_ADDR_MASK REG_GENMASK(31, 6)
-
-#define XE2_FLAT_CCS_BASE_RANGE_UPPER XE_REG_MCR(0x8804)
-#define XE2_FLAT_CCS_BASE_UPPER_ADDR_MASK REG_GENMASK(7, 0)
-
-#define GSCPSMI_BASE XE_REG(0x880c)
-
-#define CCCHKNREG1 XE_REG_MCR(0x8828)
-#define ENCOMPPERFFIX REG_BIT(18)
-
-/* Fuse readout registers for GT */
-#define XEHP_FUSE4 XE_REG(0x9114)
-#define CFEG_WMTP_DISABLE REG_BIT(20)
-#define CCS_EN_MASK REG_GENMASK(19, 16)
-#define GT_L3_EXC_MASK REG_GENMASK(6, 4)
-
-#define MIRROR_FUSE3 XE_REG(0x9118)
-#define XE2_NODE_ENABLE_MASK REG_GENMASK(31, 16)
-#define L3BANK_PAIR_COUNT 4
-#define XEHPC_GT_L3_MODE_MASK REG_GENMASK(7, 4)
-#define XE2_GT_L3_MODE_MASK REG_GENMASK(7, 4)
-#define L3BANK_MASK REG_GENMASK(3, 0)
-#define XELP_GT_L3_MODE_MASK REG_GENMASK(7, 0)
-/* on Xe_HP the same fuses indicates mslices instead of L3 banks */
-#define MAX_MSLICES 4
-#define MEML3_EN_MASK REG_GENMASK(3, 0)
-
-#define MIRROR_FUSE1 XE_REG(0x911c)
-
-#define XELP_EU_ENABLE XE_REG(0x9134) /* "_DISABLE" on Xe_LP */
-#define XELP_EU_MASK REG_GENMASK(7, 0)
-#define XELP_GT_SLICE_ENABLE XE_REG(0x9138)
-#define XELP_GT_GEOMETRY_DSS_ENABLE XE_REG(0x913c)
-
-#define GT_VEBOX_VDBOX_DISABLE XE_REG(0x9140)
-#define GT_VEBOX_DISABLE_MASK REG_GENMASK(19, 16)
-#define GT_VDBOX_DISABLE_MASK REG_GENMASK(7, 0)
-
-#define XEHP_GT_COMPUTE_DSS_ENABLE XE_REG(0x9144)
-#define XEHPC_GT_COMPUTE_DSS_ENABLE_EXT XE_REG(0x9148)
-#define XE2_GT_COMPUTE_DSS_2 XE_REG(0x914c)
-#define XE2_GT_GEOMETRY_DSS_1 XE_REG(0x9150)
-#define XE2_GT_GEOMETRY_DSS_2 XE_REG(0x9154)
-
-#define GDRST XE_REG(0x941c)
-#define GRDOM_GUC REG_BIT(3)
-#define GRDOM_FULL REG_BIT(0)
-
-#define MISCCPCTL XE_REG(0x9424)
-#define DOP_CLOCK_GATE_RENDER_ENABLE REG_BIT(1)
-
-#define UNSLCGCTL9430 XE_REG(0x9430)
-#define MSQDUNIT_CLKGATE_DIS REG_BIT(3)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE XE_REG(0x9434)
-#define VFUNIT_CLKGATE_DIS REG_BIT(20)
-#define TSGUNIT_CLKGATE_DIS REG_BIT(17) /* XEHPSDV */
-#define CG3DDISCFEG_CLKGATE_DIS REG_BIT(17) /* DG2 */
-#define GAMEDIA_CLKGATE_DIS REG_BIT(11)
-#define HSUNIT_CLKGATE_DIS REG_BIT(8)
-#define VSUNIT_CLKGATE_DIS REG_BIT(3)
-
-#define UNSLCGCTL9440 XE_REG(0x9440)
-#define GAMTLBOACS_CLKGATE_DIS REG_BIT(28)
-#define GAMTLBVDBOX5_CLKGATE_DIS REG_BIT(27)
-#define GAMTLBVDBOX6_CLKGATE_DIS REG_BIT(26)
-#define GAMTLBVDBOX3_CLKGATE_DIS REG_BIT(24)
-#define GAMTLBVDBOX4_CLKGATE_DIS REG_BIT(23)
-#define GAMTLBVDBOX7_CLKGATE_DIS REG_BIT(22)
-#define GAMTLBVDBOX2_CLKGATE_DIS REG_BIT(21)
-#define GAMTLBVDBOX0_CLKGATE_DIS REG_BIT(17)
-#define GAMTLBKCR_CLKGATE_DIS REG_BIT(16)
-#define GAMTLBGUC_CLKGATE_DIS REG_BIT(15)
-#define GAMTLBBLT_CLKGATE_DIS REG_BIT(14)
-#define GAMTLBVDBOX1_CLKGATE_DIS REG_BIT(6)
-
-#define UNSLCGCTL9444 XE_REG(0x9444)
-#define GAMTLBGFXA0_CLKGATE_DIS REG_BIT(30)
-#define GAMTLBGFXA1_CLKGATE_DIS REG_BIT(29)
-#define GAMTLBCOMPA0_CLKGATE_DIS REG_BIT(28)
-#define GAMTLBCOMPA1_CLKGATE_DIS REG_BIT(27)
-#define GAMTLBCOMPB0_CLKGATE_DIS REG_BIT(26)
-#define GAMTLBCOMPB1_CLKGATE_DIS REG_BIT(25)
-#define GAMTLBCOMPC0_CLKGATE_DIS REG_BIT(24)
-#define GAMTLBCOMPC1_CLKGATE_DIS REG_BIT(23)
-#define GAMTLBCOMPD0_CLKGATE_DIS REG_BIT(22)
-#define GAMTLBCOMPD1_CLKGATE_DIS REG_BIT(21)
-#define GAMTLBMERT_CLKGATE_DIS REG_BIT(20)
-#define GAMTLBVEBOX3_CLKGATE_DIS REG_BIT(19)
-#define GAMTLBVEBOX2_CLKGATE_DIS REG_BIT(18)
-#define GAMTLBVEBOX1_CLKGATE_DIS REG_BIT(17)
-#define GAMTLBVEBOX0_CLKGATE_DIS REG_BIT(16)
-#define LTCDD_CLKGATE_DIS REG_BIT(10)
-
-#define XEHP_SLICE_UNIT_LEVEL_CLKGATE XE_REG_MCR(0x94d4)
-#define L3_CR2X_CLKGATE_DIS REG_BIT(17)
-#define L3_CLKGATE_DIS REG_BIT(16)
-#define NODEDSS_CLKGATE_DIS REG_BIT(12)
-#define MSCUNIT_CLKGATE_DIS REG_BIT(10)
-#define RCCUNIT_CLKGATE_DIS REG_BIT(7)
-#define SARBUNIT_CLKGATE_DIS REG_BIT(5)
-#define SBEUNIT_CLKGATE_DIS REG_BIT(4)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE2 XE_REG(0x94e4)
-#define VSUNIT_CLKGATE2_DIS REG_BIT(19)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE XE_REG_MCR(0x9524)
-#define DSS_ROUTER_CLKGATE_DIS REG_BIT(28)
-#define GWUNIT_CLKGATE_DIS REG_BIT(16)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE2 XE_REG_MCR(0x9528)
-#define CPSSUNIT_CLKGATE_DIS REG_BIT(9)
-
-#define SSMCGCTL9530 XE_REG_MCR(0x9530)
-#define RTFUNIT_CLKGATE_DIS REG_BIT(18)
-
-#define DFR_RATIO_EN_AND_CHICKEN XE_REG_MCR(0x9550)
-#define DFR_DISABLE REG_BIT(9)
-
-#define RPNSWREQ XE_REG(0xa008)
-#define REQ_RATIO_MASK REG_GENMASK(31, 23)
-
-#define RP_CONTROL XE_REG(0xa024)
-#define RPSWCTL_MASK REG_GENMASK(10, 9)
-#define RPSWCTL_ENABLE REG_FIELD_PREP(RPSWCTL_MASK, 2)
-#define RPSWCTL_DISABLE REG_FIELD_PREP(RPSWCTL_MASK, 0)
-#define RC_CONTROL XE_REG(0xa090)
-#define RC_CTL_HW_ENABLE REG_BIT(31)
-#define RC_CTL_TO_MODE REG_BIT(28)
-#define RC_CTL_RC6_ENABLE REG_BIT(18)
-#define RC_STATE XE_REG(0xa094)
-#define RC_IDLE_HYSTERSIS XE_REG(0xa0ac)
-#define MEDIA_POWERGATE_IDLE_HYSTERESIS XE_REG(0xa0c4)
-#define RENDER_POWERGATE_IDLE_HYSTERESIS XE_REG(0xa0c8)
-
-#define PMINTRMSK XE_REG(0xa168)
-#define PMINTR_DISABLE_REDIRECT_TO_GUC REG_BIT(31)
-#define ARAT_EXPIRED_INTRMSK REG_BIT(9)
-
-#define FORCEWAKE_GT XE_REG(0xa188)
-
-#define POWERGATE_ENABLE XE_REG(0xa210)
-#define RENDER_POWERGATE_ENABLE REG_BIT(0)
-#define MEDIA_POWERGATE_ENABLE REG_BIT(1)
-#define VDN_HCP_POWERGATE_ENABLE(n) REG_BIT(3 + 2 * (n))
-#define VDN_MFXVDENC_POWERGATE_ENABLE(n) REG_BIT(4 + 2 * (n))
-
-#define CTC_MODE XE_REG(0xa26c)
-#define CTC_SHIFT_PARAMETER_MASK REG_GENMASK(2, 1)
-#define CTC_SOURCE_DIVIDE_LOGIC REG_BIT(0)
-
-#define FORCEWAKE_RENDER XE_REG(0xa278)
-#define FORCEWAKE_MEDIA_VDBOX(n) XE_REG(0xa540 + (n) * 4)
-#define FORCEWAKE_MEDIA_VEBOX(n) XE_REG(0xa560 + (n) * 4)
-#define FORCEWAKE_GSC XE_REG(0xa618)
-
-#define XEHPC_LNCFMISCCFGREG0 XE_REG_MCR(0xb01c, XE_REG_OPTION_MASKED)
-#define XEHPC_OVRLSCCC REG_BIT(0)
-
-/* L3 Cache Control */
-#define LNCFCMOCS_REG_COUNT 32
-#define XELP_LNCFCMOCS(i) XE_REG(0xb020 + (i) * 4)
-#define XEHP_LNCFCMOCS(i) XE_REG_MCR(0xb020 + (i) * 4)
-#define L3_UPPER_LKUP_MASK REG_BIT(23)
-#define L3_UPPER_GLBGO_MASK REG_BIT(22)
-#define L3_UPPER_IDX_CACHEABILITY_MASK REG_GENMASK(21, 20)
-#define L3_UPPER_IDX_SCC_MASK REG_GENMASK(19, 17)
-#define L3_UPPER_IDX_ESC_MASK REG_BIT(16)
-#define L3_LKUP_MASK REG_BIT(7)
-#define L3_LKUP(value) REG_FIELD_PREP(L3_LKUP_MASK, value)
-#define L3_GLBGO_MASK REG_BIT(6)
-#define L3_GLBGO(value) REG_FIELD_PREP(L3_GLBGO_MASK, value)
-#define L3_CACHEABILITY_MASK REG_GENMASK(5, 4)
-#define L3_CACHEABILITY(value) REG_FIELD_PREP(L3_CACHEABILITY_MASK, value)
-#define L3_SCC_MASK REG_GENMASK(3, 1)
-#define L3_SCC(value) REG_FIELD_PREP(L3_SCC_MASK, value)
-#define L3_ESC_MASK REG_BIT(0)
-#define L3_ESC(value) REG_FIELD_PREP(L3_ESC_MASK, value)
-
-#define XEHP_L3NODEARBCFG XE_REG_MCR(0xb0b4)
-#define XEHP_LNESPARE REG_BIT(19)
-
-#define L3SQCREG3 XE_REG_MCR(0xb108)
-#define COMPPWOVERFETCHEN REG_BIT(28)
-
-#define XEHP_L3SQCREG5 XE_REG_MCR(0xb158)
-#define L3_PWM_TIMER_INIT_VAL_MASK REG_GENMASK(9, 0)
-
-#define XEHP_L3SCQREG7 XE_REG_MCR(0xb188)
-#define BLEND_FILL_CACHING_OPT_DIS REG_BIT(3)
-
-#define XEHPC_L3CLOS_MASK(i) XE_REG_MCR(0xb194 + (i) * 8)
-
-#define XE2_GLOBAL_INVAL XE_REG(0xb404)
-
-#define SCRATCH1LPFC XE_REG(0xb474)
-#define EN_L3_RW_CCS_CACHE_FLUSH REG_BIT(0)
-
-#define XE2LPM_L3SQCREG5 XE_REG_MCR(0xb658)
-
-#define XE2_TDF_CTRL XE_REG(0xb418)
-#define TRANSIENT_FLUSH_REQUEST REG_BIT(0)
-
-#define XEHP_MERT_MOD_CTRL XE_REG_MCR(0xcf28)
-#define RENDER_MOD_CTRL XE_REG_MCR(0xcf2c)
-#define COMP_MOD_CTRL XE_REG_MCR(0xcf30)
-#define XEHP_VDBX_MOD_CTRL XE_REG_MCR(0xcf34)
-#define XELPMP_VDBX_MOD_CTRL XE_REG(0xcf34)
-#define XEHP_VEBX_MOD_CTRL XE_REG_MCR(0xcf38)
-#define XELPMP_VEBX_MOD_CTRL XE_REG(0xcf38)
-#define FORCE_MISS_FTLB REG_BIT(3)
-
-#define XEHP_GAMSTLB_CTRL XE_REG_MCR(0xcf4c)
-#define CONTROL_BLOCK_CLKGATE_DIS REG_BIT(12)
-#define EGRESS_BLOCK_CLKGATE_DIS REG_BIT(11)
-#define TAG_BLOCK_CLKGATE_DIS REG_BIT(7)
-
-#define XEHP_GAMCNTRL_CTRL XE_REG_MCR(0xcf54)
-#define INVALIDATION_BROADCAST_MODE_DIS REG_BIT(12)
-#define GLOBAL_INVALIDATION_MODE REG_BIT(2)
-
-#define HALF_SLICE_CHICKEN5 XE_REG_MCR(0xe188, XE_REG_OPTION_MASKED)
-#define DISABLE_SAMPLE_G_PERFORMANCE REG_BIT(0)
-
-#define SAMPLER_INSTDONE XE_REG_MCR(0xe160)
-#define ROW_INSTDONE XE_REG_MCR(0xe164)
-
-#define SAMPLER_MODE XE_REG_MCR(0xe18c, XE_REG_OPTION_MASKED)
-#define ENABLE_SMALLPL REG_BIT(15)
-#define SC_DISABLE_POWER_OPTIMIZATION_EBB REG_BIT(9)
-#define SAMPLER_ENABLE_HEADLESS_MSG REG_BIT(5)
-#define INDIRECT_STATE_BASE_ADDR_OVERRIDE REG_BIT(0)
-
-#define HALF_SLICE_CHICKEN7 XE_REG_MCR(0xe194, XE_REG_OPTION_MASKED)
-#define DG2_DISABLE_ROUND_ENABLE_ALLOW_FOR_SSLA REG_BIT(15)
-#define CLEAR_OPTIMIZATION_DISABLE REG_BIT(6)
-
-#define CACHE_MODE_SS XE_REG_MCR(0xe420, XE_REG_OPTION_MASKED)
-#define DISABLE_ECC REG_BIT(5)
-#define ENABLE_PREFETCH_INTO_IC REG_BIT(3)
-
-#define ROW_CHICKEN4 XE_REG_MCR(0xe48c, XE_REG_OPTION_MASKED)
-#define DISABLE_GRF_CLEAR REG_BIT(13)
-#define XEHP_DIS_BBL_SYSPIPE REG_BIT(11)
-#define DISABLE_TDL_PUSH REG_BIT(9)
-#define DIS_PICK_2ND_EU REG_BIT(7)
-#define DISABLE_HDR_PAST_PAYLOAD_HOLD_FIX REG_BIT(4)
-#define THREAD_EX_ARB_MODE REG_GENMASK(3, 2)
-#define THREAD_EX_ARB_MODE_RR_AFTER_DEP REG_FIELD_PREP(THREAD_EX_ARB_MODE, 0x2)
-
-#define ROW_CHICKEN3 XE_REG_MCR(0xe49c, XE_REG_OPTION_MASKED)
-#define XE2_EUPEND_CHK_FLUSH_DIS REG_BIT(14)
-#define DIS_FIX_EOT1_FLUSH REG_BIT(9)
-
-#define TDL_TSL_CHICKEN XE_REG_MCR(0xe4c4, XE_REG_OPTION_MASKED)
-#define STK_ID_RESTRICT REG_BIT(12)
-#define SLM_WMTP_RESTORE REG_BIT(11)
-
-#define ROW_CHICKEN XE_REG_MCR(0xe4f0, XE_REG_OPTION_MASKED)
-#define UGM_BACKUP_MODE REG_BIT(13)
-#define MDQ_ARBITRATION_MODE REG_BIT(12)
-#define STALL_DOP_GATING_DISABLE REG_BIT(5)
-#define EARLY_EOT_DIS REG_BIT(1)
-
-#define ROW_CHICKEN2 XE_REG_MCR(0xe4f4, XE_REG_OPTION_MASKED)
-#define DISABLE_READ_SUPPRESSION REG_BIT(15)
-#define DISABLE_EARLY_READ REG_BIT(14)
-#define ENABLE_LARGE_GRF_MODE REG_BIT(12)
-#define PUSH_CONST_DEREF_HOLD_DIS REG_BIT(8)
-#define DISABLE_TDL_SVHS_GATING REG_BIT(1)
-#define DISABLE_DOP_GATING REG_BIT(0)
-
-#define RT_CTRL XE_REG_MCR(0xe530)
-#define DIS_NULL_QUERY REG_BIT(10)
-
-#define EU_SYSTOLIC_LIC_THROTTLE_CTL_WITH_LOCK XE_REG_MCR(0xe534)
-#define EU_SYSTOLIC_LIC_THROTTLE_CTL_LOCK_BIT REG_BIT(31)
-
-#define XEHP_HDC_CHICKEN0 XE_REG_MCR(0xe5f0, XE_REG_OPTION_MASKED)
-#define LSC_L1_FLUSH_CTL_3D_DATAPORT_FLUSH_EVENTS_MASK REG_GENMASK(13, 11)
-#define DIS_ATOMIC_CHAINING_TYPED_WRITES REG_BIT(3)
-
-#define LSC_CHICKEN_BIT_0 XE_REG_MCR(0xe7c8)
-#define DISABLE_D8_D16_COASLESCE REG_BIT(30)
-#define WR_REQ_CHAINING_DIS REG_BIT(26)
-#define TGM_WRITE_EOM_FORCE REG_BIT(17)
-#define FORCE_1_SUB_MESSAGE_PER_FRAGMENT REG_BIT(15)
-#define SEQUENTIAL_ACCESS_UPGRADE_DISABLE REG_BIT(13)
-
-#define LSC_CHICKEN_BIT_0_UDW XE_REG_MCR(0xe7c8 + 4)
-#define UGM_FRAGMENT_THRESHOLD_TO_3 REG_BIT(58 - 32)
-#define DIS_CHAIN_2XSIMD8 REG_BIT(55 - 32)
-#define XE2_ALLOC_DPA_STARVE_FIX_DIS REG_BIT(47 - 32)
-#define ENABLE_SMP_LD_RENDER_SURFACE_CONTROL REG_BIT(44 - 32)
-#define FORCE_SLM_FENCE_SCOPE_TO_TILE REG_BIT(42 - 32)
-#define FORCE_UGM_FENCE_SCOPE_TO_TILE REG_BIT(41 - 32)
-#define MAXREQS_PER_BANK REG_GENMASK(39 - 32, 37 - 32)
-#define DISABLE_128B_EVICTION_COMMAND_UDW REG_BIT(36 - 32)
-
-#define SARB_CHICKEN1 XE_REG_MCR(0xe90c)
-#define COMP_CKN_IN REG_GENMASK(30, 29)
-
-#define RCU_MODE XE_REG(0x14800, XE_REG_OPTION_MASKED)
-#define RCU_MODE_FIXED_SLICE_CCS_MODE REG_BIT(1)
-#define RCU_MODE_CCS_ENABLE REG_BIT(0)
-
-/*
- * Total of 4 cslices, where each cslice is in the form:
- * [0-3] CCS ID
- * [4-6] RSVD
- * [7] Disabled
- */
-#define CCS_MODE XE_REG(0x14804)
-#define CCS_MODE_CSLICE_0_3_MASK REG_GENMASK(11, 0) /* 3 bits per cslice */
-#define CCS_MODE_CSLICE_MASK 0x7 /* CCS0-3 + rsvd */
-#define CCS_MODE_CSLICE_WIDTH ilog2(CCS_MODE_CSLICE_MASK + 1)
-#define CCS_MODE_CSLICE(cslice, ccs) \
- ((ccs) << ((cslice) * CCS_MODE_CSLICE_WIDTH))
-
-#define FORCEWAKE_ACK_GT XE_REG(0x130044)
-
-/* Applicable for all FORCEWAKE_DOMAIN and FORCEWAKE_ACK_DOMAIN regs */
-#define FORCEWAKE_KERNEL 0
-#define FORCEWAKE_MT(bit) BIT(bit)
-#define FORCEWAKE_MT_MASK(bit) BIT((bit) + 16)
-
-#define MTL_MEDIA_PERF_LIMIT_REASONS XE_REG(0x138030)
-#define MTL_MEDIA_MC6 XE_REG(0x138048)
-
-#define GT_CORE_STATUS XE_REG(0x138060)
-#define RCN_MASK REG_GENMASK(2, 0)
-#define GT_C0 0
-#define GT_C6 3
-
-#define GT_GFX_RC6_LOCKED XE_REG(0x138104)
-#define GT_GFX_RC6 XE_REG(0x138108)
-
-#define GT0_PERF_LIMIT_REASONS XE_REG(0x1381a8)
-#define GT0_PERF_LIMIT_REASONS_MASK 0xde3
-#define PROCHOT_MASK REG_BIT(0)
-#define THERMAL_LIMIT_MASK REG_BIT(1)
-#define RATL_MASK REG_BIT(5)
-#define VR_THERMALERT_MASK REG_BIT(6)
-#define VR_TDC_MASK REG_BIT(7)
-#define POWER_LIMIT_4_MASK REG_BIT(8)
-#define POWER_LIMIT_1_MASK REG_BIT(10)
-#define POWER_LIMIT_2_MASK REG_BIT(11)
-
-#define GT_PERF_STATUS XE_REG(0x1381b4)
-#define VOLTAGE_MASK REG_GENMASK(10, 0)
-
-/*
- * Note: Interrupt registers 1900xx are VF accessible only until version 12.50.
- * On newer platforms, VFs are using memory-based interrupts instead.
- * However, for simplicity we keep this XE_REG_OPTION_VF tag intact.
- */
-
-#define GT_INTR_DW(x) XE_REG(0x190018 + ((x) * 4), XE_REG_OPTION_VF)
-#define INTR_GSC REG_BIT(31)
-#define INTR_GUC REG_BIT(25)
-#define INTR_MGUC REG_BIT(24)
-#define INTR_BCS8 REG_BIT(23)
-#define INTR_BCS(x) REG_BIT(15 - (x))
-#define INTR_CCS(x) REG_BIT(4 + (x))
-#define INTR_RCS0 REG_BIT(0)
-#define INTR_VECS(x) REG_BIT(31 - (x))
-#define INTR_VCS(x) REG_BIT(x)
-
-#define RENDER_COPY_INTR_ENABLE XE_REG(0x190030, XE_REG_OPTION_VF)
-#define VCS_VECS_INTR_ENABLE XE_REG(0x190034, XE_REG_OPTION_VF)
-#define GUC_SG_INTR_ENABLE XE_REG(0x190038, XE_REG_OPTION_VF)
-#define ENGINE1_MASK REG_GENMASK(31, 16)
-#define ENGINE0_MASK REG_GENMASK(15, 0)
-#define GPM_WGBOXPERF_INTR_ENABLE XE_REG(0x19003c, XE_REG_OPTION_VF)
-#define GUNIT_GSC_INTR_ENABLE XE_REG(0x190044, XE_REG_OPTION_VF)
-#define CCS_RSVD_INTR_ENABLE XE_REG(0x190048, XE_REG_OPTION_VF)
-
-#define INTR_IDENTITY_REG(x) XE_REG(0x190060 + ((x) * 4), XE_REG_OPTION_VF)
-#define INTR_DATA_VALID REG_BIT(31)
-#define INTR_ENGINE_INSTANCE(x) REG_FIELD_GET(GENMASK(25, 20), x)
-#define INTR_ENGINE_CLASS(x) REG_FIELD_GET(GENMASK(18, 16), x)
-#define INTR_ENGINE_INTR(x) REG_FIELD_GET(GENMASK(15, 0), x)
-#define OTHER_GUC_INSTANCE 0
-#define OTHER_GSC_HECI2_INSTANCE 3
-#define OTHER_GSC_INSTANCE 6
-
-#define IIR_REG_SELECTOR(x) XE_REG(0x190070 + ((x) * 4), XE_REG_OPTION_VF)
-#define RCS0_RSVD_INTR_MASK XE_REG(0x190090, XE_REG_OPTION_VF)
-#define BCS_RSVD_INTR_MASK XE_REG(0x1900a0, XE_REG_OPTION_VF)
-#define VCS0_VCS1_INTR_MASK XE_REG(0x1900a8, XE_REG_OPTION_VF)
-#define VCS2_VCS3_INTR_MASK XE_REG(0x1900ac, XE_REG_OPTION_VF)
-#define VECS0_VECS1_INTR_MASK XE_REG(0x1900d0, XE_REG_OPTION_VF)
-#define HECI2_RSVD_INTR_MASK XE_REG(0x1900e4)
-#define GUC_SG_INTR_MASK XE_REG(0x1900e8, XE_REG_OPTION_VF)
-#define GPM_WGBOXPERF_INTR_MASK XE_REG(0x1900ec, XE_REG_OPTION_VF)
-#define GUNIT_GSC_INTR_MASK XE_REG(0x1900f4, XE_REG_OPTION_VF)
-#define CCS0_CCS1_INTR_MASK XE_REG(0x190100)
-#define CCS2_CCS3_INTR_MASK XE_REG(0x190104)
-#define XEHPC_BCS1_BCS2_INTR_MASK XE_REG(0x190110)
-#define XEHPC_BCS3_BCS4_INTR_MASK XE_REG(0x190114)
-#define XEHPC_BCS5_BCS6_INTR_MASK XE_REG(0x190118)
-#define XEHPC_BCS7_BCS8_INTR_MASK XE_REG(0x19011c)
-#define GT_WAIT_SEMAPHORE_INTERRUPT REG_BIT(11)
-#define GT_CONTEXT_SWITCH_INTERRUPT REG_BIT(8)
-#define GSC_ER_COMPLETE REG_BIT(5)
-#define GT_RENDER_PIPECTL_NOTIFY_INTERRUPT REG_BIT(4)
-#define GT_CS_MASTER_ERROR_INTERRUPT REG_BIT(3)
-#define GT_RENDER_USER_INTERRUPT REG_BIT(0)
-
-#endif
diff --git a/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/postimage b/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/postimage
deleted file mode 100644
index 1ff9602a52f6..000000000000
--- a/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/postimage
+++ /dev/null
@@ -1,309 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the drm device driver. This driver provides support for the
-# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
-
-# Enable W=1 warnings not enabled in drm subsystem Makefile
-subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
-
-# Enable -Werror in CI and development
-subdir-ccflags-$(CONFIG_DRM_XE_WERROR) += -Werror
-
-subdir-ccflags-y += -I$(obj) -I$(src)
-
-# generated sources
-
-hostprogs := xe_gen_wa_oob
-generated_oob := $(obj)/generated/xe_wa_oob.c $(obj)/generated/xe_wa_oob.h
-quiet_cmd_wa_oob = GEN $(notdir $(generated_oob))
- cmd_wa_oob = mkdir -p $(@D); $^ $(generated_oob)
-$(obj)/generated/%_wa_oob.c $(obj)/generated/%_wa_oob.h: $(obj)/xe_gen_wa_oob \
- $(src)/xe_wa_oob.rules
- $(call cmd,wa_oob)
-
-# Please keep these build lists sorted!
-
-# core driver code
-
-xe-y += xe_bb.o \
- xe_bo.o \
- xe_bo_evict.o \
- xe_debugfs.o \
- xe_devcoredump.o \
- xe_device.o \
- xe_device_sysfs.o \
- xe_dma_buf.o \
- xe_drm_client.o \
- xe_exec.o \
- xe_execlist.o \
- xe_exec_queue.o \
- xe_force_wake.o \
- xe_ggtt.o \
- xe_gpu_scheduler.o \
- xe_gsc.o \
- xe_gsc_proxy.o \
- xe_gsc_submit.o \
- xe_gt.o \
- xe_gt_ccs_mode.o \
- xe_gt_clock.o \
- xe_gt_debugfs.o \
- xe_gt_freq.o \
- xe_gt_idle.o \
- xe_gt_mcr.o \
- xe_gt_pagefault.o \
- xe_gt_sysfs.o \
- xe_gt_throttle.o \
- xe_gt_tlb_invalidation.o \
- xe_gt_topology.o \
- xe_guc.o \
- xe_guc_ads.o \
- xe_guc_ct.o \
- xe_guc_db_mgr.o \
- xe_guc_debugfs.o \
- xe_guc_hwconfig.o \
- xe_guc_id_mgr.o \
- xe_guc_klv_helpers.o \
- xe_guc_log.o \
- xe_guc_pc.o \
- xe_guc_submit.o \
- xe_heci_gsc.o \
- xe_hw_engine.o \
- xe_hw_engine_class_sysfs.o \
- xe_hw_fence.o \
- xe_huc.o \
- xe_huc_debugfs.o \
- xe_irq.o \
- xe_lrc.o \
- xe_migrate.o \
- xe_mmio.o \
- xe_mocs.o \
- xe_module.o \
- xe_oa.o \
- xe_observation.o \
- xe_pat.o \
- xe_pci.o \
- xe_pcode.o \
- xe_pm.o \
- xe_preempt_fence.o \
- xe_pt.o \
- xe_pt_walk.o \
- xe_query.o \
- xe_range_fence.o \
- xe_reg_sr.o \
- xe_reg_whitelist.o \
- xe_rtp.o \
- xe_ring_ops.o \
- xe_sa.o \
- xe_sched_job.o \
- xe_step.o \
- xe_sync.o \
- xe_tile.o \
- xe_tile_sysfs.o \
- xe_trace.o \
- xe_trace_bo.o \
- xe_trace_guc.o \
- xe_ttm_sys_mgr.o \
- xe_ttm_stolen_mgr.o \
- xe_ttm_vram_mgr.o \
- xe_tuning.o \
- xe_uc.o \
- xe_uc_debugfs.o \
- xe_uc_fw.o \
- xe_vm.o \
- xe_vram.o \
- xe_vram_freq.o \
- xe_wait_user_fence.o \
- xe_wa.o \
- xe_wopcm.o
-
-xe-$(CONFIG_HMM_MIRROR) += xe_hmm.o
-
-# graphics hardware monitoring (HWMON) support
-xe-$(CONFIG_HWMON) += xe_hwmon.o
-
-# graphics virtualization (SR-IOV) support
-xe-y += \
- xe_gt_sriov_vf.o \
- xe_gt_sriov_vf_debugfs.o \
- xe_guc_relay.o \
- xe_memirq.o \
- xe_sriov.o
-
-xe-$(CONFIG_PCI_IOV) += \
- xe_gt_sriov_pf.o \
- xe_gt_sriov_pf_config.o \
- xe_gt_sriov_pf_control.o \
- xe_gt_sriov_pf_debugfs.o \
- xe_gt_sriov_pf_monitor.o \
- xe_gt_sriov_pf_policy.o \
- xe_gt_sriov_pf_service.o \
- xe_lmtt.o \
- xe_lmtt_2l.o \
- xe_lmtt_ml.o \
- xe_pci_sriov.o \
- xe_sriov_pf.o
-
-# include helpers for tests even when XE is built-in
-ifdef CONFIG_DRM_XE_KUNIT_TEST
-xe-y += tests/xe_kunit_helpers.o
-endif
-
-# i915 Display compat #defines and #includes
-subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
- -I$(src)/display/ext \
- -I$(src)/compat-i915-headers \
- -I$(srctree)/drivers/gpu/drm/i915/display/ \
- -Ddrm_i915_gem_object=xe_bo \
- -Ddrm_i915_private=xe_device
-
-# Rule to build SOC code shared with i915
-$(obj)/i915-soc/%.o: $(srctree)/drivers/gpu/drm/i915/soc/%.c FORCE
- $(call cmd,force_checksrc)
- $(call if_changed_rule,cc_o_c)
-
-# Rule to build display code shared with i915
-$(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
- $(call cmd,force_checksrc)
- $(call if_changed_rule,cc_o_c)
-
-# Display code specific to xe
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- display/ext/i915_irq.o \
- display/ext/i915_utils.o \
- display/intel_fb_bo.o \
- display/intel_fbdev_fb.o \
- display/xe_display.o \
- display/xe_display_misc.o \
- display/xe_display_rps.o \
- display/xe_display_wa.o \
- display/xe_dsb_buffer.o \
- display/xe_fb_pin.o \
- display/xe_hdcp_gsc.o \
- display/xe_plane_initial.o \
- display/xe_tdf.o
-
-# SOC code shared with i915
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-soc/intel_dram.o \
- i915-soc/intel_pch.o
-
-# Display code shared with i915
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/icl_dsi.o \
- i915-display/intel_alpm.o \
- i915-display/intel_atomic.o \
- i915-display/intel_atomic_plane.o \
- i915-display/intel_audio.o \
- i915-display/intel_backlight.o \
- i915-display/intel_bios.o \
- i915-display/intel_bw.o \
- i915-display/intel_cdclk.o \
- i915-display/intel_color.o \
- i915-display/intel_combo_phy.o \
- i915-display/intel_connector.o \
- i915-display/intel_crtc.o \
- i915-display/intel_crtc_state_dump.o \
- i915-display/intel_cursor.o \
- i915-display/intel_cx0_phy.o \
- i915-display/intel_ddi.o \
- i915-display/intel_ddi_buf_trans.o \
- i915-display/intel_display.o \
- i915-display/intel_display_device.o \
- i915-display/intel_display_driver.o \
- i915-display/intel_display_irq.o \
- i915-display/intel_display_params.o \
- i915-display/intel_display_power.o \
- i915-display/intel_display_power_map.o \
- i915-display/intel_display_power_well.o \
- i915-display/intel_display_trace.o \
- i915-display/intel_display_wa.o \
- i915-display/intel_dkl_phy.o \
- i915-display/intel_dmc.o \
- i915-display/intel_dp.o \
- i915-display/intel_dp_aux.o \
- i915-display/intel_dp_aux_backlight.o \
- i915-display/intel_dp_hdcp.o \
- i915-display/intel_dp_link_training.o \
- i915-display/intel_dp_mst.o \
- i915-display/intel_dpll.o \
- i915-display/intel_dpll_mgr.o \
- i915-display/intel_dpt_common.o \
- i915-display/intel_drrs.o \
- i915-display/intel_dsb.o \
- i915-display/intel_dsi.o \
- i915-display/intel_dsi_dcs_backlight.o \
- i915-display/intel_dsi_vbt.o \
- i915-display/intel_encoder.o \
- i915-display/intel_fb.o \
- i915-display/intel_fbc.o \
- i915-display/intel_fdi.o \
- i915-display/intel_fifo_underrun.o \
- i915-display/intel_frontbuffer.o \
- i915-display/intel_global_state.o \
- i915-display/intel_gmbus.o \
- i915-display/intel_hdcp.o \
- i915-display/intel_hdcp_gsc_message.o \
- i915-display/intel_hdmi.o \
- i915-display/intel_hotplug.o \
- i915-display/intel_hotplug_irq.o \
- i915-display/intel_hti.o \
- i915-display/intel_link_bw.o \
- i915-display/intel_lspcon.o \
- i915-display/intel_modeset_lock.o \
- i915-display/intel_modeset_setup.o \
- i915-display/intel_modeset_verify.o \
- i915-display/intel_panel.o \
- i915-display/intel_pmdemand.o \
- i915-display/intel_pps.o \
- i915-display/intel_psr.o \
- i915-display/intel_qp_tables.o \
- i915-display/intel_quirks.o \
- i915-display/intel_snps_phy.o \
- i915-display/intel_tc.o \
- i915-display/intel_vblank.o \
- i915-display/intel_vdsc.o \
- i915-display/intel_vga.o \
- i915-display/intel_vrr.o \
- i915-display/intel_dmc_wl.o \
- i915-display/intel_wm.o \
- i915-display/skl_scaler.o \
- i915-display/skl_universal_plane.o \
- i915-display/skl_watermark.o
-
-ifeq ($(CONFIG_ACPI),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/intel_acpi.o \
- i915-display/intel_opregion.o
-endif
-
-ifeq ($(CONFIG_DRM_FBDEV_EMULATION),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += i915-display/intel_fbdev.o
-endif
-
-ifeq ($(CONFIG_DEBUG_FS),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/intel_display_debugfs.o \
- i915-display/intel_display_debugfs_params.o \
- i915-display/intel_pipe_crc.o
-endif
-
-obj-$(CONFIG_DRM_XE) += xe.o
-obj-$(CONFIG_DRM_XE_KUNIT_TEST) += tests/
-
-# header test
-hdrtest_find_args := -not -path xe_rtp_helpers.h
-ifneq ($(CONFIG_DRM_XE_DISPLAY),y)
- hdrtest_find_args += -not -path display/\* -not -path compat-i915-headers/\* -not -path xe_display.h
-endif
-
-always-$(CONFIG_DRM_XE_WERROR) += \
- $(patsubst %.h,%.hdrtest, $(shell cd $(src) && find * -name '*.h' $(hdrtest_find_args)))
-
-quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
- cmd_hdrtest = $(CC) -DHDRTEST $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
- $(call if_changed_dep,hdrtest)
-
-uses_generated_oob := $(addprefix $(obj)/, $(xe-y))
-$(uses_generated_oob): $(obj)/generated/xe_wa_oob.h
diff --git a/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/preimage b/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/preimage
deleted file mode 100644
index 2012afc9287e..000000000000
--- a/rr-cache/7d9a83c9e4e63eac2b91d591ebc08fe660630185/preimage
+++ /dev/null
@@ -1,329 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-#
-# Makefile for the drm device driver. This driver provides support for the
-# Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
-
-# Enable W=1 warnings not enabled in drm subsystem Makefile
-subdir-ccflags-y += $(call cc-option, -Wformat-truncation)
-
-# Enable -Werror in CI and development
-subdir-ccflags-$(CONFIG_DRM_XE_WERROR) += -Werror
-
-subdir-ccflags-y += -I$(obj) -I$(src)
-
-# generated sources
-
-hostprogs := xe_gen_wa_oob
-generated_oob := $(obj)/generated/xe_wa_oob.c $(obj)/generated/xe_wa_oob.h
-quiet_cmd_wa_oob = GEN $(notdir $(generated_oob))
- cmd_wa_oob = mkdir -p $(@D); $^ $(generated_oob)
-$(obj)/generated/%_wa_oob.c $(obj)/generated/%_wa_oob.h: $(obj)/xe_gen_wa_oob \
- $(src)/xe_wa_oob.rules
- $(call cmd,wa_oob)
-
-<<<<<<<
-=======
-uses_generated_oob := \
- $(obj)/xe_ggtt.o \
- $(obj)/xe_device.o \
- $(obj)/xe_gsc.o \
- $(obj)/xe_gt.o \
- $(obj)/xe_guc.o \
- $(obj)/xe_guc_ads.o \
- $(obj)/xe_guc_pc.o \
- $(obj)/xe_migrate.o \
- $(obj)/xe_pat.o \
- $(obj)/xe_ring_ops.o \
- $(obj)/xe_vm.o \
- $(obj)/xe_wa.o \
- $(obj)/xe_ttm_stolen_mgr.o
-
-$(uses_generated_oob): $(generated_oob)
-
->>>>>>>
-# Please keep these build lists sorted!
-
-# core driver code
-
-xe-y += xe_bb.o \
- xe_bo.o \
- xe_bo_evict.o \
- xe_debugfs.o \
- xe_devcoredump.o \
- xe_device.o \
- xe_device_sysfs.o \
- xe_dma_buf.o \
- xe_drm_client.o \
- xe_exec.o \
- xe_execlist.o \
- xe_exec_queue.o \
- xe_force_wake.o \
- xe_ggtt.o \
- xe_gpu_scheduler.o \
- xe_gsc.o \
- xe_gsc_proxy.o \
- xe_gsc_submit.o \
- xe_gt.o \
- xe_gt_ccs_mode.o \
- xe_gt_clock.o \
- xe_gt_debugfs.o \
- xe_gt_freq.o \
- xe_gt_idle.o \
- xe_gt_mcr.o \
- xe_gt_pagefault.o \
- xe_gt_sysfs.o \
- xe_gt_throttle.o \
- xe_gt_tlb_invalidation.o \
- xe_gt_topology.o \
- xe_guc.o \
- xe_guc_ads.o \
- xe_guc_ct.o \
- xe_guc_db_mgr.o \
- xe_guc_debugfs.o \
- xe_guc_hwconfig.o \
- xe_guc_id_mgr.o \
- xe_guc_klv_helpers.o \
- xe_guc_log.o \
- xe_guc_pc.o \
- xe_guc_submit.o \
- xe_heci_gsc.o \
- xe_hw_engine.o \
- xe_hw_engine_class_sysfs.o \
- xe_hw_fence.o \
- xe_huc.o \
- xe_huc_debugfs.o \
- xe_irq.o \
- xe_lrc.o \
- xe_migrate.o \
- xe_mmio.o \
- xe_mocs.o \
- xe_module.o \
- xe_oa.o \
- xe_observation.o \
- xe_pat.o \
- xe_pci.o \
- xe_pcode.o \
- xe_pm.o \
- xe_preempt_fence.o \
- xe_pt.o \
- xe_pt_walk.o \
- xe_query.o \
- xe_range_fence.o \
- xe_reg_sr.o \
- xe_reg_whitelist.o \
- xe_rtp.o \
- xe_ring_ops.o \
- xe_sa.o \
- xe_sched_job.o \
- xe_step.o \
- xe_sync.o \
- xe_tile.o \
- xe_tile_sysfs.o \
- xe_trace.o \
- xe_trace_bo.o \
- xe_trace_guc.o \
- xe_ttm_sys_mgr.o \
- xe_ttm_stolen_mgr.o \
- xe_ttm_vram_mgr.o \
- xe_tuning.o \
- xe_uc.o \
- xe_uc_debugfs.o \
- xe_uc_fw.o \
- xe_vm.o \
- xe_vram.o \
- xe_vram_freq.o \
- xe_wait_user_fence.o \
- xe_wa.o \
- xe_wopcm.o
-
-xe-$(CONFIG_HMM_MIRROR) += xe_hmm.o
-
-# graphics hardware monitoring (HWMON) support
-xe-$(CONFIG_HWMON) += xe_hwmon.o
-
-# graphics virtualization (SR-IOV) support
-xe-y += \
- xe_gt_sriov_vf.o \
- xe_gt_sriov_vf_debugfs.o \
- xe_guc_relay.o \
- xe_memirq.o \
- xe_sriov.o
-
-xe-$(CONFIG_PCI_IOV) += \
- xe_gt_sriov_pf.o \
- xe_gt_sriov_pf_config.o \
- xe_gt_sriov_pf_control.o \
- xe_gt_sriov_pf_debugfs.o \
- xe_gt_sriov_pf_monitor.o \
- xe_gt_sriov_pf_policy.o \
- xe_gt_sriov_pf_service.o \
- xe_lmtt.o \
- xe_lmtt_2l.o \
- xe_lmtt_ml.o \
- xe_pci_sriov.o \
- xe_sriov_pf.o
-
-# include helpers for tests even when XE is built-in
-ifdef CONFIG_DRM_XE_KUNIT_TEST
-xe-y += tests/xe_kunit_helpers.o
-endif
-
-# i915 Display compat #defines and #includes
-subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
- -I$(src)/display/ext \
- -I$(src)/compat-i915-headers \
- -I$(srctree)/drivers/gpu/drm/i915/display/ \
- -Ddrm_i915_gem_object=xe_bo \
- -Ddrm_i915_private=xe_device
-
-# Rule to build SOC code shared with i915
-$(obj)/i915-soc/%.o: $(srctree)/drivers/gpu/drm/i915/soc/%.c FORCE
- $(call cmd,force_checksrc)
- $(call if_changed_rule,cc_o_c)
-
-# Rule to build display code shared with i915
-$(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
- $(call cmd,force_checksrc)
- $(call if_changed_rule,cc_o_c)
-
-# Display code specific to xe
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- display/ext/i915_irq.o \
- display/ext/i915_utils.o \
- display/intel_fb_bo.o \
- display/intel_fbdev_fb.o \
- display/xe_display.o \
- display/xe_display_misc.o \
- display/xe_display_rps.o \
- display/xe_display_wa.o \
- display/xe_dsb_buffer.o \
- display/xe_fb_pin.o \
- display/xe_hdcp_gsc.o \
- display/xe_plane_initial.o \
- display/xe_tdf.o
-
-# SOC code shared with i915
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-soc/intel_dram.o \
- i915-soc/intel_pch.o
-
-# Display code shared with i915
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/icl_dsi.o \
- i915-display/intel_alpm.o \
- i915-display/intel_atomic.o \
- i915-display/intel_atomic_plane.o \
- i915-display/intel_audio.o \
- i915-display/intel_backlight.o \
- i915-display/intel_bios.o \
- i915-display/intel_bw.o \
- i915-display/intel_cdclk.o \
- i915-display/intel_color.o \
- i915-display/intel_combo_phy.o \
- i915-display/intel_connector.o \
- i915-display/intel_crtc.o \
- i915-display/intel_crtc_state_dump.o \
- i915-display/intel_cursor.o \
- i915-display/intel_cx0_phy.o \
- i915-display/intel_ddi.o \
- i915-display/intel_ddi_buf_trans.o \
- i915-display/intel_display.o \
- i915-display/intel_display_device.o \
- i915-display/intel_display_driver.o \
- i915-display/intel_display_irq.o \
- i915-display/intel_display_params.o \
- i915-display/intel_display_power.o \
- i915-display/intel_display_power_map.o \
- i915-display/intel_display_power_well.o \
- i915-display/intel_display_trace.o \
- i915-display/intel_display_wa.o \
- i915-display/intel_dkl_phy.o \
- i915-display/intel_dmc.o \
- i915-display/intel_dp.o \
- i915-display/intel_dp_aux.o \
- i915-display/intel_dp_aux_backlight.o \
- i915-display/intel_dp_hdcp.o \
- i915-display/intel_dp_link_training.o \
- i915-display/intel_dp_mst.o \
- i915-display/intel_dpll.o \
- i915-display/intel_dpll_mgr.o \
- i915-display/intel_dpt_common.o \
- i915-display/intel_drrs.o \
- i915-display/intel_dsb.o \
- i915-display/intel_dsi.o \
- i915-display/intel_dsi_dcs_backlight.o \
- i915-display/intel_dsi_vbt.o \
- i915-display/intel_encoder.o \
- i915-display/intel_fb.o \
- i915-display/intel_fbc.o \
- i915-display/intel_fdi.o \
- i915-display/intel_fifo_underrun.o \
- i915-display/intel_frontbuffer.o \
- i915-display/intel_global_state.o \
- i915-display/intel_gmbus.o \
- i915-display/intel_hdcp.o \
- i915-display/intel_hdcp_gsc_message.o \
- i915-display/intel_hdmi.o \
- i915-display/intel_hotplug.o \
- i915-display/intel_hotplug_irq.o \
- i915-display/intel_hti.o \
- i915-display/intel_link_bw.o \
- i915-display/intel_lspcon.o \
- i915-display/intel_modeset_lock.o \
- i915-display/intel_modeset_setup.o \
- i915-display/intel_modeset_verify.o \
- i915-display/intel_panel.o \
- i915-display/intel_pmdemand.o \
- i915-display/intel_pps.o \
- i915-display/intel_psr.o \
- i915-display/intel_qp_tables.o \
- i915-display/intel_quirks.o \
- i915-display/intel_snps_phy.o \
- i915-display/intel_tc.o \
- i915-display/intel_vblank.o \
- i915-display/intel_vdsc.o \
- i915-display/intel_vga.o \
- i915-display/intel_vrr.o \
- i915-display/intel_dmc_wl.o \
- i915-display/intel_wm.o \
- i915-display/skl_scaler.o \
- i915-display/skl_universal_plane.o \
- i915-display/skl_watermark.o
-
-ifeq ($(CONFIG_ACPI),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/intel_acpi.o \
- i915-display/intel_opregion.o
-endif
-
-ifeq ($(CONFIG_DRM_FBDEV_EMULATION),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += i915-display/intel_fbdev.o
-endif
-
-ifeq ($(CONFIG_DEBUG_FS),y)
- xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-display/intel_display_debugfs.o \
- i915-display/intel_display_debugfs_params.o \
- i915-display/intel_pipe_crc.o
-endif
-
-obj-$(CONFIG_DRM_XE) += xe.o
-obj-$(CONFIG_DRM_XE_KUNIT_TEST) += tests/
-
-# header test
-hdrtest_find_args := -not -path xe_rtp_helpers.h
-ifneq ($(CONFIG_DRM_XE_DISPLAY),y)
- hdrtest_find_args += -not -path display/\* -not -path compat-i915-headers/\* -not -path xe_display.h
-endif
-
-always-$(CONFIG_DRM_XE_WERROR) += \
- $(patsubst %.h,%.hdrtest, $(shell cd $(src) && find * -name '*.h' $(hdrtest_find_args)))
-
-quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
- cmd_hdrtest = $(CC) -DHDRTEST $(filter-out $(CFLAGS_GCOV), $(c_flags)) -S -o /dev/null -x c /dev/null -include $<; touch $@
-
-$(obj)/%.hdrtest: $(src)/%.h FORCE
- $(call if_changed_dep,hdrtest)
-
-uses_generated_oob := $(addprefix $(obj)/, $(xe-y))
-$(uses_generated_oob): $(obj)/generated/xe_wa_oob.h
diff --git a/rr-cache/8e9c927d63e12b61d10da289a2f9008b4e38a67a/preimage b/rr-cache/8e9c927d63e12b61d10da289a2f9008b4e38a67a/preimage
deleted file mode 100644
index 0b507ba53f34..000000000000
--- a/rr-cache/8e9c927d63e12b61d10da289a2f9008b4e38a67a/preimage
+++ /dev/null
@@ -1,601 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#ifndef _XE_GT_REGS_H_
-#define _XE_GT_REGS_H_
-
-#include "regs/xe_reg_defs.h"
-
-/*
- * The GSI register range [0x0 - 0x40000) is replicated at a higher offset
- * for the media GT. xe_mmio and xe_gt_mcr functions will automatically
- * translate offsets by MEDIA_GT_GSI_OFFSET when operating on the media GT.
- */
-#define MEDIA_GT_GSI_OFFSET 0x380000
-#define MEDIA_GT_GSI_LENGTH 0x40000
-
-/* MTL workpoint reg to get core C state and actual freq of 3D, SAMedia */
-#define MTL_MIRROR_TARGET_WP1 XE_REG(0xc60)
-#define MTL_CAGF_MASK REG_GENMASK(8, 0)
-#define MTL_CC_MASK REG_GENMASK(12, 9)
-
-/* RPM unit config (Gen8+) */
-#define RPM_CONFIG0 XE_REG(0xd00)
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK REG_GENMASK(5, 3)
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_24_MHZ 0
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_19_2_MHZ 1
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_38_4_MHZ 2
-#define RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_25_MHZ 3
-#define RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK REG_GENMASK(2, 1)
-
-#define FORCEWAKE_ACK_MEDIA_VDBOX(n) XE_REG(0xd50 + (n) * 4)
-#define FORCEWAKE_ACK_MEDIA_VEBOX(n) XE_REG(0xd70 + (n) * 4)
-#define FORCEWAKE_ACK_RENDER XE_REG(0xd84)
-
-#define GMD_ID XE_REG(0xd8c)
-#define GMD_ID_ARCH_MASK REG_GENMASK(31, 22)
-#define GMD_ID_RELEASE_MASK REG_GENMASK(21, 14)
-#define GMD_ID_REVID REG_GENMASK(5, 0)
-
-#define FORCEWAKE_ACK_GSC XE_REG(0xdf8)
-#define FORCEWAKE_ACK_GT_MTL XE_REG(0xdfc)
-
-#define MCFG_MCR_SELECTOR XE_REG(0xfd0)
-#define MTL_MCR_SELECTOR XE_REG(0xfd4)
-#define SF_MCR_SELECTOR XE_REG(0xfd8)
-#define MCR_SELECTOR XE_REG(0xfdc)
-#define GAM_MCR_SELECTOR XE_REG(0xfe0)
-#define MCR_MULTICAST REG_BIT(31)
-#define MCR_SLICE_MASK REG_GENMASK(30, 27)
-#define MCR_SLICE(slice) REG_FIELD_PREP(MCR_SLICE_MASK, slice)
-#define MCR_SUBSLICE_MASK REG_GENMASK(26, 24)
-#define MCR_SUBSLICE(subslice) REG_FIELD_PREP(MCR_SUBSLICE_MASK, subslice)
-#define MTL_MCR_GROUPID REG_GENMASK(11, 8)
-#define MTL_MCR_INSTANCEID REG_GENMASK(3, 0)
-
-#define PS_INVOCATION_COUNT XE_REG(0x2348)
-
-#define XELP_GLOBAL_MOCS(i) XE_REG(0x4000 + (i) * 4)
-#define XEHP_GLOBAL_MOCS(i) XE_REG_MCR(0x4000 + (i) * 4)
-#define LE_SSE_MASK REG_GENMASK(18, 17)
-#define LE_SSE(value) REG_FIELD_PREP(LE_SSE_MASK, value)
-#define LE_COS_MASK REG_GENMASK(16, 15)
-#define LE_COS(value) REG_FIELD_PREP(LE_COS_MASK)
-#define LE_SCF_MASK REG_BIT(14)
-#define LE_SCF(value) REG_FIELD_PREP(LE_SCF_MASK, value)
-#define LE_PFM_MASK REG_GENMASK(13, 11)
-#define LE_PFM(value) REG_FIELD_PREP(LE_PFM_MASK, value)
-#define LE_SCC_MASK REG_GENMASK(10, 8)
-#define LE_SCC(value) REG_FIELD_PREP(LE_SCC_MASK, value)
-#define LE_RSC_MASK REG_BIT(7)
-#define LE_RSC(value) REG_FIELD_PREP(LE_RSC_MASK, value)
-#define LE_AOM_MASK REG_BIT(6)
-#define LE_AOM(value) REG_FIELD_PREP(LE_AOM_MASK, value)
-#define LE_LRUM_MASK REG_GENMASK(5, 4)
-#define LE_LRUM(value) REG_FIELD_PREP(LE_LRUM_MASK, value)
-#define LE_TGT_CACHE_MASK REG_GENMASK(3, 2)
-#define LE_TGT_CACHE(value) REG_FIELD_PREP(LE_TGT_CACHE_MASK, value)
-#define LE_CACHEABILITY_MASK REG_GENMASK(1, 0)
-#define LE_CACHEABILITY(value) REG_FIELD_PREP(LE_CACHEABILITY_MASK, value)
-
-<<<<<<<
-#define STATELESS_COMPRESSION_CTRL XE_REG_MCR(0x4148)
-#define UNIFIED_COMPRESSION_FORMAT REG_GENMASK(3, 0)
-
-#define XE2_GAMREQSTRM_CTRL XE_REG_MCR(0x4194)
-=======
-#define XE2_GAMREQSTRM_CTRL XE_REG(0x4194)
->>>>>>>
-#define CG_DIS_CNTLBUS REG_BIT(6)
-
-#define CCS_AUX_INV XE_REG(0x4208)
-
-#define VD0_AUX_INV XE_REG(0x4218)
-#define VE0_AUX_INV XE_REG(0x4238)
-
-#define VE1_AUX_INV XE_REG(0x42b8)
-#define AUX_INV REG_BIT(0)
-
-#define XEHP_TILE_ADDR_RANGE(_idx) XE_REG_MCR(0x4900 + (_idx) * 4)
-#define XEHP_FLAT_CCS_BASE_ADDR XE_REG_MCR(0x4910)
-#define XEHP_FLAT_CCS_PTR REG_GENMASK(31, 8)
-
-#define WM_CHICKEN3 XE_REG_MCR(0x5588, XE_REG_OPTION_MASKED)
-#define HIZ_PLANE_COMPRESSION_DIS REG_BIT(10)
-
-#define CHICKEN_RASTER_1 XE_REG_MCR(0x6204, XE_REG_OPTION_MASKED)
-#define DIS_SF_ROUND_NEAREST_EVEN REG_BIT(8)
-
-#define CHICKEN_RASTER_2 XE_REG_MCR(0x6208, XE_REG_OPTION_MASKED)
-#define TBIMR_FAST_CLIP REG_BIT(5)
-
-#define FF_MODE XE_REG_MCR(0x6210)
-#define DIS_TE_AUTOSTRIP REG_BIT(31)
-#define DIS_MESH_PARTIAL_AUTOSTRIP REG_BIT(16)
-#define DIS_MESH_AUTOSTRIP REG_BIT(15)
-
-#define VFLSKPD XE_REG_MCR(0x62a8, XE_REG_OPTION_MASKED)
-#define DIS_PARTIAL_AUTOSTRIP REG_BIT(9)
-#define DIS_AUTOSTRIP REG_BIT(6)
-#define DIS_OVER_FETCH_CACHE REG_BIT(1)
-#define DIS_MULT_MISS_RD_SQUASH REG_BIT(0)
-
-#define FF_MODE2 XE_REG(0x6604)
-#define XEHP_FF_MODE2 XE_REG_MCR(0x6604)
-#define FF_MODE2_GS_TIMER_MASK REG_GENMASK(31, 24)
-#define FF_MODE2_GS_TIMER_224 REG_FIELD_PREP(FF_MODE2_GS_TIMER_MASK, 224)
-#define FF_MODE2_TDS_TIMER_MASK REG_GENMASK(23, 16)
-#define FF_MODE2_TDS_TIMER_128 REG_FIELD_PREP(FF_MODE2_TDS_TIMER_MASK, 4)
-
-#define XEHPG_INSTDONE_GEOM_SVGUNIT XE_REG_MCR(0x666c)
-
-#define CACHE_MODE_1 XE_REG(0x7004, XE_REG_OPTION_MASKED)
-#define MSAA_OPTIMIZATION_REDUC_DISABLE REG_BIT(11)
-
-#define COMMON_SLICE_CHICKEN1 XE_REG(0x7010, XE_REG_OPTION_MASKED)
-#define DISABLE_BOTTOM_CLIP_RECTANGLE_TEST REG_BIT(14)
-
-#define HIZ_CHICKEN XE_REG(0x7018, XE_REG_OPTION_MASKED)
-#define DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE REG_BIT(14)
-#define HZ_DEPTH_TEST_LE_GE_OPT_DISABLE REG_BIT(13)
-
-#define XEHP_PSS_MODE2 XE_REG_MCR(0x703c, XE_REG_OPTION_MASKED)
-#define SCOREBOARD_STALL_FLUSH_CONTROL REG_BIT(5)
-
-#define XEHP_PSS_CHICKEN XE_REG_MCR(0x7044, XE_REG_OPTION_MASKED)
-#define FLSH_IGNORES_PSD REG_BIT(10)
-#define FD_END_COLLECT REG_BIT(5)
-
-#define SC_INSTDONE XE_REG(0x7100)
-#define SC_INSTDONE_EXTRA XE_REG(0x7104)
-#define SC_INSTDONE_EXTRA2 XE_REG(0x7108)
-
-#define XEHPG_SC_INSTDONE XE_REG_MCR(0x7100)
-#define XEHPG_SC_INSTDONE_EXTRA XE_REG_MCR(0x7104)
-#define XEHPG_SC_INSTDONE_EXTRA2 XE_REG_MCR(0x7108)
-
-#define COMMON_SLICE_CHICKEN4 XE_REG(0x7300, XE_REG_OPTION_MASKED)
-#define DISABLE_TDC_LOAD_BALANCING_CALC REG_BIT(6)
-
-#define COMMON_SLICE_CHICKEN3 XE_REG(0x7304, XE_REG_OPTION_MASKED)
-#define XEHP_COMMON_SLICE_CHICKEN3 XE_REG_MCR(0x7304, XE_REG_OPTION_MASKED)
-#define DG1_FLOAT_POINT_BLEND_OPT_STRICT_MODE_EN REG_BIT(12)
-#define XEHP_DUAL_SIMD8_SEQ_MERGE_DISABLE REG_BIT(12)
-#define BLEND_EMB_FIX_DISABLE_IN_RCC REG_BIT(11)
-#define DISABLE_CPS_AWARE_COLOR_PIPE REG_BIT(9)
-
-#define XEHP_SLICE_COMMON_ECO_CHICKEN1 XE_REG_MCR(0x731c, XE_REG_OPTION_MASKED)
-#define MSC_MSAA_REODER_BUF_BYPASS_DISABLE REG_BIT(14)
-
-#define VF_PREEMPTION XE_REG(0x83a4, XE_REG_OPTION_MASKED)
-#define PREEMPTION_VERTEX_COUNT REG_GENMASK(15, 0)
-
-#define VF_SCRATCHPAD XE_REG(0x83a8, XE_REG_OPTION_MASKED)
-#define XE2_VFG_TED_CREDIT_INTERFACE_DISABLE REG_BIT(13)
-
-#define VFG_PREEMPTION_CHICKEN XE_REG(0x83b4, XE_REG_OPTION_MASKED)
-#define POLYGON_TRIFAN_LINELOOP_DISABLE REG_BIT(4)
-
-#define SQCNT1 XE_REG_MCR(0x8718)
-#define XELPMP_SQCNT1 XE_REG(0x8718)
-#define SQCNT1_PMON_ENABLE REG_BIT(30)
-#define SQCNT1_OABPC REG_BIT(29)
-#define ENFORCE_RAR REG_BIT(23)
-
-#define XEHP_SQCM XE_REG_MCR(0x8724)
-#define EN_32B_ACCESS REG_BIT(30)
-
-#define XE2_FLAT_CCS_BASE_RANGE_LOWER XE_REG_MCR(0x8800)
-#define XE2_FLAT_CCS_ENABLE REG_BIT(0)
-#define XE2_FLAT_CCS_BASE_LOWER_ADDR_MASK REG_GENMASK(31, 6)
-
-#define XE2_FLAT_CCS_BASE_RANGE_UPPER XE_REG_MCR(0x8804)
-#define XE2_FLAT_CCS_BASE_UPPER_ADDR_MASK REG_GENMASK(7, 0)
-
-#define GSCPSMI_BASE XE_REG(0x880c)
-
-#define CCCHKNREG1 XE_REG_MCR(0x8828)
-#define ENCOMPPERFFIX REG_BIT(18)
-
-/* Fuse readout registers for GT */
-#define XEHP_FUSE4 XE_REG(0x9114)
-#define CFEG_WMTP_DISABLE REG_BIT(20)
-#define CCS_EN_MASK REG_GENMASK(19, 16)
-#define GT_L3_EXC_MASK REG_GENMASK(6, 4)
-
-#define MIRROR_FUSE3 XE_REG(0x9118)
-#define XE2_NODE_ENABLE_MASK REG_GENMASK(31, 16)
-#define L3BANK_PAIR_COUNT 4
-#define XEHPC_GT_L3_MODE_MASK REG_GENMASK(7, 4)
-#define XE2_GT_L3_MODE_MASK REG_GENMASK(7, 4)
-#define L3BANK_MASK REG_GENMASK(3, 0)
-#define XELP_GT_L3_MODE_MASK REG_GENMASK(7, 0)
-/* on Xe_HP the same fuses indicates mslices instead of L3 banks */
-#define MAX_MSLICES 4
-#define MEML3_EN_MASK REG_GENMASK(3, 0)
-
-#define MIRROR_FUSE1 XE_REG(0x911c)
-
-#define XELP_EU_ENABLE XE_REG(0x9134) /* "_DISABLE" on Xe_LP */
-#define XELP_EU_MASK REG_GENMASK(7, 0)
-#define XELP_GT_SLICE_ENABLE XE_REG(0x9138)
-#define XELP_GT_GEOMETRY_DSS_ENABLE XE_REG(0x913c)
-
-#define GT_VEBOX_VDBOX_DISABLE XE_REG(0x9140)
-#define GT_VEBOX_DISABLE_MASK REG_GENMASK(19, 16)
-#define GT_VDBOX_DISABLE_MASK REG_GENMASK(7, 0)
-
-#define XEHP_GT_COMPUTE_DSS_ENABLE XE_REG(0x9144)
-#define XEHPC_GT_COMPUTE_DSS_ENABLE_EXT XE_REG(0x9148)
-#define XE2_GT_COMPUTE_DSS_2 XE_REG(0x914c)
-#define XE2_GT_GEOMETRY_DSS_1 XE_REG(0x9150)
-#define XE2_GT_GEOMETRY_DSS_2 XE_REG(0x9154)
-
-#define GDRST XE_REG(0x941c)
-#define GRDOM_GUC REG_BIT(3)
-#define GRDOM_FULL REG_BIT(0)
-
-#define MISCCPCTL XE_REG(0x9424)
-#define DOP_CLOCK_GATE_RENDER_ENABLE REG_BIT(1)
-
-#define UNSLCGCTL9430 XE_REG(0x9430)
-#define MSQDUNIT_CLKGATE_DIS REG_BIT(3)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE XE_REG(0x9434)
-#define VFUNIT_CLKGATE_DIS REG_BIT(20)
-#define TSGUNIT_CLKGATE_DIS REG_BIT(17) /* XEHPSDV */
-#define CG3DDISCFEG_CLKGATE_DIS REG_BIT(17) /* DG2 */
-#define GAMEDIA_CLKGATE_DIS REG_BIT(11)
-#define HSUNIT_CLKGATE_DIS REG_BIT(8)
-#define VSUNIT_CLKGATE_DIS REG_BIT(3)
-
-#define UNSLCGCTL9440 XE_REG(0x9440)
-#define GAMTLBOACS_CLKGATE_DIS REG_BIT(28)
-#define GAMTLBVDBOX5_CLKGATE_DIS REG_BIT(27)
-#define GAMTLBVDBOX6_CLKGATE_DIS REG_BIT(26)
-#define GAMTLBVDBOX3_CLKGATE_DIS REG_BIT(24)
-#define GAMTLBVDBOX4_CLKGATE_DIS REG_BIT(23)
-#define GAMTLBVDBOX7_CLKGATE_DIS REG_BIT(22)
-#define GAMTLBVDBOX2_CLKGATE_DIS REG_BIT(21)
-#define GAMTLBVDBOX0_CLKGATE_DIS REG_BIT(17)
-#define GAMTLBKCR_CLKGATE_DIS REG_BIT(16)
-#define GAMTLBGUC_CLKGATE_DIS REG_BIT(15)
-#define GAMTLBBLT_CLKGATE_DIS REG_BIT(14)
-#define GAMTLBVDBOX1_CLKGATE_DIS REG_BIT(6)
-
-#define UNSLCGCTL9444 XE_REG(0x9444)
-#define GAMTLBGFXA0_CLKGATE_DIS REG_BIT(30)
-#define GAMTLBGFXA1_CLKGATE_DIS REG_BIT(29)
-#define GAMTLBCOMPA0_CLKGATE_DIS REG_BIT(28)
-#define GAMTLBCOMPA1_CLKGATE_DIS REG_BIT(27)
-#define GAMTLBCOMPB0_CLKGATE_DIS REG_BIT(26)
-#define GAMTLBCOMPB1_CLKGATE_DIS REG_BIT(25)
-#define GAMTLBCOMPC0_CLKGATE_DIS REG_BIT(24)
-#define GAMTLBCOMPC1_CLKGATE_DIS REG_BIT(23)
-#define GAMTLBCOMPD0_CLKGATE_DIS REG_BIT(22)
-#define GAMTLBCOMPD1_CLKGATE_DIS REG_BIT(21)
-#define GAMTLBMERT_CLKGATE_DIS REG_BIT(20)
-#define GAMTLBVEBOX3_CLKGATE_DIS REG_BIT(19)
-#define GAMTLBVEBOX2_CLKGATE_DIS REG_BIT(18)
-#define GAMTLBVEBOX1_CLKGATE_DIS REG_BIT(17)
-#define GAMTLBVEBOX0_CLKGATE_DIS REG_BIT(16)
-#define LTCDD_CLKGATE_DIS REG_BIT(10)
-
-#define XEHP_SLICE_UNIT_LEVEL_CLKGATE XE_REG_MCR(0x94d4)
-#define L3_CR2X_CLKGATE_DIS REG_BIT(17)
-#define L3_CLKGATE_DIS REG_BIT(16)
-#define NODEDSS_CLKGATE_DIS REG_BIT(12)
-#define MSCUNIT_CLKGATE_DIS REG_BIT(10)
-#define RCCUNIT_CLKGATE_DIS REG_BIT(7)
-#define SARBUNIT_CLKGATE_DIS REG_BIT(5)
-#define SBEUNIT_CLKGATE_DIS REG_BIT(4)
-
-#define UNSLICE_UNIT_LEVEL_CLKGATE2 XE_REG(0x94e4)
-#define VSUNIT_CLKGATE2_DIS REG_BIT(19)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE XE_REG_MCR(0x9524)
-#define DSS_ROUTER_CLKGATE_DIS REG_BIT(28)
-#define GWUNIT_CLKGATE_DIS REG_BIT(16)
-
-#define SUBSLICE_UNIT_LEVEL_CLKGATE2 XE_REG_MCR(0x9528)
-#define CPSSUNIT_CLKGATE_DIS REG_BIT(9)
-
-#define SSMCGCTL9530 XE_REG_MCR(0x9530)
-#define RTFUNIT_CLKGATE_DIS REG_BIT(18)
-
-#define DFR_RATIO_EN_AND_CHICKEN XE_REG_MCR(0x9550)
-#define DFR_DISABLE REG_BIT(9)
-
-#define RPNSWREQ XE_REG(0xa008)
-#define REQ_RATIO_MASK REG_GENMASK(31, 23)
-
-#define RP_CONTROL XE_REG(0xa024)
-#define RPSWCTL_MASK REG_GENMASK(10, 9)
-#define RPSWCTL_ENABLE REG_FIELD_PREP(RPSWCTL_MASK, 2)
-#define RPSWCTL_DISABLE REG_FIELD_PREP(RPSWCTL_MASK, 0)
-#define RC_CONTROL XE_REG(0xa090)
-#define RC_CTL_HW_ENABLE REG_BIT(31)
-#define RC_CTL_TO_MODE REG_BIT(28)
-#define RC_CTL_RC6_ENABLE REG_BIT(18)
-#define RC_STATE XE_REG(0xa094)
-#define RC_IDLE_HYSTERSIS XE_REG(0xa0ac)
-#define MEDIA_POWERGATE_IDLE_HYSTERESIS XE_REG(0xa0c4)
-#define RENDER_POWERGATE_IDLE_HYSTERESIS XE_REG(0xa0c8)
-
-#define PMINTRMSK XE_REG(0xa168)
-#define PMINTR_DISABLE_REDIRECT_TO_GUC REG_BIT(31)
-#define ARAT_EXPIRED_INTRMSK REG_BIT(9)
-
-#define FORCEWAKE_GT XE_REG(0xa188)
-
-#define POWERGATE_ENABLE XE_REG(0xa210)
-#define RENDER_POWERGATE_ENABLE REG_BIT(0)
-#define MEDIA_POWERGATE_ENABLE REG_BIT(1)
-#define VDN_HCP_POWERGATE_ENABLE(n) REG_BIT(3 + 2 * (n))
-#define VDN_MFXVDENC_POWERGATE_ENABLE(n) REG_BIT(4 + 2 * (n))
-
-#define CTC_MODE XE_REG(0xa26c)
-#define CTC_SHIFT_PARAMETER_MASK REG_GENMASK(2, 1)
-#define CTC_SOURCE_DIVIDE_LOGIC REG_BIT(0)
-
-#define FORCEWAKE_RENDER XE_REG(0xa278)
-#define FORCEWAKE_MEDIA_VDBOX(n) XE_REG(0xa540 + (n) * 4)
-#define FORCEWAKE_MEDIA_VEBOX(n) XE_REG(0xa560 + (n) * 4)
-#define FORCEWAKE_GSC XE_REG(0xa618)
-
-#define XEHPC_LNCFMISCCFGREG0 XE_REG_MCR(0xb01c, XE_REG_OPTION_MASKED)
-#define XEHPC_OVRLSCCC REG_BIT(0)
-
-/* L3 Cache Control */
-#define LNCFCMOCS_REG_COUNT 32
-#define XELP_LNCFCMOCS(i) XE_REG(0xb020 + (i) * 4)
-#define XEHP_LNCFCMOCS(i) XE_REG_MCR(0xb020 + (i) * 4)
-#define L3_UPPER_LKUP_MASK REG_BIT(23)
-#define L3_UPPER_GLBGO_MASK REG_BIT(22)
-#define L3_UPPER_IDX_CACHEABILITY_MASK REG_GENMASK(21, 20)
-#define L3_UPPER_IDX_SCC_MASK REG_GENMASK(19, 17)
-#define L3_UPPER_IDX_ESC_MASK REG_BIT(16)
-#define L3_LKUP_MASK REG_BIT(7)
-#define L3_LKUP(value) REG_FIELD_PREP(L3_LKUP_MASK, value)
-#define L3_GLBGO_MASK REG_BIT(6)
-#define L3_GLBGO(value) REG_FIELD_PREP(L3_GLBGO_MASK, value)
-#define L3_CACHEABILITY_MASK REG_GENMASK(5, 4)
-#define L3_CACHEABILITY(value) REG_FIELD_PREP(L3_CACHEABILITY_MASK, value)
-#define L3_SCC_MASK REG_GENMASK(3, 1)
-#define L3_SCC(value) REG_FIELD_PREP(L3_SCC_MASK, value)
-#define L3_ESC_MASK REG_BIT(0)
-#define L3_ESC(value) REG_FIELD_PREP(L3_ESC_MASK, value)
-
-#define XEHP_L3NODEARBCFG XE_REG_MCR(0xb0b4)
-#define XEHP_LNESPARE REG_BIT(19)
-
-#define L3SQCREG3 XE_REG_MCR(0xb108)
-#define COMPPWOVERFETCHEN REG_BIT(28)
-
-#define XEHP_L3SQCREG5 XE_REG_MCR(0xb158)
-#define L3_PWM_TIMER_INIT_VAL_MASK REG_GENMASK(9, 0)
-
-#define XEHP_L3SCQREG7 XE_REG_MCR(0xb188)
-#define BLEND_FILL_CACHING_OPT_DIS REG_BIT(3)
-
-#define XEHPC_L3CLOS_MASK(i) XE_REG_MCR(0xb194 + (i) * 8)
-
-#define XE2_GLOBAL_INVAL XE_REG(0xb404)
-
-#define SCRATCH1LPFC XE_REG(0xb474)
-#define EN_L3_RW_CCS_CACHE_FLUSH REG_BIT(0)
-
-#define XE2LPM_L3SQCREG5 XE_REG_MCR(0xb658)
-
-#define XE2_TDF_CTRL XE_REG(0xb418)
-#define TRANSIENT_FLUSH_REQUEST REG_BIT(0)
-
-#define XEHP_MERT_MOD_CTRL XE_REG_MCR(0xcf28)
-#define RENDER_MOD_CTRL XE_REG_MCR(0xcf2c)
-#define COMP_MOD_CTRL XE_REG_MCR(0xcf30)
-#define XEHP_VDBX_MOD_CTRL XE_REG_MCR(0xcf34)
-#define XELPMP_VDBX_MOD_CTRL XE_REG(0xcf34)
-#define XEHP_VEBX_MOD_CTRL XE_REG_MCR(0xcf38)
-#define XELPMP_VEBX_MOD_CTRL XE_REG(0xcf38)
-#define FORCE_MISS_FTLB REG_BIT(3)
-
-#define XEHP_GAMSTLB_CTRL XE_REG_MCR(0xcf4c)
-#define CONTROL_BLOCK_CLKGATE_DIS REG_BIT(12)
-#define EGRESS_BLOCK_CLKGATE_DIS REG_BIT(11)
-#define TAG_BLOCK_CLKGATE_DIS REG_BIT(7)
-
-#define XEHP_GAMCNTRL_CTRL XE_REG_MCR(0xcf54)
-#define INVALIDATION_BROADCAST_MODE_DIS REG_BIT(12)
-#define GLOBAL_INVALIDATION_MODE REG_BIT(2)
-
-#define HALF_SLICE_CHICKEN5 XE_REG_MCR(0xe188, XE_REG_OPTION_MASKED)
-#define DISABLE_SAMPLE_G_PERFORMANCE REG_BIT(0)
-
-#define SAMPLER_INSTDONE XE_REG_MCR(0xe160)
-#define ROW_INSTDONE XE_REG_MCR(0xe164)
-
-#define SAMPLER_MODE XE_REG_MCR(0xe18c, XE_REG_OPTION_MASKED)
-#define ENABLE_SMALLPL REG_BIT(15)
-#define SC_DISABLE_POWER_OPTIMIZATION_EBB REG_BIT(9)
-#define SAMPLER_ENABLE_HEADLESS_MSG REG_BIT(5)
-#define INDIRECT_STATE_BASE_ADDR_OVERRIDE REG_BIT(0)
-
-#define HALF_SLICE_CHICKEN7 XE_REG_MCR(0xe194, XE_REG_OPTION_MASKED)
-#define DG2_DISABLE_ROUND_ENABLE_ALLOW_FOR_SSLA REG_BIT(15)
-#define CLEAR_OPTIMIZATION_DISABLE REG_BIT(6)
-
-#define CACHE_MODE_SS XE_REG_MCR(0xe420, XE_REG_OPTION_MASKED)
-#define DISABLE_ECC REG_BIT(5)
-#define ENABLE_PREFETCH_INTO_IC REG_BIT(3)
-
-#define ROW_CHICKEN4 XE_REG_MCR(0xe48c, XE_REG_OPTION_MASKED)
-#define DISABLE_GRF_CLEAR REG_BIT(13)
-#define XEHP_DIS_BBL_SYSPIPE REG_BIT(11)
-#define DISABLE_TDL_PUSH REG_BIT(9)
-#define DIS_PICK_2ND_EU REG_BIT(7)
-#define DISABLE_HDR_PAST_PAYLOAD_HOLD_FIX REG_BIT(4)
-#define THREAD_EX_ARB_MODE REG_GENMASK(3, 2)
-#define THREAD_EX_ARB_MODE_RR_AFTER_DEP REG_FIELD_PREP(THREAD_EX_ARB_MODE, 0x2)
-
-#define ROW_CHICKEN3 XE_REG_MCR(0xe49c, XE_REG_OPTION_MASKED)
-#define XE2_EUPEND_CHK_FLUSH_DIS REG_BIT(14)
-#define DIS_FIX_EOT1_FLUSH REG_BIT(9)
-
-#define TDL_TSL_CHICKEN XE_REG_MCR(0xe4c4, XE_REG_OPTION_MASKED)
-#define STK_ID_RESTRICT REG_BIT(12)
-#define SLM_WMTP_RESTORE REG_BIT(11)
-
-#define ROW_CHICKEN XE_REG_MCR(0xe4f0, XE_REG_OPTION_MASKED)
-#define UGM_BACKUP_MODE REG_BIT(13)
-#define MDQ_ARBITRATION_MODE REG_BIT(12)
-#define STALL_DOP_GATING_DISABLE REG_BIT(5)
-#define EARLY_EOT_DIS REG_BIT(1)
-
-#define ROW_CHICKEN2 XE_REG_MCR(0xe4f4, XE_REG_OPTION_MASKED)
-#define DISABLE_READ_SUPPRESSION REG_BIT(15)
-#define DISABLE_EARLY_READ REG_BIT(14)
-#define ENABLE_LARGE_GRF_MODE REG_BIT(12)
-#define PUSH_CONST_DEREF_HOLD_DIS REG_BIT(8)
-#define DISABLE_TDL_SVHS_GATING REG_BIT(1)
-#define DISABLE_DOP_GATING REG_BIT(0)
-
-#define RT_CTRL XE_REG_MCR(0xe530)
-#define DIS_NULL_QUERY REG_BIT(10)
-
-#define EU_SYSTOLIC_LIC_THROTTLE_CTL_WITH_LOCK XE_REG_MCR(0xe534)
-#define EU_SYSTOLIC_LIC_THROTTLE_CTL_LOCK_BIT REG_BIT(31)
-
-#define XEHP_HDC_CHICKEN0 XE_REG_MCR(0xe5f0, XE_REG_OPTION_MASKED)
-#define LSC_L1_FLUSH_CTL_3D_DATAPORT_FLUSH_EVENTS_MASK REG_GENMASK(13, 11)
-#define DIS_ATOMIC_CHAINING_TYPED_WRITES REG_BIT(3)
-
-#define LSC_CHICKEN_BIT_0 XE_REG_MCR(0xe7c8)
-#define DISABLE_D8_D16_COASLESCE REG_BIT(30)
-#define WR_REQ_CHAINING_DIS REG_BIT(26)
-#define TGM_WRITE_EOM_FORCE REG_BIT(17)
-#define FORCE_1_SUB_MESSAGE_PER_FRAGMENT REG_BIT(15)
-#define SEQUENTIAL_ACCESS_UPGRADE_DISABLE REG_BIT(13)
-
-#define LSC_CHICKEN_BIT_0_UDW XE_REG_MCR(0xe7c8 + 4)
-#define UGM_FRAGMENT_THRESHOLD_TO_3 REG_BIT(58 - 32)
-#define DIS_CHAIN_2XSIMD8 REG_BIT(55 - 32)
-#define XE2_ALLOC_DPA_STARVE_FIX_DIS REG_BIT(47 - 32)
-#define ENABLE_SMP_LD_RENDER_SURFACE_CONTROL REG_BIT(44 - 32)
-#define FORCE_SLM_FENCE_SCOPE_TO_TILE REG_BIT(42 - 32)
-#define FORCE_UGM_FENCE_SCOPE_TO_TILE REG_BIT(41 - 32)
-#define MAXREQS_PER_BANK REG_GENMASK(39 - 32, 37 - 32)
-#define DISABLE_128B_EVICTION_COMMAND_UDW REG_BIT(36 - 32)
-
-#define SARB_CHICKEN1 XE_REG_MCR(0xe90c)
-#define COMP_CKN_IN REG_GENMASK(30, 29)
-
-#define RCU_MODE XE_REG(0x14800, XE_REG_OPTION_MASKED)
-#define RCU_MODE_FIXED_SLICE_CCS_MODE REG_BIT(1)
-#define RCU_MODE_CCS_ENABLE REG_BIT(0)
-
-/*
- * Total of 4 cslices, where each cslice is in the form:
- * [0-3] CCS ID
- * [4-6] RSVD
- * [7] Disabled
- */
-#define CCS_MODE XE_REG(0x14804)
-#define CCS_MODE_CSLICE_0_3_MASK REG_GENMASK(11, 0) /* 3 bits per cslice */
-#define CCS_MODE_CSLICE_MASK 0x7 /* CCS0-3 + rsvd */
-#define CCS_MODE_CSLICE_WIDTH ilog2(CCS_MODE_CSLICE_MASK + 1)
-#define CCS_MODE_CSLICE(cslice, ccs) \
- ((ccs) << ((cslice) * CCS_MODE_CSLICE_WIDTH))
-
-#define FORCEWAKE_ACK_GT XE_REG(0x130044)
-
-/* Applicable for all FORCEWAKE_DOMAIN and FORCEWAKE_ACK_DOMAIN regs */
-#define FORCEWAKE_KERNEL 0
-#define FORCEWAKE_MT(bit) BIT(bit)
-#define FORCEWAKE_MT_MASK(bit) BIT((bit) + 16)
-
-#define MTL_MEDIA_PERF_LIMIT_REASONS XE_REG(0x138030)
-#define MTL_MEDIA_MC6 XE_REG(0x138048)
-
-#define GT_CORE_STATUS XE_REG(0x138060)
-#define RCN_MASK REG_GENMASK(2, 0)
-#define GT_C0 0
-#define GT_C6 3
-
-#define GT_GFX_RC6_LOCKED XE_REG(0x138104)
-#define GT_GFX_RC6 XE_REG(0x138108)
-
-#define GT0_PERF_LIMIT_REASONS XE_REG(0x1381a8)
-#define GT0_PERF_LIMIT_REASONS_MASK 0xde3
-#define PROCHOT_MASK REG_BIT(0)
-#define THERMAL_LIMIT_MASK REG_BIT(1)
-#define RATL_MASK REG_BIT(5)
-#define VR_THERMALERT_MASK REG_BIT(6)
-#define VR_TDC_MASK REG_BIT(7)
-#define POWER_LIMIT_4_MASK REG_BIT(8)
-#define POWER_LIMIT_1_MASK REG_BIT(10)
-#define POWER_LIMIT_2_MASK REG_BIT(11)
-
-#define GT_PERF_STATUS XE_REG(0x1381b4)
-#define VOLTAGE_MASK REG_GENMASK(10, 0)
-
-/*
- * Note: Interrupt registers 1900xx are VF accessible only until version 12.50.
- * On newer platforms, VFs are using memory-based interrupts instead.
- * However, for simplicity we keep this XE_REG_OPTION_VF tag intact.
- */
-
-#define GT_INTR_DW(x) XE_REG(0x190018 + ((x) * 4), XE_REG_OPTION_VF)
-#define INTR_GSC REG_BIT(31)
-#define INTR_GUC REG_BIT(25)
-#define INTR_MGUC REG_BIT(24)
-#define INTR_BCS8 REG_BIT(23)
-#define INTR_BCS(x) REG_BIT(15 - (x))
-#define INTR_CCS(x) REG_BIT(4 + (x))
-#define INTR_RCS0 REG_BIT(0)
-#define INTR_VECS(x) REG_BIT(31 - (x))
-#define INTR_VCS(x) REG_BIT(x)
-
-#define RENDER_COPY_INTR_ENABLE XE_REG(0x190030, XE_REG_OPTION_VF)
-#define VCS_VECS_INTR_ENABLE XE_REG(0x190034, XE_REG_OPTION_VF)
-#define GUC_SG_INTR_ENABLE XE_REG(0x190038, XE_REG_OPTION_VF)
-#define ENGINE1_MASK REG_GENMASK(31, 16)
-#define ENGINE0_MASK REG_GENMASK(15, 0)
-#define GPM_WGBOXPERF_INTR_ENABLE XE_REG(0x19003c, XE_REG_OPTION_VF)
-#define GUNIT_GSC_INTR_ENABLE XE_REG(0x190044, XE_REG_OPTION_VF)
-#define CCS_RSVD_INTR_ENABLE XE_REG(0x190048, XE_REG_OPTION_VF)
-
-#define INTR_IDENTITY_REG(x) XE_REG(0x190060 + ((x) * 4), XE_REG_OPTION_VF)
-#define INTR_DATA_VALID REG_BIT(31)
-#define INTR_ENGINE_INSTANCE(x) REG_FIELD_GET(GENMASK(25, 20), x)
-#define INTR_ENGINE_CLASS(x) REG_FIELD_GET(GENMASK(18, 16), x)
-#define INTR_ENGINE_INTR(x) REG_FIELD_GET(GENMASK(15, 0), x)
-#define OTHER_GUC_INSTANCE 0
-#define OTHER_GSC_HECI2_INSTANCE 3
-#define OTHER_GSC_INSTANCE 6
-
-#define IIR_REG_SELECTOR(x) XE_REG(0x190070 + ((x) * 4), XE_REG_OPTION_VF)
-#define RCS0_RSVD_INTR_MASK XE_REG(0x190090, XE_REG_OPTION_VF)
-#define BCS_RSVD_INTR_MASK XE_REG(0x1900a0, XE_REG_OPTION_VF)
-#define VCS0_VCS1_INTR_MASK XE_REG(0x1900a8, XE_REG_OPTION_VF)
-#define VCS2_VCS3_INTR_MASK XE_REG(0x1900ac, XE_REG_OPTION_VF)
-#define VECS0_VECS1_INTR_MASK XE_REG(0x1900d0, XE_REG_OPTION_VF)
-#define HECI2_RSVD_INTR_MASK XE_REG(0x1900e4)
-#define GUC_SG_INTR_MASK XE_REG(0x1900e8, XE_REG_OPTION_VF)
-#define GPM_WGBOXPERF_INTR_MASK XE_REG(0x1900ec, XE_REG_OPTION_VF)
-#define GUNIT_GSC_INTR_MASK XE_REG(0x1900f4, XE_REG_OPTION_VF)
-#define CCS0_CCS1_INTR_MASK XE_REG(0x190100)
-#define CCS2_CCS3_INTR_MASK XE_REG(0x190104)
-#define XEHPC_BCS1_BCS2_INTR_MASK XE_REG(0x190110)
-#define XEHPC_BCS3_BCS4_INTR_MASK XE_REG(0x190114)
-#define XEHPC_BCS5_BCS6_INTR_MASK XE_REG(0x190118)
-#define XEHPC_BCS7_BCS8_INTR_MASK XE_REG(0x19011c)
-#define GT_WAIT_SEMAPHORE_INTERRUPT REG_BIT(11)
-#define GT_CONTEXT_SWITCH_INTERRUPT REG_BIT(8)
-#define GSC_ER_COMPLETE REG_BIT(5)
-#define GT_RENDER_PIPECTL_NOTIFY_INTERRUPT REG_BIT(4)
-#define GT_CS_MASTER_ERROR_INTERRUPT REG_BIT(3)
-#define GT_RENDER_USER_INTERRUPT REG_BIT(0)
-
-#endif
diff --git a/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/postimage b/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/postimage
deleted file mode 100644
index 28b7f95b6c2f..000000000000
--- a/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/postimage
+++ /dev/null
@@ -1,893 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2022 Intel Corporation
- */
-
-#include "xe_wa.h"
-
-#include <drm/drm_managed.h>
-#include <kunit/visibility.h>
-#include <linux/compiler_types.h>
-
-#include <generated/xe_wa_oob.h>
-
-#include "regs/xe_engine_regs.h"
-#include "regs/xe_gt_regs.h"
-#include "regs/xe_regs.h"
-#include "xe_device_types.h"
-#include "xe_force_wake.h"
-#include "xe_gt.h"
-#include "xe_hw_engine_types.h"
-#include "xe_mmio.h"
-#include "xe_platform_types.h"
-#include "xe_rtp.h"
-#include "xe_sriov.h"
-#include "xe_step.h"
-
-/**
- * DOC: Hardware workarounds
- *
- * Hardware workarounds are register programming documented to be executed in
- * the driver that fall outside of the normal programming sequences for a
- * platform. There are some basic categories of workarounds, depending on
- * how/when they are applied:
- *
- * - LRC workarounds: workarounds that touch registers that are
- * saved/restored to/from the HW context image. The list is emitted (via Load
- * Register Immediate commands) once when initializing the device and saved in
- * the default context. That default context is then used on every context
- * creation to have a "primed golden context", i.e. a context image that
- * already contains the changes needed to all the registers.
- *
- * - Engine workarounds: the list of these WAs is applied whenever the specific
- * engine is reset. It's also possible that a set of engine classes share a
- * common power domain and they are reset together. This happens on some
- * platforms with render and compute engines. In this case (at least) one of
- * them need to keeep the workaround programming: the approach taken in the
- * driver is to tie those workarounds to the first compute/render engine that
- * is registered. When executing with GuC submission, engine resets are
- * outside of kernel driver control, hence the list of registers involved in
- * written once, on engine initialization, and then passed to GuC, that
- * saves/restores their values before/after the reset takes place. See
- * ``drivers/gpu/drm/xe/xe_guc_ads.c`` for reference.
- *
- * - GT workarounds: the list of these WAs is applied whenever these registers
- * revert to their default values: on GPU reset, suspend/resume [1]_, etc.
- *
- * - Register whitelist: some workarounds need to be implemented in userspace,
- * but need to touch privileged registers. The whitelist in the kernel
- * instructs the hardware to allow the access to happen. From the kernel side,
- * this is just a special case of a MMIO workaround (as we write the list of
- * these to/be-whitelisted registers to some special HW registers).
- *
- * - Workaround batchbuffers: buffers that get executed automatically by the
- * hardware on every HW context restore. These buffers are created and
- * programmed in the default context so the hardware always go through those
- * programming sequences when switching contexts. The support for workaround
- * batchbuffers is enabled these hardware mechanisms:
- *
- * #. INDIRECT_CTX: A batchbuffer and an offset are provided in the default
- * context, pointing the hardware to jump to that location when that offset
- * is reached in the context restore. Workaround batchbuffer in the driver
- * currently uses this mechanism for all platforms.
- *
- * #. BB_PER_CTX_PTR: A batchbuffer is provided in the default context,
- * pointing the hardware to a buffer to continue executing after the
- * engine registers are restored in a context restore sequence. This is
- * currently not used in the driver.
- *
- * - Other/OOB: There are WAs that, due to their nature, cannot be applied from
- * a central place. Those are peppered around the rest of the code, as needed.
- * Workarounds related to the display IP are the main example.
- *
- * .. [1] Technically, some registers are powercontext saved & restored, so they
- * survive a suspend/resume. In practice, writing them again is not too
- * costly and simplifies things, so it's the approach taken in the driver.
- *
- * .. note::
- * Hardware workarounds in xe work the same way as in i915, with the
- * difference of how they are maintained in the code. In xe it uses the
- * xe_rtp infrastructure so the workarounds can be kept in tables, following
- * a more declarative approach rather than procedural.
- */
-
-#undef XE_REG_MCR
-#define XE_REG_MCR(...) XE_REG(__VA_ARGS__, .mcr = 1)
-
-__diag_push();
-__diag_ignore_all("-Woverride-init", "Allow field overrides in table");
-
-static const struct xe_rtp_entry_sr gt_was[] = {
- { XE_RTP_NAME("14011060649"),
- XE_RTP_RULES(MEDIA_VERSION_RANGE(1200, 1255),
- ENGINE_CLASS(VIDEO_DECODE),
- FUNC(xe_rtp_match_even_instance)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F10(0), IECPUNIT_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14011059788"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(SET(DFR_RATIO_EN_AND_CHICKEN, DFR_DISABLE))
- },
- { XE_RTP_NAME("14015795083"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1260)),
- XE_RTP_ACTIONS(CLR(MISCCPCTL, DOP_CLOCK_GATE_RENDER_ENABLE))
- },
-
- /* DG1 */
-
- { XE_RTP_NAME("1409420604"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(SUBSLICE_UNIT_LEVEL_CLKGATE2, CPSSUNIT_CLKGATE_DIS))
- },
- { XE_RTP_NAME("1408615072"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(UNSLICE_UNIT_LEVEL_CLKGATE2, VSUNIT_CLKGATE2_DIS))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("22010523718"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G10)),
- XE_RTP_ACTIONS(SET(UNSLICE_UNIT_LEVEL_CLKGATE, CG3DDISCFEG_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14011006942"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G10)),
- XE_RTP_ACTIONS(SET(SUBSLICE_UNIT_LEVEL_CLKGATE, DSS_ROUTER_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14014830051"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(CLR(SARB_CHICKEN1, COMP_CKN_IN))
- },
- { XE_RTP_NAME("18018781329"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(RENDER_MOD_CTRL, FORCE_MISS_FTLB),
- SET(COMP_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VDBX_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VEBX_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("1509235366"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_GAMCNTRL_CTRL,
- INVALIDATION_BROADCAST_MODE_DIS |
- GLOBAL_INVALIDATION_MODE))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("18018781329"),
- XE_RTP_RULES(PLATFORM(PVC)),
- XE_RTP_ACTIONS(SET(RENDER_MOD_CTRL, FORCE_MISS_FTLB),
- SET(COMP_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VDBX_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VEBX_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("16016694945"),
- XE_RTP_RULES(PLATFORM(PVC)),
- XE_RTP_ACTIONS(SET(XEHPC_LNCFMISCCFGREG0, XEHPC_OVRLSCCC))
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("14015795083"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(CLR(MISCCPCTL, DOP_CLOCK_GATE_RENDER_ENABLE))
- },
- { XE_RTP_NAME("14018575942"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(COMP_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("22016670082"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(SQCNT1, ENFORCE_RAR))
- },
-
- /* Xe_LPM+ */
-
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(1300),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("22016670082"),
- XE_RTP_RULES(MEDIA_VERSION(1300)),
- XE_RTP_ACTIONS(SET(XELPMP_SQCNT1, ENFORCE_RAR))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("16020975621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(SET(XEHP_SLICE_UNIT_LEVEL_CLKGATE, SBEUNIT_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14018157293"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(SET(XEHPC_L3CLOS_MASK(0), ~0),
- SET(XEHPC_L3CLOS_MASK(1), ~0),
- SET(XEHPC_L3CLOS_MASK(2), ~0),
- SET(XEHPC_L3CLOS_MASK(3), ~0))
- },
-
- /* Xe2_LPM */
-
- { XE_RTP_NAME("14017421178"),
- XE_RTP_RULES(MEDIA_VERSION(2000),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F10(0), IECPUNIT_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(2000),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14019449301"),
- XE_RTP_RULES(MEDIA_VERSION(2000), ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F08(0), CG3DDISHRS_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
-
- /* Xe2_HPM */
-
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(1301),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14020316580"),
- XE_RTP_RULES(MEDIA_VERSION(1301)),
- XE_RTP_ACTIONS(CLR(POWERGATE_ENABLE,
- VDN_HCP_POWERGATE_ENABLE(0) |
- VDN_MFXVDENC_POWERGATE_ENABLE(0) |
- VDN_HCP_POWERGATE_ENABLE(2) |
- VDN_MFXVDENC_POWERGATE_ENABLE(2))),
- },
- { XE_RTP_NAME("14019449301"),
- XE_RTP_RULES(MEDIA_VERSION(1301), ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F08(0), CG3DDISHRS_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
-
- {}
-};
-
-static const struct xe_rtp_entry_sr engine_was[] = {
- { XE_RTP_NAME("22010931296, 18011464164, 14010919138"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_THREAD_MODE(RENDER_RING_BASE),
- FF_TESSELATION_DOP_GATE_DISABLE))
- },
- { XE_RTP_NAME("1409804808"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200),
- ENGINE_CLASS(RENDER),
- IS_INTEGRATED),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, PUSH_CONST_DEREF_HOLD_DIS))
- },
- { XE_RTP_NAME("14010229206, 1409085225"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200),
- ENGINE_CLASS(RENDER),
- IS_INTEGRATED),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, DISABLE_TDL_PUSH))
- },
- { XE_RTP_NAME("1606931601"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_EARLY_READ))
- },
- { XE_RTP_NAME("14010826681, 1606700617, 22010271021, 18019627453"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1255), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CS_DEBUG_MODE1(RENDER_RING_BASE),
- FF_DOP_CLOCK_GATE_DISABLE))
- },
- { XE_RTP_NAME("1406941453"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(SAMPLER_MODE, ENABLE_SMALLPL))
- },
- { XE_RTP_NAME("FtrPerCtxtPreemptionGranularityControl"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1250), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_SLICE_CS_CHICKEN1(RENDER_RING_BASE),
- FFSC_PERCTX_PREEMPT_CTRL))
- },
-
- /* TGL */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(TIGERLAKE), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* RKL */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(ROCKETLAKE), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* ADL-P */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(ALDERLAKE_P), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("22013037850"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW,
- DISABLE_128B_EVICTION_COMMAND_UDW))
- },
- { XE_RTP_NAME("22014226127"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, DISABLE_D8_D16_COASLESCE))
- },
- { XE_RTP_NAME("18017747507"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(VFG_PREEMPTION_CHICKEN,
- POLYGON_TRIFAN_LINELOOP_DISABLE))
- },
- { XE_RTP_NAME("22012826095, 22013059131"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(FIELD_SET(LSC_CHICKEN_BIT_0_UDW,
- MAXREQS_PER_BANK,
- REG_FIELD_PREP(MAXREQS_PER_BANK, 2)))
- },
- { XE_RTP_NAME("22013059131"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, FORCE_1_SUB_MESSAGE_PER_FRAGMENT))
- },
- { XE_RTP_NAME("14015227452"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE))
- },
- { XE_RTP_NAME("18028616096"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, UGM_FRAGMENT_THRESHOLD_TO_3))
- },
- { XE_RTP_NAME("22015475538"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, DIS_CHAIN_2XSIMD8))
- },
- { XE_RTP_NAME("22012654132"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_SS, ENABLE_PREFETCH_INTO_IC,
- /*
- * Register can't be read back for verification on
- * DG2 due to Wa_14012342262
- */
- .read_mask = 0))
- },
- { XE_RTP_NAME("1509727124"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(SAMPLER_MODE, SC_DISABLE_POWER_OPTIMIZATION_EBB))
- },
- { XE_RTP_NAME("22012856258"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_READ_SUPPRESSION))
- },
- { XE_RTP_NAME("22010960976, 14013347512"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(CLR(XEHP_HDC_CHICKEN0,
- LSC_L1_FLUSH_CTL_3D_DATAPORT_FLUSH_EVENTS_MASK))
- },
- { XE_RTP_NAME("14015150844"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_HDC_CHICKEN0, DIS_ATOMIC_CHAINING_TYPED_WRITES,
- XE_RTP_NOCHECK))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("22014226127"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, DISABLE_D8_D16_COASLESCE))
- },
- { XE_RTP_NAME("14015227452"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE))
- },
- { XE_RTP_NAME("18020744125"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute),
- ENGINE_CLASS(COMPUTE)),
- XE_RTP_ACTIONS(SET(RING_HWSTAM(RENDER_RING_BASE), ~0))
- },
- { XE_RTP_NAME("14014999345"),
- XE_RTP_RULES(PLATFORM(PVC), ENGINE_CLASS(COMPUTE),
- GRAPHICS_STEP(B0, C0)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_SS, DISABLE_ECC))
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("14017856879"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, DIS_FIX_EOT1_FLUSH))
- },
- { XE_RTP_NAME("14015150844"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1271),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_HDC_CHICKEN0, DIS_ATOMIC_CHAINING_TYPED_WRITES,
- XE_RTP_NOCHECK))
- },
- { XE_RTP_NAME("14020495402"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_TDL_SVHS_GATING))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("18032247524"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, SEQUENTIAL_ACCESS_UPGRADE_DISABLE))
- },
- { XE_RTP_NAME("16018712365"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, XE2_ALLOC_DPA_STARVE_FIX_DIS))
- },
- { XE_RTP_NAME("14018957109"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN5, DISABLE_SAMPLE_G_PERFORMANCE))
- },
- { XE_RTP_NAME("14020338487"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, XE2_EUPEND_CHK_FLUSH_DIS))
- },
- { XE_RTP_NAME("18034896535, 16021540221"), /* 16021540221: GRAPHICS_STEP(A0, B0) */
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2004),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, DISABLE_TDL_PUSH))
- },
- { XE_RTP_NAME("14019322943"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, TGM_WRITE_EOM_FORCE))
- },
- { XE_RTP_NAME("14018471104"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, ENABLE_SMP_LD_RENDER_SURFACE_CONTROL))
- },
- { XE_RTP_NAME("16018737384"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN, EARLY_EOT_DIS))
- },
- /*
- * These two workarounds are the same, just applying to different
- * engines. Although Wa_18032095049 (for the RCS) isn't required on
- * all steppings, disabling these reports has no impact for our
- * driver or the GuC, so we go ahead and treat it the same as
- * Wa_16021639441 which does apply to all steppings.
- */
- { XE_RTP_NAME("18032095049, 16021639441"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
- { XE_RTP_NAME("16018610683"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(TDL_TSL_CHICKEN, SLM_WMTP_RESTORE))
- },
- { XE_RTP_NAME("14021402888"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN7, CLEAR_OPTIMIZATION_DISABLE))
- },
-
- /* Xe2_HPG */
-
- { XE_RTP_NAME("16018712365"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, XE2_ALLOC_DPA_STARVE_FIX_DIS))
- },
- { XE_RTP_NAME("16018737384"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN, EARLY_EOT_DIS))
- },
- { XE_RTP_NAME("14019988906"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
- { XE_RTP_NAME("14020338487"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, XE2_EUPEND_CHK_FLUSH_DIS))
- },
- { XE_RTP_NAME("18032247524"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, SEQUENTIAL_ACCESS_UPGRADE_DISABLE))
- },
- { XE_RTP_NAME("14018471104"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, ENABLE_SMP_LD_RENDER_SURFACE_CONTROL))
- },
- /*
- * Although this workaround isn't required for the RCS, disabling these
- * reports has no impact for our driver or the GuC, so we go ahead and
- * apply this to all engines for simplicity.
- */
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
- { XE_RTP_NAME("14019811474"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, WR_REQ_CHAINING_DIS))
- },
- { XE_RTP_NAME("14021402888"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN7, CLEAR_OPTIMIZATION_DISABLE))
- },
- { XE_RTP_NAME("14021821874"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(TDL_TSL_CHICKEN, STK_ID_RESTRICT))
- },
-
- /* Xe2_LPM */
-
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(MEDIA_VERSION(2000)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
-
- /* Xe2_HPM */
-
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(MEDIA_VERSION(1301)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
-
- {}
-};
-
-static const struct xe_rtp_entry_sr lrc_was[] = {
- { XE_RTP_NAME("1409342910, 14010698770, 14010443199, 1408979724, 1409178076, 1409207793, 1409217633, 1409252684, 1409347922, 1409142259"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN3,
- DISABLE_CPS_AWARE_COLOR_PIPE))
- },
- { XE_RTP_NAME("WaDisableGPGPUMidThreadPreemption"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(FIELD_SET(CS_CHICKEN1(RENDER_RING_BASE),
- PREEMPT_GPGPU_LEVEL_MASK,
- PREEMPT_GPGPU_THREAD_GROUP_LEVEL))
- },
- { XE_RTP_NAME("1806527549"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200)),
- XE_RTP_ACTIONS(SET(HIZ_CHICKEN, HZ_DEPTH_TEST_LE_GE_OPT_DISABLE))
- },
- { XE_RTP_NAME("1606376872"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN4, DISABLE_TDC_LOAD_BALANCING_CALC))
- },
-
- /* DG1 */
-
- { XE_RTP_NAME("1409044764"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(CLR(COMMON_SLICE_CHICKEN3,
- DG1_FLOAT_POINT_BLEND_OPT_STRICT_MODE_EN))
- },
- { XE_RTP_NAME("22010493298"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(HIZ_CHICKEN,
- DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("16013271637"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_SLICE_COMMON_ECO_CHICKEN1,
- MSC_MSAA_REODER_BUF_BYPASS_DISABLE))
- },
- { XE_RTP_NAME("14014947963"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(FIELD_SET(VF_PREEMPTION,
- PREEMPTION_VERTEX_COUNT,
- 0x4000))
- },
- { XE_RTP_NAME("18018764978"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_MODE2,
- SCOREBOARD_STALL_FLUSH_CONTROL))
- },
- { XE_RTP_NAME("18019271663"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_1, MSAA_OPTIMIZATION_REDUC_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("16017236439"),
- XE_RTP_RULES(PLATFORM(PVC), ENGINE_CLASS(COPY),
- FUNC(xe_rtp_match_even_instance)),
- XE_RTP_ACTIONS(SET(BCS_SWCTRL(0),
- BCS_SWCTRL_DISABLE_256B,
- XE_RTP_ACTION_FLAG(ENGINE_BASE))),
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("18019271663"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_1, MSAA_OPTIMIZATION_REDUC_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("16020518922"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_TE_AUTOSTRIP |
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
- { XE_RTP_NAME("14019386621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(VF_SCRATCHPAD, XE2_VFG_TED_CREDIT_INTERFACE_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
- { XE_RTP_NAME("14020013138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14019988906"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD))
- },
- { XE_RTP_NAME("16020183090"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(INSTPM(RENDER_RING_BASE), ENABLE_SEMAPHORE_POLL_BIT))
- },
- { XE_RTP_NAME("18033852989"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN1, DISABLE_BOTTOM_CLIP_RECTANGLE_TEST))
- },
- { XE_RTP_NAME("14021567978"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, XE_RTP_END_VERSION_UNDEFINED),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CHICKEN_RASTER_2, TBIMR_FAST_CLIP))
- },
- { XE_RTP_NAME("14020756599"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER), OR,
- MEDIA_VERSION_ANY_GT(2000), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14021490052"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
-
- /* Xe2_HPG */
- { XE_RTP_NAME("15010599737"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CHICKEN_RASTER_1, DIS_SF_ROUND_NEAREST_EVEN))
- },
- { XE_RTP_NAME("14019386621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(VF_SCRATCHPAD, XE2_VFG_TED_CREDIT_INTERFACE_DISABLE))
- },
- { XE_RTP_NAME("14020756599"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14021490052"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
-
- {}
-};
-
-static __maybe_unused const struct xe_rtp_entry oob_was[] = {
-#include <generated/xe_wa_oob.c>
- {}
-};
-
-static_assert(ARRAY_SIZE(oob_was) - 1 == _XE_WA_OOB_COUNT);
-
-__diag_pop();
-
-/**
- * xe_wa_process_oob - process OOB workaround table
- * @gt: GT instance to process workarounds for
- *
- * Process OOB workaround table for this platform, marking in @gt the
- * workarounds that are active.
- */
-void xe_wa_process_oob(struct xe_gt *gt)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(gt);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.oob,
- ARRAY_SIZE(oob_was));
- gt->wa_active.oob_initialized = true;
- xe_rtp_process(&ctx, oob_was);
-}
-
-/**
- * xe_wa_process_gt - process GT workaround table
- * @gt: GT instance to process workarounds for
- *
- * Process GT workaround table for this platform, saving in @gt all the
- * workarounds that need to be applied at the GT level.
- */
-void xe_wa_process_gt(struct xe_gt *gt)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(gt);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.gt,
- ARRAY_SIZE(gt_was));
- xe_rtp_process_to_sr(&ctx, gt_was, &gt->reg_sr);
-}
-EXPORT_SYMBOL_IF_KUNIT(xe_wa_process_gt);
-
-/**
- * xe_wa_process_engine - process engine workaround table
- * @hwe: engine instance to process workarounds for
- *
- * Process engine workaround table for this platform, saving in @hwe all the
- * workarounds that need to be applied at the engine level that match this
- * engine.
- */
-void xe_wa_process_engine(struct xe_hw_engine *hwe)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, hwe->gt->wa_active.engine,
- ARRAY_SIZE(engine_was));
- xe_rtp_process_to_sr(&ctx, engine_was, &hwe->reg_sr);
-}
-
-/**
- * xe_wa_process_lrc - process context workaround table
- * @hwe: engine instance to process workarounds for
- *
- * Process context workaround table for this platform, saving in @hwe all the
- * workarounds that need to be applied on context restore. These are workarounds
- * touching registers that are part of the HW context image.
- */
-void xe_wa_process_lrc(struct xe_hw_engine *hwe)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, hwe->gt->wa_active.lrc,
- ARRAY_SIZE(lrc_was));
- xe_rtp_process_to_sr(&ctx, lrc_was, &hwe->reg_lrc);
-}
-
-/**
- * xe_wa_init - initialize gt with workaround bookkeeping
- * @gt: GT instance to initialize
- *
- * Returns 0 for success, negative error code otherwise.
- */
-int xe_wa_init(struct xe_gt *gt)
-{
- struct xe_device *xe = gt_to_xe(gt);
- size_t n_oob, n_lrc, n_engine, n_gt, total;
- unsigned long *p;
-
- n_gt = BITS_TO_LONGS(ARRAY_SIZE(gt_was));
- n_engine = BITS_TO_LONGS(ARRAY_SIZE(engine_was));
- n_lrc = BITS_TO_LONGS(ARRAY_SIZE(lrc_was));
- n_oob = BITS_TO_LONGS(ARRAY_SIZE(oob_was));
- total = n_gt + n_engine + n_lrc + n_oob;
-
- p = drmm_kzalloc(&xe->drm, sizeof(*p) * total, GFP_KERNEL);
- if (!p)
- return -ENOMEM;
-
- gt->wa_active.gt = p;
- p += n_gt;
- gt->wa_active.engine = p;
- p += n_engine;
- gt->wa_active.lrc = p;
- p += n_lrc;
- gt->wa_active.oob = p;
-
- return 0;
-}
-
-void xe_wa_dump(struct xe_gt *gt, struct drm_printer *p)
-{
- size_t idx;
-
- drm_printf(p, "GT Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.gt, ARRAY_SIZE(gt_was))
- drm_printf_indent(p, 1, "%s\n", gt_was[idx].name);
-
- drm_printf(p, "\nEngine Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.engine, ARRAY_SIZE(engine_was))
- drm_printf_indent(p, 1, "%s\n", engine_was[idx].name);
-
- drm_printf(p, "\nLRC Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.lrc, ARRAY_SIZE(lrc_was))
- drm_printf_indent(p, 1, "%s\n", lrc_was[idx].name);
-
- drm_printf(p, "\nOOB Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.oob, ARRAY_SIZE(oob_was))
- if (oob_was[idx].name)
- drm_printf_indent(p, 1, "%s\n", oob_was[idx].name);
-}
-
-/*
- * Apply tile (non-GT, non-display) workarounds. Think very carefully before
- * adding anything to this function; most workarounds should be implemented
- * elsewhere. The programming here is primarily for sgunit/soc workarounds,
- * which are relatively rare. Since the registers these workarounds target are
- * outside the GT, they should only need to be applied once at device
- * probe/resume; they will not lose their values on any kind of GT or engine
- * reset.
- *
- * TODO: We may want to move this over to xe_rtp in the future once we have
- * enough workarounds to justify the work.
- */
-void xe_wa_apply_tile_workarounds(struct xe_tile *tile)
-{
- struct xe_gt *mmio = tile->primary_gt;
-
- if (IS_SRIOV_VF(tile->xe))
- return;
-
- if (XE_WA(mmio, 22010954014))
- xe_mmio_rmw32(mmio, XEHP_CLOCK_GATE_DIS, 0, SGSI_SIDECLK_DIS);
-}
diff --git a/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/preimage b/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/preimage
deleted file mode 100644
index f7005437f27d..000000000000
--- a/rr-cache/904beded4b558cf3bb988f8f0407391cdd760d66/preimage
+++ /dev/null
@@ -1,906 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2022 Intel Corporation
- */
-
-#include "xe_wa.h"
-
-#include <drm/drm_managed.h>
-#include <kunit/visibility.h>
-#include <linux/compiler_types.h>
-
-#include <generated/xe_wa_oob.h>
-
-#include "regs/xe_engine_regs.h"
-#include "regs/xe_gt_regs.h"
-#include "regs/xe_regs.h"
-#include "xe_device_types.h"
-#include "xe_force_wake.h"
-#include "xe_gt.h"
-#include "xe_hw_engine_types.h"
-#include "xe_mmio.h"
-#include "xe_platform_types.h"
-#include "xe_rtp.h"
-#include "xe_sriov.h"
-#include "xe_step.h"
-
-/**
- * DOC: Hardware workarounds
- *
- * Hardware workarounds are register programming documented to be executed in
- * the driver that fall outside of the normal programming sequences for a
- * platform. There are some basic categories of workarounds, depending on
- * how/when they are applied:
- *
- * - LRC workarounds: workarounds that touch registers that are
- * saved/restored to/from the HW context image. The list is emitted (via Load
- * Register Immediate commands) once when initializing the device and saved in
- * the default context. That default context is then used on every context
- * creation to have a "primed golden context", i.e. a context image that
- * already contains the changes needed to all the registers.
- *
- * - Engine workarounds: the list of these WAs is applied whenever the specific
- * engine is reset. It's also possible that a set of engine classes share a
- * common power domain and they are reset together. This happens on some
- * platforms with render and compute engines. In this case (at least) one of
- * them need to keeep the workaround programming: the approach taken in the
- * driver is to tie those workarounds to the first compute/render engine that
- * is registered. When executing with GuC submission, engine resets are
- * outside of kernel driver control, hence the list of registers involved in
- * written once, on engine initialization, and then passed to GuC, that
- * saves/restores their values before/after the reset takes place. See
- * ``drivers/gpu/drm/xe/xe_guc_ads.c`` for reference.
- *
- * - GT workarounds: the list of these WAs is applied whenever these registers
- * revert to their default values: on GPU reset, suspend/resume [1]_, etc.
- *
- * - Register whitelist: some workarounds need to be implemented in userspace,
- * but need to touch privileged registers. The whitelist in the kernel
- * instructs the hardware to allow the access to happen. From the kernel side,
- * this is just a special case of a MMIO workaround (as we write the list of
- * these to/be-whitelisted registers to some special HW registers).
- *
- * - Workaround batchbuffers: buffers that get executed automatically by the
- * hardware on every HW context restore. These buffers are created and
- * programmed in the default context so the hardware always go through those
- * programming sequences when switching contexts. The support for workaround
- * batchbuffers is enabled these hardware mechanisms:
- *
- * #. INDIRECT_CTX: A batchbuffer and an offset are provided in the default
- * context, pointing the hardware to jump to that location when that offset
- * is reached in the context restore. Workaround batchbuffer in the driver
- * currently uses this mechanism for all platforms.
- *
- * #. BB_PER_CTX_PTR: A batchbuffer is provided in the default context,
- * pointing the hardware to a buffer to continue executing after the
- * engine registers are restored in a context restore sequence. This is
- * currently not used in the driver.
- *
- * - Other/OOB: There are WAs that, due to their nature, cannot be applied from
- * a central place. Those are peppered around the rest of the code, as needed.
- * Workarounds related to the display IP are the main example.
- *
- * .. [1] Technically, some registers are powercontext saved & restored, so they
- * survive a suspend/resume. In practice, writing them again is not too
- * costly and simplifies things, so it's the approach taken in the driver.
- *
- * .. note::
- * Hardware workarounds in xe work the same way as in i915, with the
- * difference of how they are maintained in the code. In xe it uses the
- * xe_rtp infrastructure so the workarounds can be kept in tables, following
- * a more declarative approach rather than procedural.
- */
-
-#undef XE_REG_MCR
-#define XE_REG_MCR(...) XE_REG(__VA_ARGS__, .mcr = 1)
-
-__diag_push();
-__diag_ignore_all("-Woverride-init", "Allow field overrides in table");
-
-static const struct xe_rtp_entry_sr gt_was[] = {
- { XE_RTP_NAME("14011060649"),
- XE_RTP_RULES(MEDIA_VERSION_RANGE(1200, 1255),
- ENGINE_CLASS(VIDEO_DECODE),
- FUNC(xe_rtp_match_even_instance)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F10(0), IECPUNIT_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14011059788"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(SET(DFR_RATIO_EN_AND_CHICKEN, DFR_DISABLE))
- },
- { XE_RTP_NAME("14015795083"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1260)),
- XE_RTP_ACTIONS(CLR(MISCCPCTL, DOP_CLOCK_GATE_RENDER_ENABLE))
- },
-
- /* DG1 */
-
- { XE_RTP_NAME("1409420604"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(SUBSLICE_UNIT_LEVEL_CLKGATE2, CPSSUNIT_CLKGATE_DIS))
- },
- { XE_RTP_NAME("1408615072"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(UNSLICE_UNIT_LEVEL_CLKGATE2, VSUNIT_CLKGATE2_DIS))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("22010523718"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G10)),
- XE_RTP_ACTIONS(SET(UNSLICE_UNIT_LEVEL_CLKGATE, CG3DDISCFEG_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14011006942"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G10)),
- XE_RTP_ACTIONS(SET(SUBSLICE_UNIT_LEVEL_CLKGATE, DSS_ROUTER_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14014830051"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(CLR(SARB_CHICKEN1, COMP_CKN_IN))
- },
- { XE_RTP_NAME("18018781329"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(RENDER_MOD_CTRL, FORCE_MISS_FTLB),
- SET(COMP_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VDBX_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VEBX_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("1509235366"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_GAMCNTRL_CTRL,
- INVALIDATION_BROADCAST_MODE_DIS |
- GLOBAL_INVALIDATION_MODE))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("18018781329"),
- XE_RTP_RULES(PLATFORM(PVC)),
- XE_RTP_ACTIONS(SET(RENDER_MOD_CTRL, FORCE_MISS_FTLB),
- SET(COMP_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VDBX_MOD_CTRL, FORCE_MISS_FTLB),
- SET(XEHP_VEBX_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("16016694945"),
- XE_RTP_RULES(PLATFORM(PVC)),
- XE_RTP_ACTIONS(SET(XEHPC_LNCFMISCCFGREG0, XEHPC_OVRLSCCC))
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("14015795083"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1271), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(CLR(MISCCPCTL, DOP_CLOCK_GATE_RENDER_ENABLE))
- },
- { XE_RTP_NAME("14018575942"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(COMP_MOD_CTRL, FORCE_MISS_FTLB))
- },
- { XE_RTP_NAME("22016670082"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(SQCNT1, ENFORCE_RAR))
- },
-
- /* Xe_LPM+ */
-
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(1300),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("22016670082"),
- XE_RTP_RULES(MEDIA_VERSION(1300)),
- XE_RTP_ACTIONS(SET(XELPMP_SQCNT1, ENFORCE_RAR))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("16020975621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(SET(XEHP_SLICE_UNIT_LEVEL_CLKGATE, SBEUNIT_CLKGATE_DIS))
- },
- { XE_RTP_NAME("14018157293"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0)),
- XE_RTP_ACTIONS(SET(XEHPC_L3CLOS_MASK(0), ~0),
- SET(XEHPC_L3CLOS_MASK(1), ~0),
- SET(XEHPC_L3CLOS_MASK(2), ~0),
- SET(XEHPC_L3CLOS_MASK(3), ~0))
- },
-
- /* Xe2_LPM */
-
- { XE_RTP_NAME("14017421178"),
- XE_RTP_RULES(MEDIA_VERSION(2000),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F10(0), IECPUNIT_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(2000),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14019449301"),
- XE_RTP_RULES(MEDIA_VERSION(2000), ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F08(0), CG3DDISHRS_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
-
- /* Xe2_HPM */
-
- { XE_RTP_NAME("16021867713"),
- XE_RTP_RULES(MEDIA_VERSION(1301),
- ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F1C(0), MFXPIPE_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
- { XE_RTP_NAME("14020316580"),
- XE_RTP_RULES(MEDIA_VERSION(1301)),
- XE_RTP_ACTIONS(CLR(POWERGATE_ENABLE,
- VDN_HCP_POWERGATE_ENABLE(0) |
- VDN_MFXVDENC_POWERGATE_ENABLE(0) |
- VDN_HCP_POWERGATE_ENABLE(2) |
- VDN_MFXVDENC_POWERGATE_ENABLE(2))),
- },
- { XE_RTP_NAME("14019449301"),
- XE_RTP_RULES(MEDIA_VERSION(1301), ENGINE_CLASS(VIDEO_DECODE)),
- XE_RTP_ACTIONS(SET(VDBOX_CGCTL3F08(0), CG3DDISHRS_CLKGATE_DIS)),
- XE_RTP_ENTRY_FLAG(FOREACH_ENGINE),
- },
-
- {}
-};
-
-static const struct xe_rtp_entry_sr engine_was[] = {
- { XE_RTP_NAME("22010931296, 18011464164, 14010919138"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_THREAD_MODE(RENDER_RING_BASE),
- FF_TESSELATION_DOP_GATE_DISABLE))
- },
- { XE_RTP_NAME("1409804808"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200),
- ENGINE_CLASS(RENDER),
- IS_INTEGRATED),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, PUSH_CONST_DEREF_HOLD_DIS))
- },
- { XE_RTP_NAME("14010229206, 1409085225"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200),
- ENGINE_CLASS(RENDER),
- IS_INTEGRATED),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, DISABLE_TDL_PUSH))
- },
- { XE_RTP_NAME("1606931601"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_EARLY_READ))
- },
- { XE_RTP_NAME("14010826681, 1606700617, 22010271021, 18019627453"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1255), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CS_DEBUG_MODE1(RENDER_RING_BASE),
- FF_DOP_CLOCK_GATE_DISABLE))
- },
- { XE_RTP_NAME("1406941453"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(SAMPLER_MODE, ENABLE_SMALLPL))
- },
- { XE_RTP_NAME("FtrPerCtxtPreemptionGranularityControl"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1250), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_SLICE_CS_CHICKEN1(RENDER_RING_BASE),
- FFSC_PERCTX_PREEMPT_CTRL))
- },
-
- /* TGL */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(TIGERLAKE), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* RKL */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(ROCKETLAKE), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* ADL-P */
-
- { XE_RTP_NAME("1607297627, 1607030317, 1607186500"),
- XE_RTP_RULES(PLATFORM(ALDERLAKE_P), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(RING_PSMI_CTL(RENDER_RING_BASE),
- WAIT_FOR_EVENT_POWER_DOWN_DISABLE |
- RC_SEMA_IDLE_MSG_DISABLE))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("22013037850"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW,
- DISABLE_128B_EVICTION_COMMAND_UDW))
- },
- { XE_RTP_NAME("22014226127"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, DISABLE_D8_D16_COASLESCE))
- },
- { XE_RTP_NAME("18017747507"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(VFG_PREEMPTION_CHICKEN,
- POLYGON_TRIFAN_LINELOOP_DISABLE))
- },
- { XE_RTP_NAME("22012826095, 22013059131"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(FIELD_SET(LSC_CHICKEN_BIT_0_UDW,
- MAXREQS_PER_BANK,
- REG_FIELD_PREP(MAXREQS_PER_BANK, 2)))
- },
- { XE_RTP_NAME("22013059131"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, FORCE_1_SUB_MESSAGE_PER_FRAGMENT))
- },
- { XE_RTP_NAME("14015227452"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE))
- },
- { XE_RTP_NAME("18028616096"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, UGM_FRAGMENT_THRESHOLD_TO_3))
- },
- { XE_RTP_NAME("22015475538"),
- XE_RTP_RULES(PLATFORM(DG2),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, DIS_CHAIN_2XSIMD8))
- },
- { XE_RTP_NAME("22012654132"),
- XE_RTP_RULES(SUBPLATFORM(DG2, G11),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_SS, ENABLE_PREFETCH_INTO_IC,
- /*
- * Register can't be read back for verification on
- * DG2 due to Wa_14012342262
- */
- .read_mask = 0))
- },
- { XE_RTP_NAME("1509727124"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(SAMPLER_MODE, SC_DISABLE_POWER_OPTIMIZATION_EBB))
- },
- { XE_RTP_NAME("22012856258"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_READ_SUPPRESSION))
- },
- { XE_RTP_NAME("22010960976, 14013347512"),
- XE_RTP_RULES(PLATFORM(DG2), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(CLR(XEHP_HDC_CHICKEN0,
- LSC_L1_FLUSH_CTL_3D_DATAPORT_FLUSH_EVENTS_MASK))
- },
- { XE_RTP_NAME("14015150844"),
- XE_RTP_RULES(PLATFORM(DG2), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_HDC_CHICKEN0, DIS_ATOMIC_CHAINING_TYPED_WRITES,
- XE_RTP_NOCHECK))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("22014226127"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, DISABLE_D8_D16_COASLESCE))
- },
- { XE_RTP_NAME("14015227452"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, XEHP_DIS_BBL_SYSPIPE))
- },
- { XE_RTP_NAME("18020744125"),
- XE_RTP_RULES(PLATFORM(PVC), FUNC(xe_rtp_match_first_render_or_compute),
- ENGINE_CLASS(COMPUTE)),
- XE_RTP_ACTIONS(SET(RING_HWSTAM(RENDER_RING_BASE), ~0))
- },
- { XE_RTP_NAME("14014999345"),
- XE_RTP_RULES(PLATFORM(PVC), ENGINE_CLASS(COMPUTE),
- GRAPHICS_STEP(B0, C0)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_SS, DISABLE_ECC))
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("14017856879"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, DIS_FIX_EOT1_FLUSH))
- },
- { XE_RTP_NAME("14015150844"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1271),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_HDC_CHICKEN0, DIS_ATOMIC_CHAINING_TYPED_WRITES,
- XE_RTP_NOCHECK))
- },
- { XE_RTP_NAME("14020495402"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN2, DISABLE_TDL_SVHS_GATING))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("18032247524"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, SEQUENTIAL_ACCESS_UPGRADE_DISABLE))
- },
- { XE_RTP_NAME("16018712365"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, XE2_ALLOC_DPA_STARVE_FIX_DIS))
- },
- { XE_RTP_NAME("14018957109"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN5, DISABLE_SAMPLE_G_PERFORMANCE))
- },
- { XE_RTP_NAME("14020338487"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, XE2_EUPEND_CHK_FLUSH_DIS))
- },
- { XE_RTP_NAME("18034896535, 16021540221"), /* 16021540221: GRAPHICS_STEP(A0, B0) */
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2004),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN4, DISABLE_TDL_PUSH))
- },
- { XE_RTP_NAME("14019322943"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, TGM_WRITE_EOM_FORCE))
- },
- { XE_RTP_NAME("14018471104"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, ENABLE_SMP_LD_RENDER_SURFACE_CONTROL))
- },
- { XE_RTP_NAME("16018737384"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN, EARLY_EOT_DIS))
- },
- /*
- * These two workarounds are the same, just applying to different
- * engines. Although Wa_18032095049 (for the RCS) isn't required on
- * all steppings, disabling these reports has no impact for our
- * driver or the GuC, so we go ahead and treat it the same as
- * Wa_16021639441 which does apply to all steppings.
- */
- { XE_RTP_NAME("18032095049, 16021639441"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
- { XE_RTP_NAME("16018610683"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(TDL_TSL_CHICKEN, SLM_WMTP_RESTORE))
- },
- { XE_RTP_NAME("14021402888"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN7, CLEAR_OPTIMIZATION_DISABLE))
- },
-
- /* Xe2_HPG */
-
- { XE_RTP_NAME("16018712365"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, XE2_ALLOC_DPA_STARVE_FIX_DIS))
- },
- { XE_RTP_NAME("16018737384"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN, EARLY_EOT_DIS))
- },
- { XE_RTP_NAME("14019988906"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
- { XE_RTP_NAME("14020338487"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(ROW_CHICKEN3, XE2_EUPEND_CHK_FLUSH_DIS))
- },
- { XE_RTP_NAME("18032247524"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, SEQUENTIAL_ACCESS_UPGRADE_DISABLE))
- },
- { XE_RTP_NAME("14018471104"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0_UDW, ENABLE_SMP_LD_RENDER_SURFACE_CONTROL))
- },
- /*
- * Although this workaround isn't required for the RCS, disabling these
- * reports has no impact for our driver or the GuC, so we go ahead and
- * apply this to all engines for simplicity.
- */
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
- { XE_RTP_NAME("14019811474"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001),
- FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(LSC_CHICKEN_BIT_0, WR_REQ_CHAINING_DIS))
- },
- { XE_RTP_NAME("14021402888"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(HALF_SLICE_CHICKEN7, CLEAR_OPTIMIZATION_DISABLE))
- },
- { XE_RTP_NAME("14021821874"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), FUNC(xe_rtp_match_first_render_or_compute)),
- XE_RTP_ACTIONS(SET(TDL_TSL_CHICKEN, STK_ID_RESTRICT))
- },
-<<<<<<<
-=======
-
- /* Xe2_LPM */
-
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(MEDIA_VERSION(2000)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
->>>>>>>
-
- /* Xe2_LPM */
-
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(MEDIA_VERSION(2000)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
-
- /* Xe2_HPM */
-
- { XE_RTP_NAME("16021639441"),
- XE_RTP_RULES(MEDIA_VERSION(1301)),
- XE_RTP_ACTIONS(SET(CSFE_CHICKEN1(0),
- GHWSP_CSB_REPORT_DIS |
- PPHWSP_CSB_AND_TIMESTAMP_REPORT_DIS,
- XE_RTP_ACTION_FLAG(ENGINE_BASE)))
- },
-
- {}
-};
-
-static const struct xe_rtp_entry_sr lrc_was[] = {
- { XE_RTP_NAME("1409342910, 14010698770, 14010443199, 1408979724, 1409178076, 1409207793, 1409217633, 1409252684, 1409347922, 1409142259"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN3,
- DISABLE_CPS_AWARE_COLOR_PIPE))
- },
- { XE_RTP_NAME("WaDisableGPGPUMidThreadPreemption"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1210)),
- XE_RTP_ACTIONS(FIELD_SET(CS_CHICKEN1(RENDER_RING_BASE),
- PREEMPT_GPGPU_LEVEL_MASK,
- PREEMPT_GPGPU_THREAD_GROUP_LEVEL))
- },
- { XE_RTP_NAME("1806527549"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200)),
- XE_RTP_ACTIONS(SET(HIZ_CHICKEN, HZ_DEPTH_TEST_LE_GE_OPT_DISABLE))
- },
- { XE_RTP_NAME("1606376872"),
- XE_RTP_RULES(GRAPHICS_VERSION(1200)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN4, DISABLE_TDC_LOAD_BALANCING_CALC))
- },
-
- /* DG1 */
-
- { XE_RTP_NAME("1409044764"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(CLR(COMMON_SLICE_CHICKEN3,
- DG1_FLOAT_POINT_BLEND_OPT_STRICT_MODE_EN))
- },
- { XE_RTP_NAME("22010493298"),
- XE_RTP_RULES(PLATFORM(DG1)),
- XE_RTP_ACTIONS(SET(HIZ_CHICKEN,
- DG1_HZ_READ_SUPPRESSION_OPTIMIZATION_DISABLE))
- },
-
- /* DG2 */
-
- { XE_RTP_NAME("16013271637"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_SLICE_COMMON_ECO_CHICKEN1,
- MSC_MSAA_REODER_BUF_BYPASS_DISABLE))
- },
- { XE_RTP_NAME("14014947963"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(FIELD_SET(VF_PREEMPTION,
- PREEMPTION_VERTEX_COUNT,
- 0x4000))
- },
- { XE_RTP_NAME("18018764978"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_MODE2,
- SCOREBOARD_STALL_FLUSH_CONTROL))
- },
- { XE_RTP_NAME("18019271663"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_1, MSAA_OPTIMIZATION_REDUC_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(PLATFORM(DG2)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
-
- /* PVC */
-
- { XE_RTP_NAME("16017236439"),
- XE_RTP_RULES(PLATFORM(PVC), ENGINE_CLASS(COPY),
- FUNC(xe_rtp_match_even_instance)),
- XE_RTP_ACTIONS(SET(BCS_SWCTRL(0),
- BCS_SWCTRL_DISABLE_256B,
- XE_RTP_ACTION_FLAG(ENGINE_BASE))),
- },
-
- /* Xe_LPG */
-
- { XE_RTP_NAME("18019271663"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274)),
- XE_RTP_ACTIONS(SET(CACHE_MODE_1, MSAA_OPTIMIZATION_REDUC_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1270, 1274), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
-
- /* Xe2_LPG */
-
- { XE_RTP_NAME("16020518922"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_TE_AUTOSTRIP |
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
- { XE_RTP_NAME("14019386621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(VF_SCRATCHPAD, XE2_VFG_TED_CREDIT_INTERFACE_DISABLE))
- },
- { XE_RTP_NAME("14019877138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FD_END_COLLECT))
- },
- { XE_RTP_NAME("14020013138"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14019988906"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(XEHP_PSS_CHICKEN, FLSH_IGNORES_PSD))
- },
- { XE_RTP_NAME("16020183090"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), GRAPHICS_STEP(A0, B0),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(INSTPM(RENDER_RING_BASE), ENABLE_SEMAPHORE_POLL_BIT))
- },
- { XE_RTP_NAME("18033852989"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, 2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(COMMON_SLICE_CHICKEN1, DISABLE_BOTTOM_CLIP_RECTANGLE_TEST))
- },
- { XE_RTP_NAME("14021567978"),
- XE_RTP_RULES(GRAPHICS_VERSION_RANGE(2001, XE_RTP_END_VERSION_UNDEFINED),
- ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CHICKEN_RASTER_2, TBIMR_FAST_CLIP))
- },
- { XE_RTP_NAME("14020756599"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER), OR,
- MEDIA_VERSION_ANY_GT(2000), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14021490052"),
- XE_RTP_RULES(GRAPHICS_VERSION(2004), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
-
- /* Xe2_HPG */
- { XE_RTP_NAME("15010599737"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(CHICKEN_RASTER_1, DIS_SF_ROUND_NEAREST_EVEN))
- },
- { XE_RTP_NAME("14019386621"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(VF_SCRATCHPAD, XE2_VFG_TED_CREDIT_INTERFACE_DISABLE))
- },
- { XE_RTP_NAME("14020756599"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(WM_CHICKEN3, HIZ_PLANE_COMPRESSION_DIS))
- },
- { XE_RTP_NAME("14021490052"),
- XE_RTP_RULES(GRAPHICS_VERSION(2001), ENGINE_CLASS(RENDER)),
- XE_RTP_ACTIONS(SET(FF_MODE,
- DIS_MESH_PARTIAL_AUTOSTRIP |
- DIS_MESH_AUTOSTRIP),
- SET(VFLSKPD,
- DIS_PARTIAL_AUTOSTRIP |
- DIS_AUTOSTRIP))
- },
-
- {}
-};
-
-static __maybe_unused const struct xe_rtp_entry oob_was[] = {
-#include <generated/xe_wa_oob.c>
- {}
-};
-
-static_assert(ARRAY_SIZE(oob_was) - 1 == _XE_WA_OOB_COUNT);
-
-__diag_pop();
-
-/**
- * xe_wa_process_oob - process OOB workaround table
- * @gt: GT instance to process workarounds for
- *
- * Process OOB workaround table for this platform, marking in @gt the
- * workarounds that are active.
- */
-void xe_wa_process_oob(struct xe_gt *gt)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(gt);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.oob,
- ARRAY_SIZE(oob_was));
- gt->wa_active.oob_initialized = true;
- xe_rtp_process(&ctx, oob_was);
-}
-
-/**
- * xe_wa_process_gt - process GT workaround table
- * @gt: GT instance to process workarounds for
- *
- * Process GT workaround table for this platform, saving in @gt all the
- * workarounds that need to be applied at the GT level.
- */
-void xe_wa_process_gt(struct xe_gt *gt)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(gt);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, gt->wa_active.gt,
- ARRAY_SIZE(gt_was));
- xe_rtp_process_to_sr(&ctx, gt_was, &gt->reg_sr);
-}
-EXPORT_SYMBOL_IF_KUNIT(xe_wa_process_gt);
-
-/**
- * xe_wa_process_engine - process engine workaround table
- * @hwe: engine instance to process workarounds for
- *
- * Process engine workaround table for this platform, saving in @hwe all the
- * workarounds that need to be applied at the engine level that match this
- * engine.
- */
-void xe_wa_process_engine(struct xe_hw_engine *hwe)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, hwe->gt->wa_active.engine,
- ARRAY_SIZE(engine_was));
- xe_rtp_process_to_sr(&ctx, engine_was, &hwe->reg_sr);
-}
-
-/**
- * xe_wa_process_lrc - process context workaround table
- * @hwe: engine instance to process workarounds for
- *
- * Process context workaround table for this platform, saving in @hwe all the
- * workarounds that need to be applied on context restore. These are workarounds
- * touching registers that are part of the HW context image.
- */
-void xe_wa_process_lrc(struct xe_hw_engine *hwe)
-{
- struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(hwe);
-
- xe_rtp_process_ctx_enable_active_tracking(&ctx, hwe->gt->wa_active.lrc,
- ARRAY_SIZE(lrc_was));
- xe_rtp_process_to_sr(&ctx, lrc_was, &hwe->reg_lrc);
-}
-
-/**
- * xe_wa_init - initialize gt with workaround bookkeeping
- * @gt: GT instance to initialize
- *
- * Returns 0 for success, negative error code otherwise.
- */
-int xe_wa_init(struct xe_gt *gt)
-{
- struct xe_device *xe = gt_to_xe(gt);
- size_t n_oob, n_lrc, n_engine, n_gt, total;
- unsigned long *p;
-
- n_gt = BITS_TO_LONGS(ARRAY_SIZE(gt_was));
- n_engine = BITS_TO_LONGS(ARRAY_SIZE(engine_was));
- n_lrc = BITS_TO_LONGS(ARRAY_SIZE(lrc_was));
- n_oob = BITS_TO_LONGS(ARRAY_SIZE(oob_was));
- total = n_gt + n_engine + n_lrc + n_oob;
-
- p = drmm_kzalloc(&xe->drm, sizeof(*p) * total, GFP_KERNEL);
- if (!p)
- return -ENOMEM;
-
- gt->wa_active.gt = p;
- p += n_gt;
- gt->wa_active.engine = p;
- p += n_engine;
- gt->wa_active.lrc = p;
- p += n_lrc;
- gt->wa_active.oob = p;
-
- return 0;
-}
-
-void xe_wa_dump(struct xe_gt *gt, struct drm_printer *p)
-{
- size_t idx;
-
- drm_printf(p, "GT Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.gt, ARRAY_SIZE(gt_was))
- drm_printf_indent(p, 1, "%s\n", gt_was[idx].name);
-
- drm_printf(p, "\nEngine Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.engine, ARRAY_SIZE(engine_was))
- drm_printf_indent(p, 1, "%s\n", engine_was[idx].name);
-
- drm_printf(p, "\nLRC Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.lrc, ARRAY_SIZE(lrc_was))
- drm_printf_indent(p, 1, "%s\n", lrc_was[idx].name);
-
- drm_printf(p, "\nOOB Workarounds\n");
- for_each_set_bit(idx, gt->wa_active.oob, ARRAY_SIZE(oob_was))
- if (oob_was[idx].name)
- drm_printf_indent(p, 1, "%s\n", oob_was[idx].name);
-}
-
-/*
- * Apply tile (non-GT, non-display) workarounds. Think very carefully before
- * adding anything to this function; most workarounds should be implemented
- * elsewhere. The programming here is primarily for sgunit/soc workarounds,
- * which are relatively rare. Since the registers these workarounds target are
- * outside the GT, they should only need to be applied once at device
- * probe/resume; they will not lose their values on any kind of GT or engine
- * reset.
- *
- * TODO: We may want to move this over to xe_rtp in the future once we have
- * enough workarounds to justify the work.
- */
-void xe_wa_apply_tile_workarounds(struct xe_tile *tile)
-{
- struct xe_gt *mmio = tile->primary_gt;
-
- if (IS_SRIOV_VF(tile->xe))
- return;
-
- if (XE_WA(mmio, 22010954014))
- xe_mmio_rmw32(mmio, XEHP_CLOCK_GATE_DIS, 0, SGSI_SIDECLK_DIS);
-}