drm/xe/xelpmp: Add Wa_16021867713
authorGustavo Sousa <gustavo.sousa@intel.com>
Mon, 6 Nov 2023 21:06:57 +0000 (18:06 -0300)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:43:34 +0000 (11:43 -0500)
This workaround applies to all steppings of Xe_LPM+. Implement the KMD
part.

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20231106210655.175109-3-gustavo.sousa@intel.com
Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/regs/xe_engine_regs.h
drivers/gpu/drm/xe/xe_wa.c

index 35dd483..b57dec1 100644 (file)
 #define VDBOX_CGCTL3F18(base)                  XE_REG((base) + 0x3f18)
 #define   ALNUNIT_CLKGATE_DIS                  REG_BIT(13)
 
+#define VDBOX_CGCTL3F1C(base)                  XE_REG((base) + 0x3f1c)
+#define   MFXPIPE_CLKGATE_DIS                  REG_BIT(3)
+
 #endif
index 2f1782d..614e114 100644 (file)
@@ -248,6 +248,12 @@ static const struct xe_rtp_entry_sr gt_was[] = {
 
        /* 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))