]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe/psmi: Add Wa_16023683509
authorVinay Belgaumkar <vinay.belgaumkar@intel.com>
Thu, 21 Aug 2025 16:18:00 +0000 (09:18 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 22 Aug 2025 18:46:44 +0000 (11:46 -0700)
This WA ensures GuC will restore the media MCFG registers at C6
exit.

Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
Link: https://lore.kernel.org/r/20250821-psmi-v5-5-34ab7550d3d8@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_guc.c
drivers/gpu/drm/xe/xe_guc_fwif.h
drivers/gpu/drm/xe/xe_wa_oob.rules

index 883f700e532a780cbc711e1246cefad2ff5a0a6b..37d06c51180cbd38aa01856bbf7fde847ee08828 100644 (file)
@@ -219,6 +219,9 @@ static u32 guc_ctl_wa_flags(struct xe_guc *guc)
        if (XE_GT_WA(gt, 14018913170))
                flags |= GUC_WA_ENABLE_TSC_CHECK_ON_RC6;
 
+       if (XE_GT_WA(gt, 16023683509))
+               flags |= GUC_WA_SAVE_RESTORE_MCFG_REG_AT_MC6;
+
        return flags;
 }
 
index 400004f1838a043a1749f8d07f4f7f79b9a94849..0508f1064178ed1a64990ce528c6342cff8ab810 100644 (file)
@@ -108,6 +108,7 @@ struct guc_update_exec_queue_policy {
 #define   GUC_WA_RENDER_RST_RC6_EXIT   BIT(19)
 #define   GUC_WA_RCS_REGS_IN_CCS_REGS_LIST     BIT(21)
 #define   GUC_WA_ENABLE_TSC_CHECK_ON_RC6       BIT(22)
+#define   GUC_WA_SAVE_RESTORE_MCFG_REG_AT_MC6  BIT(25)
 
 #define GUC_CTL_FEATURE                        2
 #define   GUC_CTL_ENABLE_SLPC          BIT(2)
index 303a5e05d99329870f8bacd8752b25ca8392afd1..27cd19b98f8ea537595e9af5e21b1f0ad838902c 100644 (file)
@@ -72,6 +72,8 @@ no_media_l3   MEDIA_VERSION(3000)
                MEDIA_VERSION(2000), FUNC(xe_rtp_match_psmi_enabled)
                MEDIA_VERSION(3000), FUNC(xe_rtp_match_psmi_enabled)
                MEDIA_VERSION(3002), FUNC(xe_rtp_match_psmi_enabled)
+16023683509    MEDIA_VERSION(2000), FUNC(xe_rtp_match_psmi_enabled)
+               MEDIA_VERSION(3000), MEDIA_STEP(A0, B0), FUNC(xe_rtp_match_psmi_enabled)
 
 # SoC workaround - currently applies to all platforms with the following
 # primary GT GMDID