diff mbox

[17/18] virtio-gpu: schedule a bh to unblock the data-plane

Message ID 20160904222039.11460-18-marcandre.lureau@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marc-André Lureau Sept. 4, 2016, 10:20 p.m. UTC
If the virtqueues is waiting to be processed, make sure to wake it up.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/display/virtio-gpu.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 45fc018..a37d5f2 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -996,7 +996,11 @@  static void virtio_gpu_gl_block(void *opaque, bool block)
     assert(g->renderer_blocked >= 0);
 
     if (g->renderer_blocked == 0) {
-        virtio_gpu_process_cmdq(g);
+        if (VIRTIO_GPU_DATA_PLANE_OK(g->dp)) {
+            qemu_bh_schedule(g->dp->thread_process_bh);
+        } else {
+            virtio_gpu_process_cmdq(g);
+        }
     }
 }