drm/xe/xe3lpg: Add Wa_16024792527
authorApoorva Singh <apoorva.singh@intel.com>
Thu, 7 Nov 2024 08:21:58 +0000 (13:51 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 27 Nov 2024 10:36:55 +0000 (05:36 -0500)
Force Sampler Tile64 Overfetch via MMIO

Signed-off-by: Apoorva Singh <apoorva.singh@intel.com>
Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241107082158.1436637-1-apoorva.singh@intel.com
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@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_wa.c

index 0c9e4b2..162f18e 100644 (file)
 
 #define SAMPLER_MODE                           XE_REG_MCR(0xe18c, XE_REG_OPTION_MASKED)
 #define   ENABLE_SMALLPL                       REG_BIT(15)
+#define   SMP_WAIT_FETCH_MERGING_COUNTER       REG_GENMASK(11, 10)
+#define   SMP_FORCE_128B_OVERFETCH             REG_FIELD_PREP(SMP_WAIT_FETCH_MERGING_COUNTER, 1)
 #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)
index 02cf647..570fe03 100644 (file)
@@ -607,6 +607,12 @@ static const struct xe_rtp_entry_sr engine_was[] = {
                       FUNC(xe_rtp_match_first_render_or_compute)),
          XE_RTP_ACTIONS(SET(ROW_CHICKEN4, DISABLE_TDL_PUSH))
        },
+       { XE_RTP_NAME("16024792527"),
+         XE_RTP_RULES(GRAPHICS_VERSION(3000), GRAPHICS_STEP(A0, B0),
+                      FUNC(xe_rtp_match_first_render_or_compute)),
+         XE_RTP_ACTIONS(FIELD_SET(SAMPLER_MODE, SMP_WAIT_FETCH_MERGING_COUNTER,
+                                  SMP_FORCE_128B_OVERFETCH))
+       },
 
        {}
 };