]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Revert "drm/xe/ptl: Apply Wa_16026007364"
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Wed, 25 Jun 2025 00:12:03 +0000 (17:12 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 25 Jun 2025 14:18:04 +0000 (10:18 -0400)
This reverts commit 3972872e459d812ab5e481a231a6066cf4f4d0f4.

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: 3972872e459d ("drm/xe/ptl: Apply Wa_16026007364")
Signed-off-by: Daniele 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: Rodrigo Vivi <rodrigo.vivi@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 e2583761a70d66552e9f8555fbb6f301ed12dc23..7de8f827281fcd0278a0a490191111857f5ee73c 100644 (file)
@@ -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
index f3c74f9a40c67ce0d548f3d37a0eb2f97fba6340..07a0277556271270415f7aa7861566fb0cdffd10 100644 (file)
@@ -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;
index 8c2aa48cb33a853cdd683a5da4368d1d9869a4b2..96cc33da0fb574e01a2cf7b0851b20e54c97e26d 100644 (file)
@@ -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)