diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-24 23:33:09 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-04-30 18:07:58 +0200 |
commit | 29ee36f2597747c01d5c79c93ed31f5bcd06e219 (patch) | |
tree | 0405a9d1331ddb83d9357fe97819ca964e494f5e | |
parent | 066ad35ee7b39ab51fb5b8e54c3abd72df016413 (diff) |
lib: extract kmstest_set_connector_dpms
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r-- | lib/igt_kms.c | 28 | ||||
-rw-r--r-- | lib/igt_kms.h | 1 | ||||
-rw-r--r-- | tests/kms_flip.c | 36 | ||||
-rw-r--r-- | tests/testdisplay.c | 36 |
4 files changed, 37 insertions, 64 deletions
diff --git a/lib/igt_kms.c b/lib/igt_kms.c index fffad9f6..d00250da 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 439a6346..8e80d4be 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 c2f0d2ee..3032c8d9 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 d807f905..9de7ca08 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); } } |