Commit 02a416af authored by Daniele Ceraolo Spurio's avatar Daniele Ceraolo Spurio
Browse files

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
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -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;
	}