Commit 29042df3 authored by Badal Nilawar's avatar Badal Nilawar Committed by Lucas De Marchi
Browse files

drm/xe/psmi: Add Wa_14020001231



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: default avatarBadal Nilawar <badal.nilawar@intel.com>
Reviewed-by: default avatarMatt Atwood <matthew.s.atwood@intel.com>
Link: https://lore.kernel.org/r/20250821-psmi-v5-4-34ab7550d3d8@intel.com


Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
parent d67b1dfa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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,
+4 −0
Original line number Diff line number Diff line
@@ -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;
+4 −0
Original line number Diff line number Diff line
@@ -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