[Intel-gfx] [PATCH i-g-t v2 13/14] tests/chamelium: Remove reliance on output->config.pipe

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Thu Oct 12 11:54:34 UTC 2017


IGT has an api that can find a matching pipe for a given connector,
so use that.

igt_output_override_mode already forces a modeset on an affected pipe
since an earlier commit, so the second call to igt_output_set_pipe
can be removed.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
---
 tests/chamelium.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/tests/chamelium.c b/tests/chamelium.c
index 4ad29f9d178a..d4a185e76873 100644
--- a/tests/chamelium.c
+++ b/tests/chamelium.c
@@ -416,6 +416,8 @@ prepare_output(data_t *data,
 	drmModeRes *res;
 	drmModeConnector *connector =
 		chamelium_port_get_connector(data->chamelium, port, false);
+	enum pipe pipe;
+	bool found = false;
 
 	igt_assert(res = drmModeGetResources(data->drm_fd));
 	kmstest_unset_all_crtcs(data->drm_fd, res);
@@ -433,7 +435,18 @@ prepare_output(data_t *data,
 
 	igt_assert(kmstest_probe_connector_config(
 		data->drm_fd, connector->connector_id, ~0, &output->config));
-	igt_output_set_pipe(output, output->config.pipe);
+
+	for_each_pipe(display, pipe) {
+		if (!igt_pipe_connector_valid(pipe, output))
+			continue;
+
+		found = true;
+		break;
+	}
+
+	igt_assert_f(found, "No pipe found for output %s\n", igt_output_name(output));
+
+	igt_output_set_pipe(output, pipe);
 
 	drmModeFreeConnector(connector);
 	drmModeFreeResources(res);
@@ -459,8 +472,6 @@ enable_output(data_t *data,
 	igt_plane_set_fb(primary, fb);
 	igt_output_override_mode(output, mode);
 
-	igt_output_set_pipe(output, output->config.pipe);
-
 	/* Clear any color correction values that might be enabled */
 	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_DEGAMMA_LUT, NULL, 0);
 	igt_pipe_obj_replace_prop_blob(primary->pipe, IGT_CRTC_GAMMA_LUT, NULL, 0);
-- 
2.14.1



More information about the Intel-gfx mailing list