All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	vivek.kasireddy@intel.com, tina.zhang@intel.com
Subject: [PATCH 06/15] virtio-gpu: move virgl reset
Date: Fri, 19 Mar 2021 12:21:38 +0100	[thread overview]
Message-ID: <20210319112147.4138943-7-kraxel@redhat.com> (raw)
In-Reply-To: <20210319112147.4138943-1-kraxel@redhat.com>

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/hw/virtio/virtio-gpu.h |  1 +
 hw/display/virtio-gpu-gl.c     | 17 +++++++++++++++++
 hw/display/virtio-gpu.c        | 19 +------------------
 3 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 4c1a8faebec9..a7b7d78310ea 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -221,6 +221,7 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
                                     struct iovec *iov, uint32_t count);
 void virtio_gpu_process_cmdq(VirtIOGPU *g);
 void virtio_gpu_device_realize(DeviceState *qdev, Error **errp);
+void virtio_gpu_reset(VirtIODevice *vdev);
 
 /* virtio-gpu-3d.c */
 void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
diff --git a/hw/display/virtio-gpu-gl.c b/hw/display/virtio-gpu-gl.c
index 9b7b5f00d7e6..c3e562f835f7 100644
--- a/hw/display/virtio-gpu-gl.c
+++ b/hw/display/virtio-gpu-gl.c
@@ -23,6 +23,22 @@
 #include "hw/virtio/virtio-gpu-pixman.h"
 #include "hw/qdev-properties.h"
 
+static void virtio_gpu_gl_reset(VirtIODevice *vdev)
+{
+    VirtIOGPU *g = VIRTIO_GPU(vdev);
+
+    virtio_gpu_reset(vdev);
+
+    if (g->parent_obj.use_virgl_renderer) {
+        if (g->parent_obj.renderer_blocked) {
+            g->renderer_reset = true;
+        } else {
+            virtio_gpu_virgl_reset(g);
+        }
+        g->parent_obj.use_virgl_renderer = false;
+    }
+}
+
 static void virtio_gpu_gl_device_realize(DeviceState *qdev, Error **errp)
 {
     VirtIOGPU *g = VIRTIO_GPU(qdev);
@@ -56,6 +72,7 @@ static void virtio_gpu_gl_class_init(ObjectClass *klass, void *data)
     VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);
 
     vdc->realize = virtio_gpu_gl_device_realize;
+    vdc->reset = virtio_gpu_gl_reset;
     device_class_set_props(dc, virtio_gpu_gl_properties);
 }
 
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 2ee6ba756aba..68286f75a01a 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1126,18 +1126,12 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     QTAILQ_INIT(&g->fenceq);
 }
 
-static void virtio_gpu_reset(VirtIODevice *vdev)
+void virtio_gpu_reset(VirtIODevice *vdev)
 {
     VirtIOGPU *g = VIRTIO_GPU(vdev);
     struct virtio_gpu_simple_resource *res, *tmp;
     struct virtio_gpu_ctrl_command *cmd;
 
-#ifdef CONFIG_VIRGL
-    if (g->parent_obj.use_virgl_renderer) {
-        virtio_gpu_virgl_reset(g);
-    }
-#endif
-
     QTAILQ_FOREACH_SAFE(res, &g->reslist, next, tmp) {
         virtio_gpu_resource_destroy(g, res);
     }
@@ -1155,17 +1149,6 @@ static void virtio_gpu_reset(VirtIODevice *vdev)
         g_free(cmd);
     }
 
-#ifdef CONFIG_VIRGL
-    if (g->parent_obj.use_virgl_renderer) {
-        if (g->parent_obj.renderer_blocked) {
-            g->renderer_reset = true;
-        } else {
-            virtio_gpu_virgl_reset(g);
-        }
-        g->parent_obj.use_virgl_renderer = false;
-    }
-#endif
-
     virtio_gpu_base_reset(VIRTIO_GPU_BASE(vdev));
 }
 
-- 
2.30.2



  parent reply	other threads:[~2021-03-19 11:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 11:21 [PATCH 00/15] virtio-gpu: split into two devices Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 01/15] virtio-gpu: rename virgl source file Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 02/15] virtio-gpu: add virtio-gpu-gl-device Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 03/15] virtio-gpu: add virtio-gpu-gl-pci Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 04/15] virtio-gpu: add virtio-vga-gl Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 05/15] virtio-gpu: move virgl realize + properties Gerd Hoffmann
2021-03-19 11:21 ` Gerd Hoffmann [this message]
2021-03-19 11:21 ` [PATCH 07/15] virtio-gpu: use class function for ctrl queue handlers Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 08/15] virtio-gpu: move virgl handle_ctrl Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 09/15] virtio-gpu: move virgl gl_flushed Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 10/15] virtio-gpu: move virgl process_cmd Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 11/15] virtio-gpu: move update_cursor_data Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 12/15] virtio-gpu: drop VIRGL() macro Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 13/15] virtio-gpu: move virtio-gpu-gl-device to separate module Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 14/15] virtio-gpu: drop use_virgl_renderer Gerd Hoffmann
2021-03-19 11:21 ` [PATCH 15/15] virtio-gpu: move fields to struct VirtIOGPUGL Gerd Hoffmann
2021-03-19 11:42 ` [PATCH 00/15] virtio-gpu: split into two devices no-reply
2021-03-19 11:48 ` Marc-André Lureau
2021-03-22  8:14   ` Gerd Hoffmann
2021-03-22 18:41     ` Kasireddy, Vivek
2021-03-23  8:18       ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210319112147.4138943-7-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tina.zhang@intel.com \
    --cc=vivek.kasireddy@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.