[PATCH v4 0/3] Rework panthor's cache flush and soft reset locking

From: Nicolas Frattaroli

Date: Wed Aug 12 2026 - 10:09:51 EST


There is a problem in panthor's cache flushing/soft reset code
related to locking.

They take the reqs_lock spinlock with _irqsave, even though the
contended lock is never acquired in a raw interrupt handler. Only a
threaded handler locks it.

A new tracepoint to debug cache flushing duration without initial
locking waits is thrown in for good measure as well, to complement
what's in lock_stat and what the function tracer can already do.

Signed-off-by: Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>
---
Changes in v4:
- Replace flush tracepoints with just one tracepoint that has a duration
and exit status argument
- Link to v3: https://patch.msgid.link/20260811-panthor-cache-flush-fix-v3-0-47d2c1bb1dab@xxxxxxxxxxxxx

Changes in v3:
- Drop new wait_event macro patch as the existing ones have a memory
barrier that makes the current use valid
- Rewrite fix patch to use scoped guards, and just get rid of the IRQ
disabling
- Add separate fix for the outside-of-lock pending_reqs clearing in soft
reset path
- Move tracepoint patch to before fixes for easier before/after testing
- Link to v2: https://patch.msgid.link/20260730-panthor-cache-flush-fix-v2-0-28790478bfff@xxxxxxxxxxxxx

Changes in v2:
- Use trace event template for the two tracepoints (ty Steven Rostedt)
- Link to v1: https://patch.msgid.link/20260729-panthor-cache-flush-fix-v1-0-205921ed3c81@xxxxxxxxxxxxx

---
Nicolas Frattaroli (3):
drm/panthor: Add tracepoint for cache flushing
drm/panthor: Revisit reqs_lock handling in flush/reset paths
drm/panthor: Take reqs_lock in soft_reset for clearing pending_reqs

drivers/gpu/drm/panthor/panthor_gpu.c | 89 ++++++++++++++++++++-------------
drivers/gpu/drm/panthor/panthor_trace.h | 38 ++++++++++++++
2 files changed, 93 insertions(+), 34 deletions(-)
---
base-commit: 96ddbb14986632af742523e68f90d51c138c57f0
change-id: 20260728-panthor-cache-flush-fix-b36cb15f92c3

Best regards,
--
Nicolas Frattaroli <nicolas.frattaroli@xxxxxxxxxxxxx>