lib: extract kmstest_set_connector_dpms
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 24 Apr 2014 21:33:09 +0000 (23:33 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 30 Apr 2014 16:07:58 +0000 (18:07 +0200)
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
lib/igt_kms.c
lib/igt_kms.h
tests/kms_flip.c
tests/testdisplay.c

index fffad9f..d00250d 100644 (file)
@@ -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;
index 439a634..8e80d4b 100644 (file)
@@ -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
index c2f0d2e..3032c8d 100644 (file)
@@ -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);
        }
 }
 
index d807f90..9de7ca0 100644 (file)
@@ -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);
                }
        }