xe_device_declare_wedged(9)
π xe_device_declare_wedged(9) β the Kernel API Manual glow-up β¨
hiii bestie, welcome to xe_device_declare_wedged(9), coming at you live from the Kernel API Manual π this one's short but it's important, so like, pay attention okay?
πΈ NAME πΈ
xe_device_declare_wedged β declare device wedged π (yes that's the whole vibe, we're declaring the device wedged, no cap)
β¨ SYNOPSIS β¨
void xe_device_declare_wedged (struct xe_device *xe );
like, that's it. that's the whole call. one argument, zero return values, maximum drama π«Ά
π¦ ARGUMENTS π¦
xeβ the xe device instance π you know, the device. the one we're about to declare wedged. main character energy fr fr.
π DESCRIPTION π
okay so this is a final state π and here's the tea: it can only be cleared with the recovery method specified in the drm wedged uevent. no takebacks, no "wait actuallyβ", none of that. once you're wedged, the method is the only way out.
that method? you can set it using xe_device_set_wedged_method before you declare the device as wedged. timing matters bestie β°. and if no method is set? don't stress β reprobe (that's unbind/re-bind) will be sent by default. slay, defaults are iconic β¨
π¨ heads up: in this state every IOCTL will be blocked so the GT cannot be used. like literally every single one. GT is out of office π
in general it'll be called upon any critical error β think gt reset failure or guc loading failure, the messy stuff π. and userspace gets notified of this state through the device wedged uevent, so nobody's left on read π
now here's the fun part π: if the xe.wedged module parameter is set to 2, this function gets called on every single execution timeout (a.k.a. GPU hang, you know the one) right after devcoredump snapshot capture πΈ. in this mode, GT reset won't be attempted β so the state of the issue is preserved for further debugging π₯. yes, that's on purpose. it's giving forensic scientist, it's giving preserve the crime scene. iconic behavior, no notes.
π SEE ALSO π
buckle up, this list is long and it ate π
Kernel file ./drivers/gpu/drm/xe/xe_device.c
xe_file_get(9)xe_file_put(9)xe_is_xe_file(9)xe_device_is_admin_only(9)xe_device_create(9)xe_device_init_early(9)xe_device_probe_early(9)xe_device_wmb(9)xe_device_is_l2_flush_optimized(9)xe_device_td_flush(9)xe_device_assert_mem_access(9)Xe Device Wedging(9)xe_device_set_wedged_method(9)xe_device_validate_wedged_mode(9)xe_wedged_mode_to_string(9)xe_device_asid_to_vm(9)
π§ and that's the whole page bestie, go forth and wedge responsibly π
kisses from ./drivers/gpu/drm/xe π page dated October 2026 πΈ see you in the next manpage, mwah π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms