]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe: add gt tuning for indirect state
authorMatt Atwood <matthew.s.atwood@intel.com>
Fri, 6 Oct 2023 16:47:59 +0000 (09:47 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:42:10 +0000 (11:42 -0500)
Force indirect state sampler data to only be in the dynamic state pool,
which is more convienent for the UMD. Behavior change mirrors similar
change for i915 in commit 16fc9c08f0ec ("drm/i915: disable sampler
indirect state in bindless heap")

v2: split out per engine tuning into separate patch, commit message
(Lucas)
v3: rebase
v4: Change to match render only, g.ver 1200 to 1271 (MattR)

Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Matt Atwood <matthew.s.atwood@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/regs/xe_gt_regs.h
drivers/gpu/drm/xe/xe_tuning.c

index 83519a424aab1c6200a3497a06c7121d2d3846b0..cd1821d96a5d82feaf65d67e8f3ce5b33478c10c 100644 (file)
 #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)
index 3ad11c259300326b28eeed78b114ba39234a98ef..d705198165220ff27ee31aae8923af29b421d006 100644 (file)
@@ -28,6 +28,11 @@ static const struct xe_rtp_entry_sr gt_tunings[] = {
 };
 
 static const struct xe_rtp_entry_sr engine_tunings[] = {
+       { XE_RTP_NAME("Tuning: Set Indirect State Override"),
+         XE_RTP_RULES(GRAPHICS_VERSION_RANGE(1200, 1271),
+                      ENGINE_CLASS(RENDER)),
+         XE_RTP_ACTIONS(SET(SAMPLER_MODE, INDIRECT_STATE_BASE_ADDR_OVERRIDE))
+       },
        {}
 };