]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/panthor: Recover from panthor_gpu_flush_caches() failures
authorBoris Brezillon <boris.brezillon@collabora.com>
Fri, 28 Nov 2025 08:48:37 +0000 (09:48 +0100)
committerBoris Brezillon <boris.brezillon@collabora.com>
Fri, 28 Nov 2025 09:17:44 +0000 (10:17 +0100)
commit3c0a60195b37af83bbbaf223cd3a78945bace49e
treef5b81fa2dbf2a4b350fd5e948ba6b95a95f2b150
parent151df689fb75e46a6cafa9a2c407d44969f4bebe
drm/panthor: Recover from panthor_gpu_flush_caches() failures

We have seen a few cases where the whole memory subsystem is blocked
and flush operations never complete. When that happens, we want to:

- schedule a reset, so we can recover from this situation
- in the reset path, we need to reset the pending_reqs so we can send
  new commands after the reset
- if more panthor_gpu_flush_caches() operations are queued after
  the timeout, we skip them and return -EIO directly to avoid needless
  waits (the memory block won't miraculously work again)

Note that we drop the WARN_ON()s because these hangs can be triggered
with buggy GPU jobs created by the UMD, and there's no way we can
prevent it. We do keep the error messages though.

v2:
- New patch

v3:
- Collect R-b
- Explicitly mention the fact we dropped the WARN_ON()s in the commit
  message

v4:
- No changes

Fixes: 5cd894e258c4 ("drm/panthor: Add the GPU logical block")
Reviewed-by: Steven Price <steven.price@arm.com>
Link: https://patch.msgid.link/20251128084841.3804658-4-boris.brezillon@collabora.com
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
drivers/gpu/drm/panthor/panthor_gpu.c