]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/panic: Add support to scanout buffer as array of pages
authorJocelyn Falempe <jfalempe@redhat.com>
Mon, 7 Apr 2025 13:42:26 +0000 (15:42 +0200)
committerJocelyn Falempe <jfalempe@redhat.com>
Thu, 10 Apr 2025 08:50:58 +0000 (10:50 +0200)
commitc9ff2808790f0fd4ca16f30f63abe70914a5a292
tree7606514928c0403c97537b7e16eaff0433c4f360
parent8702048bb8313a21ec9179e9ce7ad3c5cb2ef072
drm/panic: Add support to scanout buffer as array of pages

Some drivers like virtio-gpu, don't map the scanout buffer in the
kernel. Calling vmap() in a panic handler is not safe, and writing an
atomic_vmap() API is more complex than expected [1].
So instead, pass the array of pages of the scanout buffer to the
panic handler, and map only one page at a time to draw the pixels.
This is obviously slow, but acceptable for a panic handler.

[1] https://lore.kernel.org/dri-devel/20250305152555.318159-1-ryasuoka@redhat.com/

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Simona Vetter <simona@ffwll.ch>
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://lore.kernel.org/r/20250407140138.162383-3-jfalempe@redhat.com
drivers/gpu/drm/drm_panic.c
include/drm/drm_panic.h