drm/xe/ptl: Apply Wa_16026007364

As part of this WA GuC will save and restore value of two XE3_Media
control registers that were not included in the HW power context.

v2:
  - Update klv name (Badal)

Signed-off-by: sanirban <sk.anirban@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Link: https://lore.kernel.org/r/20250619133413.107423-2-sk.anirban@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
sanirban 2025-06-19 19:04:14 +05:30 committed by Rodrigo Vivi
parent 3c0f211bc8
commit 3972872e45
No known key found for this signature in database
GPG Key ID: FA625F640EEB13CA
3 changed files with 7 additions and 0 deletions

View File

@ -368,6 +368,7 @@ enum xe_guc_klv_ids {
GUC_WORKAROUND_KLV_ID_BACK_TO_BACK_RCS_ENGINE_RESET = 0x9009,
GUC_WA_KLV_WAKE_POWER_DOMAINS_FOR_OUTBOUND_MMIO = 0x900a,
GUC_WA_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH = 0x900b,
GUC_WA_KLV_RESTORE_UNSAVED_MEDIA_CONTROL_REG = 0x900c,
};
#endif

View File

@ -382,6 +382,11 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
GUC_WA_KLV_RESET_BB_STACK_PTR_ON_VF_SWITCH,
&offset, &remain);
if (XE_WA(gt, 16026007364))
guc_waklv_enable_simple(ads,
GUC_WA_KLV_RESTORE_UNSAVED_MEDIA_CONTROL_REG,
&offset, &remain);
size = guc_ads_waklv_size(ads) - remain;
if (!size)
return;

View File

@ -70,3 +70,4 @@ no_media_l3 MEDIA_VERSION(3000)
# SoC workaround - currently applies to all platforms with the following
# primary GT GMDID
14022085890 GRAPHICS_VERSION(2001)
16026007364 MEDIA_VERSION(3000)