Check that we restore runtime pm around debug suspends and hibernates.

v2: Differentiate between external test setup failure and one of
interest

Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
---
 tests/pm_rpm.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index 4268bb19a..1fbdda4ed 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -707,8 +707,10 @@ static void setup_environment(void)
 
        igt_info("Runtime PM support: %d\n", has_runtime_pm);
        igt_info("PC8 residency support: %d\n", has_pc8);
-
        igt_require(has_runtime_pm);
+
+       disable_all_screens(&ms_data);
+       igt_require(wait_for_suspended());
 }
 
 static void restore_environment(void)
@@ -1372,10 +1374,11 @@ static void __attribute__((noreturn)) stay_subtest(void)
                sleep(600);
 }
 
-static void system_suspend_subtest(void)
+static void system_suspend_subtest(int state, int debug)
 {
        disable_all_screens_and_wait(&ms_data);
-       igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
+
+       igt_system_suspend_autoresume(state, debug);
        igt_assert(wait_for_suspended());
 }
 
@@ -1992,12 +1995,19 @@ int main(int argc, char *argv[])
                                WAIT_STATUS | WAIT_EXTRA);
 
        /* System suspend */
+       igt_subtest("system-suspend-devices")
+               system_suspend_subtest(SUSPEND_STATE_MEM, SUSPEND_TEST_DEVICES);
        igt_subtest("system-suspend")
-               system_suspend_subtest();
+               system_suspend_subtest(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
        igt_subtest("system-suspend-execbuf")
                system_suspend_execbuf_subtest();
        igt_subtest("system-suspend-modeset")
                system_suspend_modeset_subtest();
+       igt_subtest("system-hibernate-devices")
+               system_suspend_subtest(SUSPEND_STATE_DISK,
+                                      SUSPEND_TEST_DEVICES);
+       igt_subtest("system-hibernate")
+               system_suspend_subtest(SUSPEND_STATE_DISK, SUSPEND_TEST_NONE);
 
        /* GEM stress */
        igt_subtest("gem-execbuf-stress")
-- 
2.18.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to