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: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Julia Filipchuk <julia.filipchuk@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240828221457.2752868-1-daniele.ceraolospurio@intel.com
This commit is contained in:
Daniele Ceraolo Spurio 2024-08-28 15:14:57 -07:00
parent 5ee2d63ca1
commit 02a416afbe

View File

@ -335,9 +335,11 @@ static int gsc_er_complete(struct xe_gt *gt)
if (er_status == GSCI_TIMER_STATUS_TIMER_EXPIRED) {
/*
* 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_device_declare_wedged(gt_to_xe(gt));
return -EIO;
}