XE DEVICE WEDGING(9)
π Xe Device Wedging β the kernel API manual (section 9, bestie)
okay so this is the Xe Device Wedging page from the kernel API manual, and it's honestly kind of iconic because it's all about what happens when your GPU just... gives up. π«
β¨ DESCRIPTION β¨
The Xe driver uses the drm device wedged uevent, exactly as documented over in Documentation/gpu/drm-uapi.rst. Like, that's the reference, no cap. π
So when the device is in the wedged state, every single IOCTL gets blocked and the GT cannot be used. Periodt. The conditions under which the driver actually declares the device wedged depend on the wedged mode configuration (peep enum xe_wedged_mode). And the default recovery method for a wedged state is rebind/bus-reset. π
There's also another recovery method that's vendor-specific. Below are the cases that send WEDGED=vendor-specific as the recovery method in the drm device wedged uevent. π
π§ Case: Firmware Flash
Identification Hint
A WEDGED=vendor-specific drm device wedged uevent, together with :ref:Runtime Survivability mode <xe-survivability-mode>, is used to notify the admin / userspace consumer about the need for a firmware flash. π£
Recovery Procedure
Once the WEDGED=vendor-specific drm device wedged uevent is received, follow the below steps:
- Check the Runtime Survivability mode sysfs. If it's enabled, firmware flash is required to recover the device. π
/sys/bus/pci/devices/<device>/survivability_mode
- The admin / userspace consumer can use firmware flashing tools like
fwupdto flash firmware and restore the device to normal operation. π οΈβ¨
π SEE ALSO π
Kernel file ./drivers/gpu/drm/xe/xe_device.c plus all of these besties:
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_set_wedged_method(9)xe_device_declare_wedged(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 π β brought to you by the fine folks at ./drivers/gpu/drm/xe, stamped October 2026, living forever as Xe Device Wedging(9). 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