@@ -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")
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 <chris@chris-wilson.co.uk> --- tests/pm_rpm.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-)