[igt-dev] [PATCH i-g-t 2/2] igt/pm_rpm: Test reaquisition of runtime-pm after module reload
Chris Wilson
chris at chris-wilson.co.uk
Fri Aug 10 07:01:16 UTC 2018
It doesn't work right now and desperately needs to be fixed...
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
tests/intel-ci/fast-feedback.testlist | 1 +
tests/pm_rpm.c | 28 ++++++++++++++++++++++++---
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/tests/intel-ci/fast-feedback.testlist b/tests/intel-ci/fast-feedback.testlist
index 1f3b95357..c625904d5 100644
--- a/tests/intel-ci/fast-feedback.testlist
+++ b/tests/intel-ci/fast-feedback.testlist
@@ -272,3 +272,4 @@ igt at vgem_basic@unload
igt at drv_module_reload@basic-reload
igt at drv_module_reload@basic-no-display
igt at drv_module_reload@basic-reload-inject
+igt at pm_rpm@module-reload
diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index 1fbdda4ed..79cdf969a 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -692,7 +692,7 @@ static void setup_pc8(void)
has_pc8 = true;
}
-static void setup_environment(void)
+static bool setup_environment(void)
{
drm_fd = drm_open_driver_master(DRIVER_INTEL);
debugfs = igt_debugfs_dir(drm_fd);
@@ -710,7 +710,7 @@ static void setup_environment(void)
igt_require(has_runtime_pm);
disable_all_screens(&ms_data);
- igt_require(wait_for_suspended());
+ return wait_for_suspended();
}
static void restore_environment(void)
@@ -1905,7 +1905,7 @@ int main(int argc, char *argv[])
* PC8+. We don't want bug reports from cases where the machine is just
* not properly configured. */
igt_fixture
- setup_environment();
+ igt_require(setup_environment());
if (stay)
igt_subtest("stay")
@@ -2026,5 +2026,27 @@ int main(int argc, char *argv[])
igt_fixture
teardown_environment();
+ igt_subtest("module-reload") {
+ igt_debug("Reload w/o display\n");
+ igt_i915_driver_unload();
+ igt_assert_eq(igt_i915_driver_load("disable_display=1"), 0);
+
+ igt_assert(setup_environment());
+ basic_subtest();
+ drm_resources_equal_subtest();
+ pci_d3_state_subtest();
+ teardown_environment();
+
+ igt_debug("Reload as normal\n");
+ igt_i915_driver_unload();
+ igt_assert_eq(igt_i915_driver_load(NULL), 0);
+
+ igt_assert(setup_environment());
+ basic_subtest();
+ drm_resources_equal_subtest();
+ pci_d3_state_subtest();
+ teardown_environment();
+ }
+
igt_exit();
}
--
2.18.0
More information about the igt-dev
mailing list