[igt-dev] [PATCH i-g-t v7 2/3] tests/i915/i915_suspend: Add s2idle and s3 subtests without i915

Riana Tauro riana.tauro at intel.com
Mon May 16 11:37:09 UTC 2022


Add new tests basic-s2idle-without-i915 and basic-s3-without-i915
to exercise s2idle and s3 cycles to know the system wide
health of suspend/resume

v2: rebase
v3: rebase
v4: skip s3 when platform default state is s2idle to reduce
    CI time (Anshuman)
v5: modified the log message (Petri)

Reviewed-by: Anshuman Gupta <anshuman.gupta at intel.com>
Signed-off-by: Riana Tauro <riana.tauro at intel.com>
---
 tests/i915/i915_suspend.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/tests/i915/i915_suspend.c b/tests/i915/i915_suspend.c
index d34b7a5d..1c464f7a 100644
--- a/tests/i915/i915_suspend.c
+++ b/tests/i915/i915_suspend.c
@@ -204,12 +204,14 @@ test_forcewake(int fd, bool hibernate)
 }
 
 static void
-test_suspend_without_i915(void)
+test_suspend_without_i915(int state)
 {
 	igt_kmsg(KMSG_INFO "Unloading i915\n");
 	igt_assert_eq(igt_i915_driver_unload(),0);
 
-	igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
+	igt_skip_on_f(igt_get_memsleep_state() == MEM_SLEEP_FREEZE && state > SUSPEND_STATE_FREEZE,
+		      "Platform default mem_sleep state is s2idle\n");
+	igt_system_suspend_autoresume(state, SUSPEND_TEST_NONE);
 
 	igt_kmsg(KMSG_INFO "Re-loading i915 \n");
 	igt_assert_eq(igt_i915_driver_load(NULL), 0);
@@ -219,9 +221,13 @@ int fd;
 
 igt_main
 {
-	igt_describe("Validate system suspend cycle without i915 module");
-	igt_subtest("system-suspend-without-i915")
-		test_suspend_without_i915();
+	igt_describe("Validate suspend-to-idle without i915 module");
+	igt_subtest("basic-s2idle-without-i915")
+		test_suspend_without_i915(SUSPEND_STATE_FREEZE);
+
+	igt_describe("Validate S3 without i915 module");
+	igt_subtest("basic-s3-without-i915")
+		test_suspend_without_i915(SUSPEND_STATE_MEM);
 
 	igt_fixture
 		fd = drm_open_driver(DRIVER_INTEL);
-- 
2.25.1



More information about the igt-dev mailing list