[PATCH v1 0/4] drm/tyr: implement GPU reset API
From: Onur Özkan
Date: Mon Mar 09 2026 - 17:05:06 EST
This series adds GPU reset handling support for Tyr in a new module
drivers/gpu/drm/tyr/driver.rs which encapsulates the low-level reset
controller internals and exposes a ResetHandle API to the driver.
The reset module owns reset state, queueing and execution ordering
through OrderedQueue and handles duplicate/concurrent reset requests
with a pending flag.
Apart from the reset module, the first 3 patches:
- Fixes a potential reset-complete stale state bug by clearing completed
state before doing soft reset.
- Adds Work::disable_sync() (wrapper of bindings::disable_work_sync).
- Adds OrderedQueue support.
Runtime tested on hardware by Deborah Brouwer (see [1]) and myself.
[1]: https://gitlab.freedesktop.org/panfrost/linux/-/merge_requests/63#note_3364131
Link: https://gitlab.freedesktop.org/panfrost/linux/-/issues/28
---
Onur Özkan (4):
drm/tyr: clear reset IRQ before soft reset
rust: add Work::disable_sync
rust: add ordered workqueue wrapper
drm/tyr: add GPU reset handling
drivers/gpu/drm/tyr/driver.rs | 38 +++----
drivers/gpu/drm/tyr/reset.rs | 180 ++++++++++++++++++++++++++++++++++
drivers/gpu/drm/tyr/tyr.rs | 1 +
rust/helpers/workqueue.c | 6 ++
rust/kernel/workqueue.rs | 62 ++++++++++++
5 files changed, 260 insertions(+), 27 deletions(-)
create mode 100644 drivers/gpu/drm/tyr/reset.rs
base-commit: 0ccc0dac94bf2f5c6eb3e9e7f1014cd9dddf009f
--
2.51.2