[PATCH 4/4] drm/xe/pf: Allow wedged_mode=2 only in debug config
Michal Wajdeczko
michal.wajdeczko at intel.com
Mon May 12 08:29:06 UTC 2025
On 24.04.2025 16:30, Lukasz Laguna wrote:
> The GuC reset policy is global, so changing it on PF can impact running
> VFs. To avoid unintended side effects, setting wedged_mode=2 on the PF
> is restricted to debug builds only.
>
> Signed-off-by: Lukasz Laguna <lukasz.laguna at intel.com>
> ---
> drivers/gpu/drm/xe/xe_debugfs.c | 3 ++-
> drivers/gpu/drm/xe/xe_device.c | 7 +++++--
> 2 files changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
> index 369bb2103e4c..79a879d92845 100644
> --- a/drivers/gpu/drm/xe/xe_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_debugfs.c
> @@ -169,7 +169,8 @@ static ssize_t wedged_mode_set(struct file *f, const char __user *ubuf,
> if (xe->wedged.mode == wedged_mode)
> return size;
>
> - if (wedged_mode == 2 && IS_SRIOV_VF(xe))
> + if (wedged_mode == 2 &&
> + (IS_SRIOV_VF(xe) || (IS_SRIOV_PF(xe) && !IS_ENABLED(CONFIG_DRM_XE_DEBUG))))
> return -EPERM;
>
> xe_pm_runtime_get(xe);
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 13430538f861..b42af557acb8 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -735,8 +735,11 @@ int xe_device_probe_early(struct xe_device *xe)
>
> if (xe_modparam.wedged_mode > 2) {
> drm_dbg(&xe->drm, "Used wedged_mode value is invalid. Setting default (1)\n");
> - } else if (xe_modparam.wedged_mode == 2 && IS_SRIOV_VF(xe)) {
> - drm_dbg(&xe->drm, "Can't set wedged_mode=2 when running as VF. Setting default (1)\n");
> + } else if (xe_modparam.wedged_mode == 2) {
> + if (IS_SRIOV_VF(xe))
> + drm_dbg(&xe->drm, "Can't set wedged_mode=2 when running as VF. Setting default (1)\n");
> + else if (IS_SRIOV_PF(xe) && !IS_ENABLED(CONFIG_DRM_XE_DEBUG))
> + drm_dbg(&xe->drm, "Can't set wedged_mode=2 when running as PF in non-debug config. Setting default (1)\n");
allowing wedged_mode=2 in PF mode is just an exception/hack, official
statement should say "unsupported" like in VF mode
> } else {
> xe->wedged.mode = xe_modparam.wedged_mode;
> }
More information about the Intel-xe
mailing list