[PATCH i-g-t v3 06/13] tests/kms: Clean up more users of unassigned pipes.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Use for_each_pipe_with_valid_output instead.

This may increase test time slightly on the affected tests, because now
outputs will be tested on every pipe instead of the first pipe. This
will increase test coverage to all usable pipes though, so it shouldn't
be an issue.

Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx>
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@xxxxxxxxx>
---
 tests/kms_crtc_background_color.c |  3 +--
 tests/kms_flip_tiling.c           | 50 +++++++++++++++++++++++----------------
 tests/kms_panel_fitting.c         |  5 ++--
 tests/kms_plane_scaling.c         |  5 ++--
 4 files changed, 34 insertions(+), 29 deletions(-)

diff --git a/tests/kms_crtc_background_color.c b/tests/kms_crtc_background_color.c
index b496625c1693..b97c1142df6e 100644
--- a/tests/kms_crtc_background_color.c
+++ b/tests/kms_crtc_background_color.c
@@ -133,10 +133,9 @@ static void test_crtc_background(data_t *data)
 
 	igt_require(data->display.has_universal_planes);
 
-	for_each_connected_output(display, output) {
+	for_each_pipe_with_valid_output(display, pipe, output) {
 		igt_plane_t *plane;
 
-		pipe = output->config.pipe;
 		igt_output_set_pipe(output, pipe);
 
 		plane = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
diff --git a/tests/kms_flip_tiling.c b/tests/kms_flip_tiling.c
index f58e65be61ee..cd2f510f1d45 100644
--- a/tests/kms_flip_tiling.c
+++ b/tests/kms_flip_tiling.c
@@ -80,16 +80,15 @@ static void wait_for_pageflip(int fd)
 }
 
 static void
-test_flip_tiling(data_t *data, igt_output_t *output, uint64_t tiling[2])
+test_flip_tiling(data_t *data, enum pipe pipe, igt_output_t *output, uint64_t tiling[2])
 {
 	drmModeModeInfo *mode;
 	igt_plane_t *primary;
 	struct igt_fb fb[2];
 	igt_pipe_crc_t *pipe_crc;
 	igt_crc_t reference_crc, crc;
-	int fb_id, pipe, ret, width;
+	int fb_id, ret, width;
 
-	pipe = output->config.pipe;
 	pipe_crc = pipe_crc_new(pipe);
 	igt_output_set_pipe(output, pipe);
 
@@ -184,31 +183,34 @@ igt_main
 	igt_subtest_f("flip-changes-tiling") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_X_TILED,
 				       LOCAL_DRM_FORMAT_MOD_NONE };
+		enum pipe pipe;
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-changes-tiling-Y") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Y_TILED,
 				       LOCAL_DRM_FORMAT_MOD_NONE };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-changes-tiling-Yf") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Yf_TILED,
 				       LOCAL_DRM_FORMAT_MOD_NONE };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	/*
@@ -222,31 +224,34 @@ igt_main
 	igt_subtest_f("flip-X-tiled") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_X_TILED,
 				       LOCAL_I915_FORMAT_MOD_X_TILED };
+		enum pipe pipe;
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-Y-tiled") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Y_TILED,
 				       LOCAL_I915_FORMAT_MOD_Y_TILED };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-Yf-tiled") {
 		uint64_t tiling[2] = { LOCAL_I915_FORMAT_MOD_Yf_TILED,
 				       LOCAL_I915_FORMAT_MOD_Yf_TILED };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	/*
@@ -260,31 +265,34 @@ igt_main
 	igt_subtest_f("flip-to-X-tiled") {
 		uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
 				       LOCAL_I915_FORMAT_MOD_X_TILED };
+		enum pipe pipe;
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-to-Y-tiled") {
 		uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
 				       LOCAL_I915_FORMAT_MOD_Y_TILED };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_subtest_f("flip-to-Yf-tiled") {
 		uint64_t tiling[2] = { LOCAL_DRM_FORMAT_MOD_NONE,
 				       LOCAL_I915_FORMAT_MOD_Yf_TILED };
+		enum pipe pipe;
 
 		igt_require_fb_modifiers(data.drm_fd);
 		igt_require(data.gen >= 9);
 
-		for_each_connected_output(&data.display, output)
-			test_flip_tiling(&data, output, tiling);
+		for_each_pipe_with_valid_output(&data.display, pipe, output)
+			test_flip_tiling(&data, pipe, output, tiling);
 	}
 
 	igt_fixture {
diff --git a/tests/kms_panel_fitting.c b/tests/kms_panel_fitting.c
index b796c6812679..7c501fcdd3fb 100644
--- a/tests/kms_panel_fitting.c
+++ b/tests/kms_panel_fitting.c
@@ -87,7 +87,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 	if (s == COMMIT_LEGACY) {
 		int ret;
 		ret = drmModeSetCrtc(data->drm_fd,
-				output->config.crtc->crtc_id,
+				plane->pipe->crtc_id,
 				data->fb_id1,
 				plane->pan_x, plane->pan_y,
 				&output->id,
@@ -137,7 +137,7 @@ static void test_panel_fitting(data_t *d)
 	enum pipe pipe;
 	int valid_tests = 0;
 
-	for_each_connected_output(display, output) {
+	for_each_pipe_with_valid_output(display, pipe, output) {
 		drmModeModeInfo *mode, native_mode;
 		bool scaling_mode_set;
 
@@ -153,7 +153,6 @@ static void test_panel_fitting(data_t *d)
 		if (!scaling_mode_set)
 			continue;
 
-		pipe = output->config.pipe;
 		igt_output_set_pipe(output, pipe);
 
 		mode = igt_output_get_mode(output);
diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
index ad5404d90bfa..39bb5e113411 100644
--- a/tests/kms_plane_scaling.c
+++ b/tests/kms_plane_scaling.c
@@ -96,7 +96,7 @@ static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 	if (s == COMMIT_LEGACY) {
 		int ret;
 		ret = drmModeSetCrtc(data->drm_fd,
-				output->config.crtc->crtc_id,
+				plane->pipe->crtc_id,
 				data->fb_id1,
 				plane->pan_x, plane->pan_y,
 				&output->id,
@@ -186,10 +186,9 @@ static void test_plane_scaling(data_t *d)
 	igt_require(d->display.has_universal_planes);
 	igt_require(d->num_scalers);
 
-	for_each_connected_output(display, output) {
+	for_each_pipe_with_valid_output(display, pipe, output) {
 		drmModeModeInfo *mode;
 
-		pipe = output->config.pipe;
 		igt_output_set_pipe(output, pipe);
 
 		mode = igt_output_get_mode(output);
-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux