]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/xe/psmi: Add Wa_14020001231
authorBadal Nilawar <badal.nilawar@intel.com>
Thu, 21 Aug 2025 16:17:59 +0000 (09:17 -0700)
committerLucas De Marchi <lucas.demarchi@intel.com>
Fri, 22 Aug 2025 18:46:44 +0000 (11:46 -0700)
Enable Wa 14020001231 to block psmi interrupts during C6 entry exit
flow. It's only enabled if PSMI is enabled in runtime.

Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: Matt Atwood <matthew.s.atwood@intel.com>
Link: https://lore.kernel.org/r/20250821-psmi-v5-4-34ab7550d3d8@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/abi/guc_klvs_abi.h
drivers/gpu/drm/xe/xe_guc_ads.c
drivers/gpu/drm/xe/xe_wa_oob.rules

index 31dbfeee289e79104aef59e15e85485bd53157a6..0e78351c6ef5afb840f54125419507ddd3b5df7b 100644 (file)
@@ -390,6 +390,7 @@ enum  {
  */
 enum xe_guc_klv_ids {
        GUC_WORKAROUND_KLV_BLOCK_INTERRUPTS_WHEN_MGSR_BLOCKED                           = 0x9002,
+       GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT          = 0x9004,
        GUC_WORKAROUND_KLV_ID_GAM_PFQ_SHADOW_TAIL_POLLING                               = 0x9005,
        GUC_WORKAROUND_KLV_ID_DISABLE_MTP_DURING_ASYNC_COMPUTE                          = 0x9007,
        GUC_WA_KLV_NP_RD_WRITE_TO_CLEAR_RCSM_AT_CGP_LATE_RESTORE                        = 0x9008,
index d7da67637079210c9664e2e3bd126bceac84d1e1..5631722f34f53fd718f690e074b4f211f1fb5635 100644 (file)
@@ -359,6 +359,10 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
                                 GUC_WA_KLV_RESTORE_UNSAVED_MEDIA_CONTROL_REG);
        }
 
+       if (XE_GT_WA(gt, 14020001231))
+               guc_waklv_enable(ads, NULL, 0, &offset, &remain,
+                                GUC_WORKAROUND_KLV_DISABLE_PSMI_INTERRUPTS_AT_C6_ENTRY_RESTORE_AT_EXIT);
+
        size = guc_ads_waklv_size(ads) - remain;
        if (!size)
                return;
index 8d0aabab6777304625cf84b253627f91e258ad9f..303a5e05d99329870f8bacd8752b25ca8392afd1 100644 (file)
@@ -68,6 +68,10 @@ no_media_l3  MEDIA_VERSION(3000)
                MEDIA_VERSION_RANGE(1300, 3000)
                MEDIA_VERSION(3002)
                GRAPHICS_VERSION(3003)
+14020001231    GRAPHICS_VERSION_RANGE(2001,2004), FUNC(xe_rtp_match_psmi_enabled)
+               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)
 
 # SoC workaround - currently applies to all platforms with the following
 # primary GT GMDID