Re: [PATCH v4 24/32] drm/xe: Report 'device wedged' errors using SIGID
Rodrigo Vivi <[email protected]>
| Newsgroups | org.freedesktop.lists.intel-xe |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Aug 12, 2026 at 09:14:40PM +0200, Michal Wajdeczko wrote: > Report 'device wedged' error using xe_log_err_fatal() helper. > Use -EIO as the error cause, as nothing else is provided here. > The hints about the recovery method and bug filing are now > separated as it only needs to be printed once. > > Signed-off-by: Michal Wajdeczko <[email protected]> > Cc: Rodrigo Vivi <[email protected]> > Cc: Aravind Iddamsetty <[email protected]> > Cc: Mallesh Koujalagi <[email protected]> > --- > drivers/gpu/drm/xe/xe_device.c | 16 ++++++++++------ > 1 file changed, 10 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c > index 71111ad32465..74d566693dfd 100644 > --- a/drivers/gpu/drm/xe/xe_device.c > +++ b/drivers/gpu/drm/xe/xe_device.c > @@ -48,6 +48,7 @@ > #include "xe_i2c.h" > #include "xe_irq.h" > #include "xe_late_bind_fw.h" > +#include "xe_log.h" > #include "xe_mmio.h" > #include "xe_module.h" > #include "xe_nvm.h" > @@ -1442,6 +1443,9 @@ void xe_device_set_wedged_method(struct xe_device *xe, unsigned long method) > xe->wedged.method = method; > } > > +#define WEDGED_URL "https://docs.kernel.org/gpu/drm-uapi.html#device-wedging" > +#define XE_BUG_URL "https://gitlab.freedesktop.org/drm/xe/kernel/issues/new" From the old comments: yes, let's keep these defines as is and where they are. No need for changes. > + > /** > * xe_device_declare_wedged - Declare device wedged > * @xe: xe device instance > @@ -1473,12 +1477,12 @@ void xe_device_declare_wedged(struct xe_device *xe) > if (!atomic_xchg(&xe->wedged.flag, 1)) { > xe->needs_flr_on_fini = true; > xe_pm_runtime_get_noresume(xe); > - drm_err(&xe->drm, > - "CRITICAL: Xe has declared device %s as wedged.\n" > - "IOCTLs and executions are blocked.\n" > - "For recovery procedure, refer to https://docs.kernel.org/gpu/drm-uapi.html#device-wedging\n" > - "Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new\n", > - dev_name(xe->drm.dev)); > + > + xe_log_err_fatal(xe, WEDGED, -EIO, "Device declared wedged!\n"); > + xe_err_once(xe, "IOCTLs and executions are now blocked!\n" > + "For recovery procedure, refer to %s\n" > + "Please file a _new_ bug report at %s\n", > + WEDGED_URL, XE_BUG_URL); I like the idea of refactor the wedge functions to give a proper errno, but definitely for a separate future thought. Reviewed-by: Rodrigo Vivi <[email protected]> > } > > for_each_gt(gt, xe, id) > -- > 2.47.1 >