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>
This commit is contained in:
Paulo Zanoni 2014-07-16 16:10:30 -03:00
parent 8a3853c812
commit d0dc2c5b6a

View File

@ -1390,6 +1390,23 @@ static void system_suspend_subtest(void)
igt_assert(wait_for_suspended()); 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 main(int argc, char *argv[])
{ {
int rounds = 50; int rounds = 50;
@ -1462,6 +1479,10 @@ int main(int argc, char *argv[])
debugfs_forcewake_user_subtest(); debugfs_forcewake_user_subtest();
igt_subtest("sysfs-read") igt_subtest("sysfs-read")
sysfs_read_subtest(); 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 */ /* Modeset stress */
igt_subtest("modeset-lpsp-stress") igt_subtest("modeset-lpsp-stress")