summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_gt.c
diff options
context:
space:
mode:
authorAndrzej Hajda <andrzej.hajda@intel.com>2023-10-27 12:42:55 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:43:33 +0300
commit571622740288f801042a28598440a098249213fa (patch)
tree30f856a7d8340e37b0015923b3c3ee9055731f53 /drivers/gpu/drm/xe/xe_gt.c
parent27a1a1e2e47d6f12a784413c194a94b6c0d7fdcb (diff)
downloadlinux-571622740288f801042a28598440a098249213fa.tar.xz
drm/xe: implement driver initiated function-reset
Driver initiated function-reset (FLR) is the highest level of reset that we can trigger from within the driver. In contrast to PCI FLR it doesn't require re-enumeration of PCI BAR. It can be useful in case GT fails to reset. It is also the only way to trigger GSC reset from the driver and can be used in future addition of GSC support. v2: - use regs from xe_regs.h - move the flag to xe.mmio - call flr only on root gt - use BIOS protection check - copy/paste comments from i915 v3: - flr code moved to xe_device.c v4: - needs_flr_on_fini moved to xe_device Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_gt.c')
-rw-r--r--drivers/gpu/drm/xe/xe_gt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index d380f67b3365..73c090762771 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -626,6 +626,8 @@ err_fail:
xe_uevent_gt_reset_failure(to_pci_dev(gt_to_xe(gt)->drm.dev),
gt_to_tile(gt)->id, gt->info.id);
+ gt_to_xe(gt)->needs_flr_on_fini = true;
+
return err;
}