]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/pxp: Don't allow PXP on older PTL GSC FWs
authorDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Tue, 24 Mar 2026 15:37:23 +0000 (08:37 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 30 Mar 2026 12:52:08 +0000 (08:52 -0400)
On PTL, older GSC FWs have a bug that can cause them to crash during
PXP invalidation events, which leads to a complete loss of power
management on the media GT. Therefore, we can't use PXP on FWs that
have this bug, which was fixed in PTL GSC build 1396.

Fixes: b1dcec9bd8a1 ("drm/xe/ptl: Enable PXP for PTL")
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Julia Filipchuk <julia.filipchuk@intel.com>
Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com>
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patch.msgid.link/20260324153718.3155504-10-daniele.ceraolospurio@intel.com
(cherry picked from commit 6eb04caaa972934c9b6cea0e0c29e466bf9a346f)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_pxp.c

index 088a1ab75f7017d3083ad12ae18e0b7ebb983a26..872217f30375383c6fbc694a94aa7ae068464460 100644 (file)
@@ -380,6 +380,18 @@ int xe_pxp_init(struct xe_device *xe)
                return 0;
        }
 
+       /*
+        * On PTL, older GSC FWs have a bug that can cause them to crash during
+        * PXP invalidation events, which leads to a complete loss of power
+        * management on the media GT. Therefore, we can't use PXP on FWs that
+        * have this bug, which was fixed in PTL GSC build 1396.
+        */
+       if (xe->info.platform == XE_PANTHERLAKE &&
+           gt->uc.gsc.fw.versions.found[XE_UC_FW_VER_RELEASE].build < 1396) {
+               drm_info(&xe->drm, "PXP requires PTL GSC build 1396 or newer\n");
+               return 0;
+       }
+
        pxp = drmm_kzalloc(&xe->drm, sizeof(struct xe_pxp), GFP_KERNEL);
        if (!pxp) {
                err = -ENOMEM;