summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaulo Zanoni <paulo.r.zanoni@intel.com>2014-07-16 16:10:30 -0300
committerPaulo Zanoni <paulo.r.zanoni@intel.com>2014-07-17 18:01:19 -0300
commitd0dc2c5b6a22f88d0c7288d134173320c58c8d50 (patch)
tree114e7a66f501ee6915667ec17ac1563f59a17d58 /tests
parent8a3853c8121367d055acea2f7fb483095b971bf9 (diff)
tests/pm_rpm: add dpms-mode-unset{,-non}-lpsp subtests
These tests currently trigger WARNs on our Kernel. Let's make sure we fix the bug and it never comes back. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/pm_rpm.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/pm_rpm.c b/tests/pm_rpm.c
index 323e0729..1e63bc8f 100644
--- a/tests/pm_rpm.c
+++ b/tests/pm_rpm.c
@@ -1390,6 +1390,23 @@ static void system_suspend_subtest(void)
igt_assert(wait_for_suspended());
}
+/* Enable a screen, activate DPMS, then do a modeset. At some point our driver
+ * produced WARNs on this case. */
+static void dpms_mode_unset_subtest(enum screen_type type)
+{
+ disable_all_screens(&ms_data);
+ igt_assert(wait_for_suspended());
+
+ igt_require(enable_one_screen_with_type(&ms_data, type));
+ igt_assert(wait_for_active());
+
+ disable_all_screens_dpms(&ms_data);
+ igt_assert(wait_for_suspended());
+
+ disable_all_screens(&ms_data);
+ igt_assert(wait_for_suspended());
+}
+
int main(int argc, char *argv[])
{
int rounds = 50;
@@ -1462,6 +1479,10 @@ int main(int argc, char *argv[])
debugfs_forcewake_user_subtest();
igt_subtest("sysfs-read")
sysfs_read_subtest();
+ igt_subtest("dpms-mode-unset-lpsp")
+ dpms_mode_unset_subtest(SCREEN_TYPE_LPSP);
+ igt_subtest("dpms-mode-unset-non-lpsp")
+ dpms_mode_unset_subtest(SCREEN_TYPE_NON_LPSP);
/* Modeset stress */
igt_subtest("modeset-lpsp-stress")