fc5c27b
>From 81c99528614b45f2b8407418f7e2b5742559ac19 Mon Sep 17 00:00:00 2001
13f703f
From: Gerd Hoffmann <kraxel@redhat.com>
13f703f
Date: Wed, 29 Jun 2011 15:51:24 +0200
fc5c27b
Subject: [PATCH 22/28] qxl: bump pci rev
13f703f
13f703f
Inform guest drivers about the new features I/O commands we have
13f703f
now (async commands, S3 support) if building with newer spice, i.e.
13f703f
if SPICE_INTERFACE_QXL_MINOR >= 1.
13f703f
13f703f
sneaked in some 81+ column line spliting.
13f703f
13f703f
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
13f703f
Signed-off-by: Alon Levy <alevy@redhat.com>
13f703f
---
13f703f
 hw/qxl.c |   25 ++++++++++++++++++-------
13f703f
 hw/qxl.h |    6 ++++++
13f703f
 2 files changed, 24 insertions(+), 7 deletions(-)
13f703f
13f703f
diff --git a/hw/qxl.c b/hw/qxl.c
13f703f
index 847a9b8..b684608 100644
13f703f
--- a/hw/qxl.c
13f703f
+++ b/hw/qxl.c
13f703f
@@ -1566,9 +1566,14 @@ static int qxl_init_common(PCIQXLDevice *qxl)
13f703f
         pci_device_rev = QXL_REVISION_STABLE_V04;
13f703f
         break;
13f703f
     case 2: /* spice 0.6 -- qxl-2 */
13f703f
-    default:
13f703f
         pci_device_rev = QXL_REVISION_STABLE_V06;
13f703f
         break;
13f703f
+#if SPICE_INTERFACE_QXL_MINOR >= 1
13f703f
+    case 3: /* qxl-3 */
13f703f
+#endif
13f703f
+    default:
13f703f
+        pci_device_rev = QXL_DEFAULT_REVISION;
13f703f
+        break;
13f703f
     }
13f703f
 
13f703f
     pci_set_byte(&config[PCI_REVISION_ID], pci_device_rev);
13f703f
@@ -1830,9 +1835,12 @@ static PCIDeviceInfo qxl_info_primary = {
13f703f
     .device_id    = QXL_DEVICE_ID_STABLE,
13f703f
     .class_id     = PCI_CLASS_DISPLAY_VGA,
13f703f
     .qdev.props = (Property[]) {
13f703f
-        DEFINE_PROP_UINT32("ram_size", PCIQXLDevice, vga.vram_size, 64 * 1024 * 1024),
13f703f
-        DEFINE_PROP_UINT32("vram_size", PCIQXLDevice, vram_size, 64 * 1024 * 1024),
13f703f
-        DEFINE_PROP_UINT32("revision", PCIQXLDevice, revision, 2),
13f703f
+        DEFINE_PROP_UINT32("ram_size", PCIQXLDevice, vga.vram_size,
13f703f
+                           64 * 1024 * 1024),
13f703f
+        DEFINE_PROP_UINT32("vram_size", PCIQXLDevice, vram_size,
13f703f
+                           64 * 1024 * 1024),
13f703f
+        DEFINE_PROP_UINT32("revision", PCIQXLDevice, revision,
13f703f
+                           QXL_DEFAULT_REVISION),
13f703f
         DEFINE_PROP_UINT32("debug", PCIQXLDevice, debug, 0),
13f703f
         DEFINE_PROP_UINT32("guestdebug", PCIQXLDevice, guestdebug, 0),
13f703f
         DEFINE_PROP_UINT32("cmdlog", PCIQXLDevice, cmdlog, 0),
13f703f
@@ -1851,9 +1859,12 @@ static PCIDeviceInfo qxl_info_secondary = {
13f703f
     .device_id    = QXL_DEVICE_ID_STABLE,
13f703f
     .class_id     = PCI_CLASS_DISPLAY_OTHER,
13f703f
     .qdev.props = (Property[]) {
13f703f
-        DEFINE_PROP_UINT32("ram_size", PCIQXLDevice, vga.vram_size, 64 * 1024 * 1024),
13f703f
-        DEFINE_PROP_UINT32("vram_size", PCIQXLDevice, vram_size, 64 * 1024 * 1024),
13f703f
-        DEFINE_PROP_UINT32("revision", PCIQXLDevice, revision, 2),
13f703f
+        DEFINE_PROP_UINT32("ram_size", PCIQXLDevice, vga.vram_size,
13f703f
+                           64 * 1024 * 1024),
13f703f
+        DEFINE_PROP_UINT32("vram_size", PCIQXLDevice, vram_size,
13f703f
+                           64 * 1024 * 1024),
13f703f
+        DEFINE_PROP_UINT32("revision", PCIQXLDevice, revision,
13f703f
+                           QXL_DEFAULT_REVISION),
13f703f
         DEFINE_PROP_UINT32("debug", PCIQXLDevice, debug, 0),
13f703f
         DEFINE_PROP_UINT32("guestdebug", PCIQXLDevice, guestdebug, 0),
13f703f
         DEFINE_PROP_UINT32("cmdlog", PCIQXLDevice, cmdlog, 0),
13f703f
diff --git a/hw/qxl.h b/hw/qxl.h
13f703f
index 1046205..4bcf7e1 100644
13f703f
--- a/hw/qxl.h
13f703f
+++ b/hw/qxl.h
13f703f
@@ -102,6 +102,12 @@ typedef struct PCIQXLDevice {
13f703f
         }                                                               \
13f703f
     } while (0)
13f703f
 
13f703f
+#if SPICE_INTERFACE_QXL_MINOR >= 1
13f703f
+#define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V10
13f703f
+#else
13f703f
+#define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V06
13f703f
+#endif
13f703f
+
13f703f
 /* qxl.c */
13f703f
 void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL phys, int group_id);
13f703f
 void qxl_guest_bug(PCIQXLDevice *qxl, const char *msg, ...);
13f703f
-- 
13f703f
1.7.5.1
13f703f