summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2018-09-03 09:50:05 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2018-09-05 16:41:15 +0100
commit86686c6e2f7c6f0944bced11550e06d20bc6957f (patch)
tree38708bbe294514c909faad960826631e4355449f
parent7d2ab5b90b48fe50435ee8f43ed130ea323be951 (diff)
igt/pm_backlight: Skip if pm is not supported
If we cannot do runtime suspend, testing it's impact on the backlight is moot. Simply skip on systems that cannot runtime suspend. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107789 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107790 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107794 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-rw-r--r--tests/pm_backlight.c36
1 files changed, 25 insertions, 11 deletions
diff --git a/tests/pm_backlight.c b/tests/pm_backlight.c
index 4c0399d4..e94340a2 100644
--- a/tests/pm_backlight.c
+++ b/tests/pm_backlight.c
@@ -151,23 +151,37 @@ static void test_fade(struct context *context)
nanosleep(&ts, NULL);
}
}
-static void test_fade_with_dpms(struct context *context, igt_output_t *output)
+
+static void
+test_fade_with_dpms(struct context *context, igt_output_t *output)
{
- bool has_runtime_pm;
- has_runtime_pm = igt_setup_runtime_pm();
- igt_info("Runtime PM support: %d\n", has_runtime_pm);
- igt_assert(has_runtime_pm);
- kmstest_set_connector_dpms(output->display->drm_fd, output->config.connector, DRM_MODE_DPMS_OFF);
- igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
- kmstest_set_connector_dpms(output->display->drm_fd, output->config.connector, DRM_MODE_DPMS_ON);
+ igt_require(igt_setup_runtime_pm());
+
+ kmstest_set_connector_dpms(output->display->drm_fd,
+ output->config.connector,
+ DRM_MODE_DPMS_OFF);
+ igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+
+ kmstest_set_connector_dpms(output->display->drm_fd,
+ output->config.connector,
+ DRM_MODE_DPMS_ON);
igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_ACTIVE));
+
test_fade(context);
}
-static void test_fade_with_suspend(struct context *context, igt_output_t *output)
+
+static void
+test_fade_with_suspend(struct context *context, igt_output_t *output)
{
- kmstest_set_connector_dpms(output->display->drm_fd, output->config.connector, DRM_MODE_DPMS_OFF);
- igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+ igt_require(igt_setup_runtime_pm());
+
+ kmstest_set_connector_dpms(output->display->drm_fd,
+ output->config.connector,
+ DRM_MODE_DPMS_OFF);
+ igt_require(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+
igt_system_suspend_autoresume(SUSPEND_STATE_MEM, SUSPEND_TEST_NONE);
+
test_fade(context);
}