[PATCH v3 0/6] Attempt to fixup reset, wedge, unload corner cases

Zhanjun Dong
2026-01-20T20:16:24Z

We have several bug reports [1], [2], [3] describing failures in reset,
wedge, and unload corner cases where memory is not properly freed or
fences fail to signal. This patch attempts to address the issue by
forcefully killing any remaining queues on driver unload and wedging the
device if not in mode 2.

Zhanjun Dong

[1] https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/5466
[2] https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/5530
[3] https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6029

---
History started from v2 (v1 not found):
v3:
- Add patch 3-6 in series
- For "Trigger queue cleanup if not in wedged mode 2":
Add guc_ct_stop and reset prepare in patch of:
Sync with baseline changes

Matthew Brost (3):
drm/xe: Always kill exec queues in xe_guc_submit_pause_abort
drm/xe: Forcefully tear down exec queues in GuC submit fini
drm/xe: Trigger queue cleanup if not in wedged mode 2

Zhanjun Dong (3):
drm/xe/guc: Ensure CT state transitions via STOP before DISABLED
drm/xe/uc: Drop xe_guc_sanitize in favor of managed cleanup
drm/xe/guc: Fix page fault by moving guc_submit_fini to devm

drivers/gpu/drm/xe/xe_guc_ct.c | 1 +
drivers/gpu/drm/xe/xe_guc_submit.c | 68 +++++++++++++++++++-----------
drivers/gpu/drm/xe/xe_uc.c | 2 -
3 files changed, 45 insertions(+), 26 deletions(-)

--
2.34.1