]> 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)
committerDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Fri, 27 Mar 2026 13:54:47 +0000 (06:54 -0700)
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
drivers/gpu/drm/xe/xe_pxp.c

index aad3dfa3156eeb7c0676a94f5a1616a5a832d19f..7244090b0782553ec57fc5d62420e4c16048b935 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;