[Intel-gfx] [PATCH 1/2] lib: extract kmstest_set_connector_dpms

Daniel Vetter daniel.vetter at ffwll.ch
Thu Apr 24 23:51:15 CEST 2014


Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
---
 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




More information about the Intel-gfx mailing list