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