[i-g-t] tests/intel: Add tests to run suspend without display

Sujaritha Sundaresan sujaritha.sundaresan at intel.com
Thu Feb 22 07:06:35 UTC 2024


Add tests to validate basic execution suspend/resume cycle
without display module to rule out display related issues
from the suspend/resume stack.

Signed-off-by: Sujaritha Sundaresan <sujaritha.sundaresan at intel.com>
---
 tests/intel/xe_pm.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index a0045da0b..e94835f0d 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -16,6 +16,7 @@
 
 #include "igt.h"
 #include "lib/igt_device.h"
+#include "lib/igt_kmod.h"
 #include "lib/igt_pm.h"
 #include "lib/igt_sysfs.h"
 #include "lib/igt_syncobj.h"
@@ -236,6 +237,10 @@ static void close_fw_handle(int sig)
  * Description: suspend/autoresume on %arg[1] state and exec after RPM
  * Functionality: pm - %arg[1]
  *
+ * SUBTEST: %s-without-display
+ * Description: suspend/autoresume on %arg[1] state without display
+ * Functionality: pm - %arg[1]
+ *
  * arg[1]:
  *
  * @s2idle:	s2idle
@@ -618,6 +623,23 @@ igt_main
 					  NO_RPM);
 		}
 
+		igt_subtest_f("%s-without-display", s->name) {
+
+			if (!drmModeGetResources(device.fd_xe))
+				return;
+
+			xe_for_each_engine(device.fd_xe, hwe) {
+				igt_kmsg(KMSG_INFO "Unloading Xe\n");
+				igt_assert_eq(igt_xe_driver_unload(),0);
+
+				igt_kmsg(KMSG_INFO "Re-loading Xe without display\n");
+				igt_assert_eq(igt_xe_driver_load("enable_display=0"),0);
+
+				test_exec(device, hwe, 1, 2, s->state,
+					  NO_RPM);
+			}
+		}
+
 		for (const struct d_state *d = d_states; d->name; d++) {
 			igt_subtest_f("%s-%s-basic-exec", s->name, d->name) {
 				igt_assert(setup_d3(device, d->state));
-- 
2.25.1



More information about the igt-dev mailing list