Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> --- lib/igt_kms.c | 28 ++++++++++++++++++++++++++++ lib/igt_kms.h | 1 + tests/kms_flip.c | 36 ++++-------------------------------- tests/testdisplay.c | 36 ++++-------------------------------- 4 files changed, 37 insertions(+), 64 deletions(-) diff --git a/lib/igt_kms.c b/lib/igt_kms.c index fffad9f60671..d00250da1c19 100644 --- a/lib/igt_kms.c +++ b/lib/igt_kms.c @@ -180,6 +180,34 @@ int kmstest_get_pipe_from_crtc_id(int fd, int crtc_id) return pfci.pipe; } +void kmstest_set_connector_dpms(int fd, drmModeConnector *connector, int mode) +{ + int i, dpms = 0; + bool found_it = false; + + for (i = 0; i < connector->count_props; i++) { + struct drm_mode_get_property prop; + + prop.prop_id = connector->props[i]; + prop.count_values = 0; + prop.count_enum_blobs = 0; + if (drmIoctl(fd, DRM_IOCTL_MODE_GETPROPERTY, &prop)) + continue; + + if (strcmp(prop.name, "DPMS")) + continue; + + dpms = prop.prop_id; + found_it = true; + break; + } + igt_assert_f(found_it, "DPMS property not found on %d\n", + connector->connector_id); + + igt_assert(drmModeConnectorSetProperty(fd, connector->connector_id, + dpms, mode) == 0); +} + static signed long set_vt_mode(unsigned long mode) { int fd; diff --git a/lib/igt_kms.h b/lib/igt_kms.h index 439a6346f352..8e80d4be9a43 100644 --- a/lib/igt_kms.h +++ b/lib/igt_kms.h @@ -88,6 +88,7 @@ const char *kmstest_pipe_str(int pipe); const char *kmstest_encoder_type_str(int type); const char *kmstest_connector_status_str(int type); const char *kmstest_connector_type_str(int type); +void kmstest_set_connector_dpms(int fd, drmModeConnector *connector, int mode); /* * A small modeset API diff --git a/tests/kms_flip.c b/tests/kms_flip.c index c2f0d2ee9c67..3032c8d9bcef 100644 --- a/tests/kms_flip.c +++ b/tests/kms_flip.c @@ -298,34 +298,6 @@ static void emit_dummy_load__rcs(struct test_output *o) drm_intel_bo_unreference(sb[1].bo); } -static void set_connector_dpms(drmModeConnector *connector, int mode) -{ - int i, dpms = 0; - bool found_it = false; - - for (i = 0; i < connector->count_props; i++) { - struct drm_mode_get_property prop; - - prop.prop_id = connector->props[i]; - prop.count_values = 0; - prop.count_enum_blobs = 0; - if (drmIoctl(drm_fd, DRM_IOCTL_MODE_GETPROPERTY, &prop)) - continue; - - if (strcmp(prop.name, "DPMS")) - continue; - - dpms = prop.prop_id; - found_it = true; - break; - } - igt_assert_f(found_it, "DPMS property not found on %d\n", - connector->connector_id); - - igt_assert(drmModeConnectorSetProperty(drm_fd, connector->connector_id, - dpms, mode) == 0); -} - static void dpms_off_other_outputs(struct test_output *o) { int i, n; @@ -342,8 +314,8 @@ static void dpms_off_other_outputs(struct test_output *o) connector = drmModeGetConnector(drm_fd, connector_id); - set_connector_dpms(connector, DRM_MODE_DPMS_ON); - set_connector_dpms(connector, DRM_MODE_DPMS_OFF); + kmstest_set_connector_dpms(drm_fd, connector, DRM_MODE_DPMS_ON); + kmstest_set_connector_dpms(drm_fd, connector, DRM_MODE_DPMS_OFF); drmModeFreeConnector(connector); next: @@ -354,7 +326,7 @@ next: static void set_dpms(struct test_output *o, int mode) { for (int n = 0; n < o->count; n++) - set_connector_dpms(o->kconnector[n], mode); + kmstest_set_connector_dpms(drm_fd, o->kconnector[n], mode); } static void set_flag(unsigned int *v, unsigned int flag) @@ -1486,7 +1458,7 @@ static void kms_flip_exit_handler(int sig) { igt_fixture { if (last_connector) - set_connector_dpms(last_connector, DRM_MODE_DPMS_ON); + kmstest_set_connector_dpms(drm_fd, last_connector, DRM_MODE_DPMS_ON); } } diff --git a/tests/testdisplay.c b/tests/testdisplay.c index d807f905dfd4..9de7ca088003 100644 --- a/tests/testdisplay.c +++ b/tests/testdisplay.c @@ -346,34 +346,6 @@ static void set_single(void) perror("Could not set signal handler"); } -static void set_connector_dpms(drmModeConnector *connector, int mode) -{ - int i, dpms = 0; - bool found_it = false; - - for (i = 0; i < connector->count_props; i++) { - struct drm_mode_get_property prop; - - prop.prop_id = connector->props[i]; - prop.count_values = 0; - prop.count_enum_blobs = 0; - if (drmIoctl(drm_fd, DRM_IOCTL_MODE_GETPROPERTY, &prop)) - continue; - - if (strcmp(prop.name, "DPMS")) - continue; - - dpms = prop.prop_id; - found_it = true; - break; - } - igt_assert_f(found_it, "DPMS property not found on %d\n", - connector->connector_id); - - igt_assert(drmModeConnectorSetProperty(drm_fd, connector->connector_id, - dpms, mode) == 0); -} - static void set_mode(struct connector *c) { @@ -430,9 +402,9 @@ set_mode(struct connector *c) sleep(sleep_between_modes); if (do_dpms) { - set_connector_dpms(c->connector, do_dpms); + kmstest_set_connector_dpms(drm_fd, c->connector, do_dpms); sleep(sleep_between_modes); - set_connector_dpms(c->connector, DRM_MODE_DPMS_ON); + kmstest_set_connector_dpms(drm_fd, c->connector, DRM_MODE_DPMS_ON); } if (qr_code){ @@ -608,9 +580,9 @@ set_stereo_mode(struct connector *c) sleep(sleep_between_modes); if (do_dpms) { - set_connector_dpms(c->connector, DRM_MODE_DPMS_OFF); + kmstest_set_connector_dpms(drm_fd, c->connector, DRM_MODE_DPMS_OFF); sleep(sleep_between_modes); - set_connector_dpms(c->connector, DRM_MODE_DPMS_ON); + kmstest_set_connector_dpms(drm_fd, c->connector, DRM_MODE_DPMS_ON); } } -- 1.8.1.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx