]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/xe/pf: Allow upon-any-hang wedged mode only in debug config
authorLukasz Laguna <lukasz.laguna@intel.com>
Wed, 7 Jan 2026 17:47:41 +0000 (18:47 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 8 Jan 2026 21:07:59 +0000 (16:07 -0500)
The GuC reset policy is global, so disabling it on PF can affect all
running VFs. To avoid unintended side effects, restrict setting
upon-any-hang (2) wedged mode on the PF to debug builds only.

Signed-off-by: Lukasz Laguna <lukasz.laguna@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20260107174741.29163-5-lukasz.laguna@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_device.c

index d3431128670ea0116337c6f129dc0c797cfc9b49..e400ad5c9f9ec7d7ec229a6f30f23f2097807c52 100644 (file)
@@ -1387,7 +1387,8 @@ int xe_device_validate_wedged_mode(struct xe_device *xe, unsigned int mode)
        if (mode > XE_WEDGED_MODE_UPON_ANY_HANG_NO_RESET) {
                drm_dbg(&xe->drm, "wedged_mode: invalid value (%u)\n", mode);
                return -EINVAL;
-       } else if (mode == XE_WEDGED_MODE_UPON_ANY_HANG_NO_RESET && IS_SRIOV_VF(xe)) {
+       } else if (mode == XE_WEDGED_MODE_UPON_ANY_HANG_NO_RESET && (IS_SRIOV_VF(xe) ||
+                  (IS_SRIOV_PF(xe) && !IS_ENABLED(CONFIG_DRM_XE_DEBUG)))) {
                drm_dbg(&xe->drm, "wedged_mode: (%u) %s mode is not supported for %s\n",
                        mode, xe_wedged_mode_to_string(mode),
                        xe_sriov_mode_to_string(xe_device_sriov_mode(xe)));