aboutsummaryrefslogtreecommitdiff
path: root/hw/display/qxl.c
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2020-02-13 18:55:57 +0000
committerPeter Maydell <peter.maydell@linaro.org>2020-02-13 18:55:57 +0000
commit517c84cef759a453cfb8f51498aebc909a5f3b39 (patch)
treea596de4e6ad736f85086e7ed52fafd23b55c2bb6 /hw/display/qxl.c
parent5d6542bea780ad443c4f7f1496e64706101f525c (diff)
parented71c09ffd6fbd01c2a487d47291ae57b08671ea (diff)
downloadqemu-arm-517c84cef759a453cfb8f51498aebc909a5f3b39.tar.gz
Merge remote-tracking branch 'remotes/kraxel/tags/vga-20200213-pull-request' into staging
qxl: introduce hardware revision 5 # gpg: Signature made Thu 13 Feb 2020 09:06:14 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full] # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full] # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full] # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/vga-20200213-pull-request: qxl: introduce hardware revision 5 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/display/qxl.c')
-rw-r--r--hw/display/qxl.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index c33b1915a5..64884da708 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -1309,7 +1309,8 @@ static void qxl_vga_ioport_write(void *opaque, uint32_t addr, uint32_t val)
PCIQXLDevice *qxl = container_of(vga, PCIQXLDevice, vga);
trace_qxl_io_write_vga(qxl->id, qxl_mode_to_string(qxl->mode), addr, val);
- if (qxl->mode != QXL_MODE_VGA) {
+ if (qxl->mode != QXL_MODE_VGA &&
+ qxl->revision <= QXL_REVISION_STABLE_V12) {
qxl_destroy_primary(qxl, QXL_SYNC);
qxl_soft_reset(qxl);
}
@@ -2121,6 +2122,10 @@ static void qxl_realize_common(PCIQXLDevice *qxl, Error **errp)
pci_device_rev = QXL_REVISION_STABLE_V12;
io_size = pow2ceil(QXL_IO_RANGE_SIZE);
break;
+ case 5: /* qxl-5 */
+ pci_device_rev = QXL_REVISION_STABLE_V12 + 1;
+ io_size = pow2ceil(QXL_IO_RANGE_SIZE);
+ break;
default:
error_setg(errp, "Invalid revision %d for qxl device (max %d)",
qxl->revision, QXL_DEFAULT_REVISION);