[Spice-devel] [PATCH] add io ports for sleep (S3) support

Alon Levy alevy at redhat.com
Sun May 22 06:23:55 PDT 2011


related RHBZ: 688883

Sleep is supported by the following flow:
    (G stands for Guest, D is the device, not the driver)
 G: QXL_IO_ABOUT_TO_SLEEP
 G: acpi reset
 D: qxl_reset_handler (ignored)
 G: QXL_IO_RETURNED_FROM_SLEEP

Thereby the spice-server and the driver never reset during sleep.

After an ABOUT there are three options:
 RETURNED - normal case
 vga io port written to - we already handle this by doing a qxl_soft_reset
 QXL_IO_RESET - we call qxl_hard_reset which calls qxl_soft_reset

So to handle the two unmatched cases we just need to make sure qxl_soft_reset
forgets the "ABOUT_TO_SLEEP".
---
 spice/qxl_dev.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/spice/qxl_dev.h b/spice/qxl_dev.h
index e3e0696..36210a0 100644
--- a/spice/qxl_dev.h
+++ b/spice/qxl_dev.h
@@ -80,6 +80,9 @@ enum {
     QXL_IO_DESTROY_PRIMARY,
     QXL_IO_DESTROY_SURFACE_WAIT,
     QXL_IO_DESTROY_ALL_SURFACES,
+    /* sleep support */
+    QXL_IO_ABOUT_TO_SLEEP,
+    QXL_IO_RETURNED_FROM_SLEEP,
 
     QXL_IO_RANGE_SIZE
 };
-- 
1.7.5.1



More information about the Spice-devel mailing list