[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v15 02/14] virtio-gpu: Move fence_poll timer to VirtIOGPUGL
From: |
Dmitry Osipenko |
Subject: |
[PATCH v15 02/14] virtio-gpu: Move fence_poll timer to VirtIOGPUGL |
Date: |
Sun, 23 Jun 2024 00:54:59 +0300 |
Move fence_poll timer to VirtIOGPUGL for consistency with cmdq_resume_bh
that are used only by GL device.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
---
hw/display/virtio-gpu-virgl.c | 8 +++++---
include/hw/virtio/virtio-gpu.h | 3 ++-
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 14091b191ec0..91dce90f9176 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -594,11 +594,12 @@ static void virtio_gpu_print_stats(void *opaque)
static void virtio_gpu_fence_poll(void *opaque)
{
VirtIOGPU *g = opaque;
+ VirtIOGPUGL *gl = VIRTIO_GPU_GL(g);
virgl_renderer_poll();
virtio_gpu_process_cmdq(g);
if (!QTAILQ_EMPTY(&g->cmdq) || !QTAILQ_EMPTY(&g->fenceq)) {
- timer_mod(g->fence_poll, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + 10);
+ timer_mod(gl->fence_poll, qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) + 10);
}
}
@@ -626,6 +627,7 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
{
int ret;
uint32_t flags = 0;
+ VirtIOGPUGL *gl = VIRTIO_GPU_GL(g);
#if VIRGL_RENDERER_CALLBACKS_VERSION >= 4
if (qemu_egl_display) {
@@ -645,8 +647,8 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
return ret;
}
- g->fence_poll = timer_new_ms(QEMU_CLOCK_VIRTUAL,
- virtio_gpu_fence_poll, g);
+ gl->fence_poll = timer_new_ms(QEMU_CLOCK_VIRTUAL,
+ virtio_gpu_fence_poll, g);
if (virtio_gpu_stats_enabled(g->parent_obj.conf)) {
g->print_stats = timer_new_ms(QEMU_CLOCK_VIRTUAL,
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 7a59379f5a7a..bc69fd78a440 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -196,7 +196,6 @@ struct VirtIOGPU {
uint64_t hostmem;
bool processing_cmdq;
- QEMUTimer *fence_poll;
QEMUTimer *print_stats;
uint32_t inflight;
@@ -231,6 +230,8 @@ struct VirtIOGPUGL {
bool renderer_inited;
bool renderer_reset;
+
+ QEMUTimer *fence_poll;
};
struct VhostUserGPU {
--
2.45.2
- [PATCH v15 00/14] Support blob memory and venus on qemu, Dmitry Osipenko, 2024/06/22
- [PATCH v15 01/14] virtio-gpu: Use trace events for tracking number of in-flight fences, Dmitry Osipenko, 2024/06/22
- [PATCH v15 02/14] virtio-gpu: Move fence_poll timer to VirtIOGPUGL,
Dmitry Osipenko <=
- [PATCH v15 03/14] virtio-gpu: Move print_stats timer to VirtIOGPUGL, Dmitry Osipenko, 2024/06/22
- [PATCH v15 04/14] virtio-gpu: Handle virtio_gpu_virgl_init() failure, Dmitry Osipenko, 2024/06/22
- [PATCH v15 05/14] virtio-gpu: Unrealize GL device, Dmitry Osipenko, 2024/06/22
- [PATCH v15 06/14] virtio-gpu: Use pkgconfig version to decide which virgl features are available, Dmitry Osipenko, 2024/06/22
- [PATCH v15 07/14] virtio-gpu: Support context-init feature with virglrenderer, Dmitry Osipenko, 2024/06/22
- [PATCH v15 08/14] virtio-gpu: Don't require udmabuf when blobs and virgl are enabled, Dmitry Osipenko, 2024/06/22
- [PATCH v15 09/14] virtio-gpu: Add virgl resource management, Dmitry Osipenko, 2024/06/22
- [PATCH v15 10/14] virtio-gpu: Support blob scanout using dmabuf fd, Dmitry Osipenko, 2024/06/22