[Spice-commits] Branch 'bz700134' - 2 commits - hw/qxl.c

Gerd Hoffmann kraxel at kemper.freedesktop.org
Mon Jun 20 02:14:44 PDT 2011


 hw/qxl.c |   20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

New commits:
commit 5f9017531e309b8ec899041be1fc6255401651a4
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Mon Jun 20 11:05:30 2011 +0200

    fix tyops
    
    Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>

diff --git a/hw/qxl.c b/hw/qxl.c
index 2c6d96c..3a50c41 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -32,7 +32,7 @@
 #ifndef QXL_INTERRUPT_IO_CMD
 #define QXL_INTERRUPT_IO_CMD               (1 << 2)
 #define QXL_IO_UPDATE_AREA_ASYNC           (QXL_IO_DESTROY_ALL_SURFACES +1)
-#define QXL_IO_NOIFY_OOM_ASYNC             (QXL_IO_DESTROY_ALL_SURFACES +2)
+#define QXL_IO_NOTIFY_OOM_ASYNC            (QXL_IO_DESTROY_ALL_SURFACES +2)
 #define QXL_IO_MEMSLOT_ADD_ASYNC           (QXL_IO_DESTROY_ALL_SURFACES +3)
 #define QXL_IO_CREATE_PRIMARY_ASYNC        (QXL_IO_DESTROY_ALL_SURFACES +4)
 #define QXL_IO_DESTROY_PRIMARY_ASYNC       (QXL_IO_DESTROY_ALL_SURFACES +5)
@@ -945,7 +945,7 @@ static void *ioport_write_async(void *arg)
         qemu_spice_update_area(&d->ssd, io->update_surface,
                                &io->update_area, NULL, 0, 0);
         break;
-    case QXL_IO_NOIFY_OOM_ASYNC:
+    case QXL_IO_NOTIFY_OOM_ASYNC:
         d->oom_running = 1;
         qemu_spice_oom(&d->ssd);
         d->oom_running = 0;
@@ -1109,7 +1109,7 @@ static void ioport_write(void *opaque, uint32_t addr, uint32_t val)
         async->update_area = d->ram->update_area;
         async->update_surface = d->ram->update_surface;
         goto async_common;
-    case QXL_IO_NOIFY_OOM_ASYNC:
+    case QXL_IO_NOTIFY_OOM_ASYNC:
     case QXL_IO_DESTROY_SURFACE_ASYNC:
     case QXL_IO_DESTROY_ALL_SURFACES_ASYNC:
         async = qemu_mallocz(sizeof(*async));
commit 724b88d188403493a75e2fe5ace7b51ed47ec7cd
Author: Gerd Hoffmann <kraxel at redhat.com>
Date:   Mon Jun 20 10:45:25 2011 +0200

    async i/o fixes

diff --git a/hw/qxl.c b/hw/qxl.c
index 0168574..2c6d96c 100644
--- a/hw/qxl.c
+++ b/hw/qxl.c
@@ -927,6 +927,8 @@ struct qxl_io_async {
     struct PCIQXLDevice *qxl;
     QXLDevMemSlot memslot;
     QXLDevSurfaceCreate surface;
+    QXLRect update_area;
+    uint32_t update_surface;
     uint32_t port;
     uint32_t val;
 };
@@ -940,12 +942,9 @@ static void *ioport_write_async(void *arg)
 
     switch (io_port) {
     case QXL_IO_UPDATE_AREA_ASYNC:
-    {
-        QXLRect update = d->ram->update_area;
-        qemu_spice_update_area(&d->ssd, d->ram->update_surface,
-                               &update, NULL, 0, 0);
+        qemu_spice_update_area(&d->ssd, io->update_surface,
+                               &io->update_area, NULL, 0, 0);
         break;
-    }
     case QXL_IO_NOIFY_OOM_ASYNC:
         d->oom_running = 1;
         qemu_spice_oom(&d->ssd);
@@ -1103,8 +1102,13 @@ static void ioport_write(void *opaque, uint32_t addr, uint32_t val)
             goto async_common;
         } else {
             qxl_send_events(d, QXL_INTERRUPT_IO_CMD);
+            break;
         }
     case QXL_IO_UPDATE_AREA_ASYNC:
+        async = qemu_mallocz(sizeof(*async));
+        async->update_area = d->ram->update_area;
+        async->update_surface = d->ram->update_surface;
+        goto async_common;
     case QXL_IO_NOIFY_OOM_ASYNC:
     case QXL_IO_DESTROY_SURFACE_ASYNC:
     case QXL_IO_DESTROY_ALL_SURFACES_ASYNC:


More information about the Spice-commits mailing list