[PATCH v4 2/9] drm/xe: Set GT as wedged before sending wedged uevent
Matthew Brost
matthew.brost at intel.com
Wed Jul 9 17:26:39 UTC 2025
On Wed, Jul 09, 2025 at 04:50:14PM +0530, Riana Tauro wrote:
> Userspace should be notified after setting the device as wedged.
> Re-order function calls to set gt wedged before sending uevent.
>
> Cc: Matthew Brost <matthew.brost at intel.com>
Reviewed-by: Matthew Brost <matthew.brost at intel.com>
> Suggested-by: Raag Jadav <raag.jadav at intel.com>
> Signed-off-by: Riana Tauro <riana.tauro at intel.com>
> ---
> drivers/gpu/drm/xe/xe_device.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
> index 0b73cb72bad1..8a5bb7b6d09b 100644
> --- a/drivers/gpu/drm/xe/xe_device.c
> +++ b/drivers/gpu/drm/xe/xe_device.c
> @@ -1123,8 +1123,10 @@ static void xe_device_wedged_fini(struct drm_device *drm, void *arg)
> * xe_device_declare_wedged - Declare device wedged
> * @xe: xe device instance
> *
> - * This is a final state that can only be cleared with a module
> + * This is a final state that can only be cleared with the recovery method
> + * specified in the drm wedged uevent. The default recovery method is
> * re-probe (unbind + bind).
> + *
> * In this state every IOCTL will be blocked so the GT cannot be used.
> * In general it will be called upon any critical error such as gt reset
> * failure or guc loading failure. Userspace will be notified of this state
> @@ -1158,13 +1160,15 @@ void xe_device_declare_wedged(struct xe_device *xe)
> "IOCTLs and executions are blocked. Only a rebind may clear the failure\n"
> "Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new\n",
> dev_name(xe->drm.dev));
> + }
> +
> + for_each_gt(gt, xe, id)
> + xe_gt_declare_wedged(gt);
>
> + if (xe_device_wedged(xe)) {
> /* Notify userspace of wedged device */
> drm_dev_wedged_event(&xe->drm,
> DRM_WEDGE_RECOVERY_REBIND | DRM_WEDGE_RECOVERY_BUS_RESET,
> NULL);
> }
> -
> - for_each_gt(gt, xe, id)
> - xe_gt_declare_wedged(gt);
> }
> --
> 2.47.1
>
More information about the Intel-xe
mailing list