Unverified Commit dfe6c281 authored by Daniele Ceraolo Spurio's avatar Daniele Ceraolo Spurio Committed by Rodrigo Vivi
Browse files

Revert "drm/xe/ptl: Apply Wa_16026007364"



This reverts commit 3972872e.

There are several things wrong with the way this WA was implemented:

- The KLV is only supported on GuC 70.47.0 or newer, so we shouldn't
  apply it unconditionally.

- The KLV requires 2 DWs of data, which are not currently provided.

The GuC currently ignores any unknown KLVs, so on versions older that
70.47.0 nothing happens. However, starting on 70.47.0 the GuC attempts
to parse the KLV and fails due to the missing data, causing a GuC load
abort.

Given that 70.47.0 is the first GuC version approved for public release
for PTL, let's revert this patch so it doesn't cause the GuC load to
fail with that blob. We can then re-apply it properly fixed after the
GuC definition is merged, which will also have the added benefit of
running the KLV addition through CI with the right GuC version.

Fixes: 3972872e ("drm/xe/ptl: Apply Wa_16026007364")
Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: sanirban <sk.anirban@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://lore.kernel.org/r/20250625001202.1616606-2-daniele.ceraolospurio@intel.com


Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 771f002e
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -368,7 +368,6 @@ 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
+0 −5
Original line number Diff line number Diff line
@@ -382,11 +382,6 @@ 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;
+0 −1
Original line number Diff line number Diff line
@@ -70,4 +70,3 @@ 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)