[PATCH 3/4] drm/xe/vf: Disallow setting wedged_mode=2
Lukasz Laguna
lukasz.laguna at intel.com
Thu Apr 24 14:30:42 UTC 2025
In wedged_mode=2, engine resets need to be disabled, which requires
changing the GuC reset policy. VFs are not permitted to do that.
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 | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
index 2e6d8744003b..369bb2103e4c 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_debugfs.c
@@ -169,6 +169,9 @@ 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))
+ return -EPERM;
+
xe_pm_runtime_get(xe);
for_each_gt(gt, xe, id) {
ret = xe_guc_ads_scheduler_policy_toggle_reset(>->uc.guc.ads);
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index d2de6936cc20..13430538f861 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -731,9 +731,12 @@ int xe_device_probe_early(struct xe_device *xe)
if (err)
return err;
+ xe->wedged.mode = 1; /* default */
+
if (xe_modparam.wedged_mode > 2) {
drm_dbg(&xe->drm, "Used wedged_mode value is invalid. Setting default (1)\n");
- xe->wedged.mode = 1; /* default */
+ } 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 {
xe->wedged.mode = xe_modparam.wedged_mode;
}
--
2.40.0
More information about the Intel-xe
mailing list