[PATCH drm-next 0/2] Enhance drm_panic Support for Virtio-GPU

From: Ryosuke Yasuoka
Date: Wed Mar 05 2025 - 10:26:51 EST


Hi

This patch series proposes enhancement for drm_panic. While virtio-gpu
currently supports drm_panic [1], it is limited to vmapped shmem BOs.
IOW, it does not work in non-VT FB environments, such as GUI desktops.
This limitation arises because shmem BOs require vmap, which cannot be
used in a panic handler since vmap is sleepable and takes locks. To
address this, drm_panic needs an atomic variant of vmap.

The first patch (1/2) introduces atomic_vmap, and the second patch (2/2)
updates the existing virtio drm_panic implementation to use the
atomic_vmap. I've tested these changes in both Gnome and VT
environments, and they work correctly.

Best regards,
Ryosuke

[1] https://patchwork.freedesktop.org/patch/635658/

Ryosuke Yasuoka (2):
vmalloc: Add atomic_vmap
drm/virtio: Use atomic_vmap to work drm_panic in GUI

drivers/gpu/drm/drm_gem.c | 51 ++++++++++++
drivers/gpu/drm/drm_gem_shmem_helper.c | 51 ++++++++++++
drivers/gpu/drm/virtio/virtgpu_plane.c | 14 +++-
include/drm/drm_gem.h | 1 +
include/drm/drm_gem_shmem_helper.h | 2 +
include/linux/vmalloc.h | 2 +
mm/internal.h | 5 ++
mm/vmalloc.c | 105 +++++++++++++++++++++++++
8 files changed, 228 insertions(+), 3 deletions(-)


base-commit: e21cba704714c301d04c5fd37a693734b623872a
--
2.48.1