[RFC PATCH 0/2] Virtio-GPU suspend and resume
Dmitry Osipenko
dmitry.osipenko at collabora.com
Mon May 5 17:11:43 UTC 2025
On 4/19/25 02:29, dongwon.kim at intel.com wrote:
> From: Dongwon Kim <dongwon.kim at intel.com>
>
> This patch series introduces a freeze and restore mechanism for
> the virtio-gpu driver:
>
> First patch adds `virtgpu_freeze` and `virtgpu_restore` functions.
> These functions handle the deletion of virtio queues before suspension and
> their recreation during the restoration process.
>
> Second patch implements a mechanism for restoring `virtio_gpu_object` instances.
> This is necessary because the host (QEMU) deletes all associated resources during
> the virtio-gpu reset, which occurs as part of the restoration process.
>
> These changes ensure that the virtio-gpu driver can properly handle suspend and
> resume scenarios without resource loss.
Resetting GPU by QEMU on suspend sounds like a wrong behaviour. Are you
talking about upstream QEMU?
Could you please point at the QEMU code where it handles virtio-gpu
suspend/resume? Don't see where it happens.
I tried to apply your kernel patches and then suspend/resume guest
kernel, it doesn't work:
virtio_gpu_transfer_to_host_2d: no backing storage 2
[ 22.909454] [drm:virtio_gpu_dequeue_ctrl_func] *ERROR* response
0x1200 (command 0x105)
virtio_gpu_transfer_to_host_2d: no backing storage 2
[ 23.169138] [drm:virtio_gpu_dequeue_ctrl_func] *ERROR* response
0x1200 (command 0x105)
Cc: +Alex Bennée +Akihiko Odaki
--
Best regards,
Dmitry
More information about the dri-devel
mailing list