[Spice-devel] [PATCH qxl-win] miniport+display: export UPDATE_MEM port for use by AssertModeEnable

Alon Levy alevy at redhat.com
Mon Jun 20 04:08:34 PDT 2011


This is called possibly before sleep, and otherwise during resolution
change and logout. To support the sleep case we need to flush all memory
on the device and render all surfaces, which is what the synchronous UPDATE_MEM
does.
---
 display/driver.c     |    1 +
 display/qxldd.h      |    1 +
 include/qxl_driver.h |    1 +
 miniport/qxl.c       |    1 +
 4 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/display/driver.c b/display/driver.c
index 791d930..3bbe5d8 100644
--- a/display/driver.c
+++ b/display/driver.c
@@ -793,6 +793,7 @@ static BOOL PrepareHardware(PDev *pdev)
 
     pdev->create_primary_port = dev_info.create_primary_port;
     pdev->destroy_primary_port = dev_info.destroy_primary_port;
+    pdev->update_mem_port = dev_info.update_mem_port;
 
     pdev->primary_memory_start = dev_info.surface0_area;
     pdev->primary_memory_size = dev_info.surface0_area_size;
diff --git a/display/qxldd.h b/display/qxldd.h
index f768eb8..c66a1c2 100644
--- a/display/qxldd.h
+++ b/display/qxldd.h
@@ -324,6 +324,7 @@ typedef struct PDev {
     PUCHAR memslot_add_port;
     PUCHAR memslot_del_port;
     PUCHAR destroy_all_surfaces_port;
+    PUCHAR update_mem_port;
 
     UINT8* primary_memory_start;
     UINT32 primary_memory_size;
diff --git a/include/qxl_driver.h b/include/qxl_driver.h
index b2e1c78..434c52e 100644
--- a/include/qxl_driver.h
+++ b/include/qxl_driver.h
@@ -54,6 +54,7 @@ typedef struct QXLDriverInfo {
     PUCHAR notify_cmd_port;
     PUCHAR notify_cursor_port;
     PUCHAR notify_oom_port;
+    PUCHAR update_mem_port;
     PEVENT display_event;
     PEVENT cursor_event;
     PEVENT sleep_event;
diff --git a/miniport/qxl.c b/miniport/qxl.c
index f98ca31..d3a93f5 100644
--- a/miniport/qxl.c
+++ b/miniport/qxl.c
@@ -1034,6 +1034,7 @@ BOOLEAN StartIO(PVOID dev_extension, PVIDEO_REQUEST_PACKET packet)
             driver_info->notify_cmd_port = dev_ext->io_port + QXL_IO_NOTIFY_CMD;
             driver_info->notify_cursor_port = dev_ext->io_port + QXL_IO_NOTIFY_CURSOR;
             driver_info->notify_oom_port = dev_ext->io_port + QXL_IO_NOTIFY_OOM;
+            driver_info->update_mem_port = dev_ext->io_port + QXL_IO_UPDATE_MEM;
 
             driver_info->log_port = dev_ext->io_port + QXL_IO_LOG;
             driver_info->log_buf = dev_ext->ram_header->log_buf;
-- 
1.7.5.2



More information about the Spice-devel mailing list