drm/xe/gsc: Wedge the device if the GSCCS reset fails

Due to the special handling of the GSCCS in HW, we can't escalate to GT
reset when we receive the reset failure interrupt; the specs indicate
that we should trigger an FLR instead, but we do not have support for
that at the moment, so the HW will stay permanently in a broken state.
We should therefore mark the device as wedged, the same as if the GT
reset had failed.
Signed-off-by: default avatarDaniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: default avatarJulia Filipchuk <julia.filipchuk@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240828221457.2752868-1-daniele.ceraolospurio@intel.com
parent 5ee2d63c
...@@ -335,9 +335,11 @@ static int gsc_er_complete(struct xe_gt *gt) ...@@ -335,9 +335,11 @@ static int gsc_er_complete(struct xe_gt *gt)
if (er_status == GSCI_TIMER_STATUS_TIMER_EXPIRED) { if (er_status == GSCI_TIMER_STATUS_TIMER_EXPIRED) {
/* /*
* XXX: we should trigger an FLR here, but we don't have support * XXX: we should trigger an FLR here, but we don't have support
* for that yet. * for that yet. Since we can't recover from the error, we
* declare the device as wedged.
*/ */
xe_gt_err(gt, "GSC ER timed out!\n"); xe_gt_err(gt, "GSC ER timed out!\n");
xe_device_declare_wedged(gt_to_xe(gt));
return -EIO; return -EIO;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment