The first commit is fixing a bug we've seen on v13 HW. Even though we don't quite understand what happens (race in the flush-elimination logic when flush requests are sent concurrently from the CPU and the MCU), it seems that the downstream driver has always been doing a flush+invalidate of RW caches from the start, and that we were doing so up until the atomic page table update changes, so let's go back to that state and leave the RO L1 caches untouched.
The second patch a fix for a race that could very well happen if we ever end up with a failure between the as_disable() and as_enable() calls. We've not experienced this so far, but it seems worth plugging the hole regardless. The last patch is a much more theoretical bug, which would involve a buggy FW telling us that a CSG is suspended, when it's actually. I've deliberately not added a Fixes tag on the last one for this very reason, but I think it's worth staying on the safe side by addressing this theoretical issue, still. Signed-off-by: Boris Brezillon <[email protected]> --- Boris Brezillon (3): drm/panthor: Don't invalidate OTHER caches drm/panthor: Fully disable the AS even if it's going to be re-assigned drm/panthor: Move cache-flush after UPDATE(UNMAPPED) drivers/gpu/drm/panthor/panthor_mmu.c | 43 ++++++++++++++++------------------- 1 file changed, 20 insertions(+), 23 deletions(-) --- base-commit: 45585c3aa285854face65293acc95eff73063d6d change-id: 20260924-panthor-mmu-fixes-a1832dc60908 Best regards, -- Boris Brezillon <[email protected]>
