diff mbox

[i-g-t,v2,26/33] tests/kms_rotation_crc: Add support for dynamic number of planes

Message ID 20170124233400.5053-27-robert.foss@collabora.com (mailing list archive)
State New, archived
Headers show

Commit Message

Robert Foss Jan. 24, 2017, 11:33 p.m. UTC
Add changes reflecting the new support for dynamic number of planes per pipe.

Signed-off-by: Robert Foss <robert.foss@collabora.com>
---
 tests/kms_rotation_crc.c | 63 ++++++++++++++++++++++++------------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

Comments

Mika Kahola Jan. 26, 2017, 11:12 a.m. UTC | #1
Reviewed-by: Mika Kahola <mika.kahola@intel.com>

On Tue, 2017-01-24 at 18:33 -0500, Robert Foss wrote:
> Add changes reflecting the new support for dynamic number of planes
> per pipe.
> 
> Signed-off-by: Robert Foss <robert.foss@collabora.com>
> ---
>  tests/kms_rotation_crc.c | 63 ++++++++++++++++++++++++------------
> ------------
>  1 file changed, 32 insertions(+), 31 deletions(-)
> 
> diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
> index cb0ac1eb..6769a89b 100644
> --- a/tests/kms_rotation_crc.c
> +++ b/tests/kms_rotation_crc.c
> @@ -97,17 +97,18 @@ static void commit_crtc(data_t *data,
> igt_output_t *output, igt_plane_t *plane)
>  	 * we create an fb covering the crtc and call commit
>  	 */
>  
> -	primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
> +	primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
>  	igt_plane_set_fb(primary, &data->fb_modeset);
>  	primary->rotation_changed = false;
>  	igt_display_commit(display);
>  
>  	igt_plane_set_fb(plane, &data->fb);
>  
> -	if (!plane->is_cursor)
> +	if (plane->type != DRM_PLANE_TYPE_CURSOR)
>  		igt_plane_set_position(plane, data->pos_x, data-
> >pos_y);
>  
> -	if (plane->is_primary || plane->is_cursor)
> +	if (plane->type == DRM_PLANE_TYPE_PRIMARY ||
> +	    plane->type == DRM_PLANE_TYPE_CURSOR)
>  		commit = COMMIT_UNIVERSAL;
>  
>  	if (data->display.is_atomic)
> @@ -154,7 +155,7 @@ static void prepare_crtc(data_t *data,
> igt_output_t *output, enum pipe pipe,
>  		tiling = data->override_tiling ?
>  			 data->override_tiling :
> LOCAL_I915_FORMAT_MOD_Y_TILED;
>  		w = h =  mode->vdisplay;
> -	} else if (plane->is_cursor) {
> +	} else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
>  		pixel_format = data->override_fmt ?
>  			       data->override_fmt :
> DRM_FORMAT_ARGB8888;
>  		w = h = 128;
> @@ -206,10 +207,10 @@ static void cleanup_crtc(data_t *data,
> igt_output_t *output, igt_plane_t *plane)
>  		igt_remove_fb(data->gfx_fd, &data->fb_flip);
>  
>  	/* XXX: see the note in prepare_crtc() */
> -	if (!plane->is_primary) {
> +	if (plane->type != DRM_PLANE_TYPE_PRIMARY) {
>  		igt_plane_t *primary;
>  
> -		primary = igt_output_get_plane(output,
> IGT_PLANE_PRIMARY);
> +		primary = igt_output_get_plane_type(output,
> DRM_PLANE_TYPE_PRIMARY);
>  		igt_plane_set_fb(primary, NULL);
>  	}
>  
> @@ -236,7 +237,7 @@ static void wait_for_pageflip(int fd)
>  	igt_assert(drmHandleEvent(fd, &evctx) == 0);
>  }
>  
> -static void test_plane_rotation(data_t *data, enum igt_plane
> plane_type)
> +static void test_plane_rotation(data_t *data, int plane_type)
>  {
>  	igt_display_t *display = &data->display;
>  	igt_output_t *output;
> @@ -247,10 +248,10 @@ static void test_plane_rotation(data_t *data,
> enum igt_plane plane_type)
>  	unsigned int flip_count;
>  	int ret;
>  
> -	if (plane_type == IGT_PLANE_PRIMARY || plane_type ==
> IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type ==
> DRM_PLANE_TYPE_CURSOR)
>  		commit = COMMIT_UNIVERSAL;
>  
> -	if (plane_type == IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_CURSOR)
>  		igt_require(display->has_cursor_plane);
>  
>  	if (data->display.is_atomic)
> @@ -261,7 +262,7 @@ static void test_plane_rotation(data_t *data,
> enum igt_plane plane_type)
>  
>  		igt_output_set_pipe(output, pipe);
>  
> -		plane = igt_output_get_plane(output, plane_type);
> +		plane = igt_output_get_plane_type(output,
> plane_type);
>  		igt_require(igt_plane_supports_rotation(plane));
>  
>  		prepare_crtc(data, output, pipe, plane);
> @@ -321,7 +322,7 @@ static void test_plane_rotation(data_t *data,
> enum igt_plane plane_type)
>  
>  static void test_plane_rotation_ytiled_obj(data_t *data,
>  					   igt_output_t *output,
> -					   enum igt_plane
> plane_type)
> +					   int plane_type)
>  {
>  	igt_display_t *display = &data->display;
>  	uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
> @@ -335,13 +336,13 @@ static void
> test_plane_rotation_ytiled_obj(data_t *data,
>  	uint32_t gem_handle;
>  	int ret;
>  
> -	plane = igt_output_get_plane(output, plane_type);
> +	plane = igt_output_get_plane_type(output, plane_type);
>  	igt_require(igt_plane_supports_rotation(plane));
>  
> -	if (plane_type == IGT_PLANE_PRIMARY || plane_type ==
> IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type ==
> DRM_PLANE_TYPE_CURSOR)
>  		commit = COMMIT_UNIVERSAL;
>  
> -	if (plane_type == IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_CURSOR)
>  		igt_require(display->has_cursor_plane);
>  
>  	if (data->display.is_atomic)
> @@ -388,7 +389,7 @@ static void test_plane_rotation_ytiled_obj(data_t
> *data,
>  
>  static void test_plane_rotation_exhaust_fences(data_t *data,
>  					       igt_output_t *output,
> -					       enum igt_plane
> plane_type)
> +					       int plane_type)
>  {
>  	igt_display_t *display = &data->display;
>  	uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
> @@ -404,13 +405,13 @@ static void
> test_plane_rotation_exhaust_fences(data_t *data,
>  	uint64_t total_aperture_size, total_fbs_size;
>  	int i, ret;
>  
> -	plane = igt_output_get_plane(output, plane_type);
> +	plane = igt_output_get_plane_type(output, plane_type);
>  	igt_require(igt_plane_supports_rotation(plane));
>  
> -	if (plane_type == IGT_PLANE_PRIMARY || plane_type ==
> IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type ==
> DRM_PLANE_TYPE_CURSOR)
>  		commit = COMMIT_UNIVERSAL;
>  
> -	if (plane_type == IGT_PLANE_CURSOR)
> +	if (plane_type == DRM_PLANE_TYPE_CURSOR)
>  		igt_require(display->has_cursor_plane);
>  
>  	if (data->display.is_atomic)
> @@ -519,41 +520,41 @@ igt_main
>  	}
>  	igt_subtest_f("primary-rotation-180") {
>  		data.rotation = IGT_ROTATION_180;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("sprite-rotation-180") {
>  		data.rotation = IGT_ROTATION_180;
> -		test_plane_rotation(&data, IGT_PLANE_2);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
>  	}
>  
>  	igt_subtest_f("cursor-rotation-180") {
>  		data.rotation = IGT_ROTATION_180;
> -		test_plane_rotation(&data, IGT_PLANE_CURSOR);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
>  	}
>  
>  	igt_subtest_f("primary-rotation-90") {
>  		igt_require(gen >= 9);
>  		data.rotation = IGT_ROTATION_90;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("primary-rotation-270") {
>  		igt_require(gen >= 9);
>  		data.rotation = IGT_ROTATION_270;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("sprite-rotation-90") {
>  		igt_require(gen >= 9);
>  		data.rotation = IGT_ROTATION_90;
> -		test_plane_rotation(&data, IGT_PLANE_2);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
>  	}
>  
>  	igt_subtest_f("sprite-rotation-270") {
>  		igt_require(gen >= 9);
>  		data.rotation = IGT_ROTATION_270;
> -		test_plane_rotation(&data, IGT_PLANE_2);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
>  	}
>  
>  	igt_subtest_f("sprite-rotation-90-pos-100-0") {
> @@ -561,7 +562,7 @@ igt_main
>  		data.rotation = IGT_ROTATION_90;
>  		data.pos_x = 100,
>  		data.pos_y = 0;
> -		test_plane_rotation(&data, IGT_PLANE_2);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
>  	}
>  
>  	igt_subtest_f("bad-pixel-format") {
> @@ -570,7 +571,7 @@ igt_main
>  		data.pos_y = 0;
>  		data.rotation = IGT_ROTATION_90;
>  		data.override_fmt = DRM_FORMAT_RGB565;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("bad-tiling") {
> @@ -578,7 +579,7 @@ igt_main
>  		data.override_fmt = 0;
>  		data.rotation = IGT_ROTATION_90;
>  		data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("primary-rotation-90-flip-stress") {
> @@ -586,7 +587,7 @@ igt_main
>  		data.override_tiling = 0;
>  		data.flip_stress = 60;
>  		data.rotation = IGT_ROTATION_90;
> -		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
> +		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
>  	}
>  
>  	igt_subtest_f("primary-rotation-90-Y-tiled") {
> @@ -600,7 +601,7 @@ igt_main
>  		for_each_pipe_with_valid_output(&data.display, pipe,
> output) {
>  			igt_output_set_pipe(output, pipe);
>  
> -			test_plane_rotation_ytiled_obj(&data,
> output, IGT_PLANE_PRIMARY);
> +			test_plane_rotation_ytiled_obj(&data,
> output, DRM_PLANE_TYPE_PRIMARY);
>  
>  			valid_tests++;
>  			break;
> @@ -619,7 +620,7 @@ igt_main
>  		for_each_pipe_with_valid_output(&data.display, pipe,
> output) {
>  			igt_output_set_pipe(output, pipe);
>  
> -			test_plane_rotation_exhaust_fences(&data,
> output, IGT_PLANE_PRIMARY);
> +			test_plane_rotation_exhaust_fences(&data,
> output, DRM_PLANE_TYPE_PRIMARY);
>  
>  			valid_tests++;
>  			break;
diff mbox

Patch

diff --git a/tests/kms_rotation_crc.c b/tests/kms_rotation_crc.c
index cb0ac1eb..6769a89b 100644
--- a/tests/kms_rotation_crc.c
+++ b/tests/kms_rotation_crc.c
@@ -97,17 +97,18 @@  static void commit_crtc(data_t *data, igt_output_t *output, igt_plane_t *plane)
 	 * we create an fb covering the crtc and call commit
 	 */
 
-	primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
+	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 	igt_plane_set_fb(primary, &data->fb_modeset);
 	primary->rotation_changed = false;
 	igt_display_commit(display);
 
 	igt_plane_set_fb(plane, &data->fb);
 
-	if (!plane->is_cursor)
+	if (plane->type != DRM_PLANE_TYPE_CURSOR)
 		igt_plane_set_position(plane, data->pos_x, data->pos_y);
 
-	if (plane->is_primary || plane->is_cursor)
+	if (plane->type == DRM_PLANE_TYPE_PRIMARY ||
+	    plane->type == DRM_PLANE_TYPE_CURSOR)
 		commit = COMMIT_UNIVERSAL;
 
 	if (data->display.is_atomic)
@@ -154,7 +155,7 @@  static void prepare_crtc(data_t *data, igt_output_t *output, enum pipe pipe,
 		tiling = data->override_tiling ?
 			 data->override_tiling : LOCAL_I915_FORMAT_MOD_Y_TILED;
 		w = h =  mode->vdisplay;
-	} else if (plane->is_cursor) {
+	} else if (plane->type == DRM_PLANE_TYPE_CURSOR) {
 		pixel_format = data->override_fmt ?
 			       data->override_fmt : DRM_FORMAT_ARGB8888;
 		w = h = 128;
@@ -206,10 +207,10 @@  static void cleanup_crtc(data_t *data, igt_output_t *output, igt_plane_t *plane)
 		igt_remove_fb(data->gfx_fd, &data->fb_flip);
 
 	/* XXX: see the note in prepare_crtc() */
-	if (!plane->is_primary) {
+	if (plane->type != DRM_PLANE_TYPE_PRIMARY) {
 		igt_plane_t *primary;
 
-		primary = igt_output_get_plane(output, IGT_PLANE_PRIMARY);
+		primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
 		igt_plane_set_fb(primary, NULL);
 	}
 
@@ -236,7 +237,7 @@  static void wait_for_pageflip(int fd)
 	igt_assert(drmHandleEvent(fd, &evctx) == 0);
 }
 
-static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
+static void test_plane_rotation(data_t *data, int plane_type)
 {
 	igt_display_t *display = &data->display;
 	igt_output_t *output;
@@ -247,10 +248,10 @@  static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
 	unsigned int flip_count;
 	int ret;
 
-	if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
 		commit = COMMIT_UNIVERSAL;
 
-	if (plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_CURSOR)
 		igt_require(display->has_cursor_plane);
 
 	if (data->display.is_atomic)
@@ -261,7 +262,7 @@  static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
 
 		igt_output_set_pipe(output, pipe);
 
-		plane = igt_output_get_plane(output, plane_type);
+		plane = igt_output_get_plane_type(output, plane_type);
 		igt_require(igt_plane_supports_rotation(plane));
 
 		prepare_crtc(data, output, pipe, plane);
@@ -321,7 +322,7 @@  static void test_plane_rotation(data_t *data, enum igt_plane plane_type)
 
 static void test_plane_rotation_ytiled_obj(data_t *data,
 					   igt_output_t *output,
-					   enum igt_plane plane_type)
+					   int plane_type)
 {
 	igt_display_t *display = &data->display;
 	uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
@@ -335,13 +336,13 @@  static void test_plane_rotation_ytiled_obj(data_t *data,
 	uint32_t gem_handle;
 	int ret;
 
-	plane = igt_output_get_plane(output, plane_type);
+	plane = igt_output_get_plane_type(output, plane_type);
 	igt_require(igt_plane_supports_rotation(plane));
 
-	if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
 		commit = COMMIT_UNIVERSAL;
 
-	if (plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_CURSOR)
 		igt_require(display->has_cursor_plane);
 
 	if (data->display.is_atomic)
@@ -388,7 +389,7 @@  static void test_plane_rotation_ytiled_obj(data_t *data,
 
 static void test_plane_rotation_exhaust_fences(data_t *data,
 					       igt_output_t *output,
-					       enum igt_plane plane_type)
+					       int plane_type)
 {
 	igt_display_t *display = &data->display;
 	uint64_t tiling = LOCAL_I915_FORMAT_MOD_Y_TILED;
@@ -404,13 +405,13 @@  static void test_plane_rotation_exhaust_fences(data_t *data,
 	uint64_t total_aperture_size, total_fbs_size;
 	int i, ret;
 
-	plane = igt_output_get_plane(output, plane_type);
+	plane = igt_output_get_plane_type(output, plane_type);
 	igt_require(igt_plane_supports_rotation(plane));
 
-	if (plane_type == IGT_PLANE_PRIMARY || plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_PRIMARY || plane_type == DRM_PLANE_TYPE_CURSOR)
 		commit = COMMIT_UNIVERSAL;
 
-	if (plane_type == IGT_PLANE_CURSOR)
+	if (plane_type == DRM_PLANE_TYPE_CURSOR)
 		igt_require(display->has_cursor_plane);
 
 	if (data->display.is_atomic)
@@ -519,41 +520,41 @@  igt_main
 	}
 	igt_subtest_f("primary-rotation-180") {
 		data.rotation = IGT_ROTATION_180;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("sprite-rotation-180") {
 		data.rotation = IGT_ROTATION_180;
-		test_plane_rotation(&data, IGT_PLANE_2);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("cursor-rotation-180") {
 		data.rotation = IGT_ROTATION_180;
-		test_plane_rotation(&data, IGT_PLANE_CURSOR);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_CURSOR);
 	}
 
 	igt_subtest_f("primary-rotation-90") {
 		igt_require(gen >= 9);
 		data.rotation = IGT_ROTATION_90;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("primary-rotation-270") {
 		igt_require(gen >= 9);
 		data.rotation = IGT_ROTATION_270;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("sprite-rotation-90") {
 		igt_require(gen >= 9);
 		data.rotation = IGT_ROTATION_90;
-		test_plane_rotation(&data, IGT_PLANE_2);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("sprite-rotation-270") {
 		igt_require(gen >= 9);
 		data.rotation = IGT_ROTATION_270;
-		test_plane_rotation(&data, IGT_PLANE_2);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("sprite-rotation-90-pos-100-0") {
@@ -561,7 +562,7 @@  igt_main
 		data.rotation = IGT_ROTATION_90;
 		data.pos_x = 100,
 		data.pos_y = 0;
-		test_plane_rotation(&data, IGT_PLANE_2);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_OVERLAY);
 	}
 
 	igt_subtest_f("bad-pixel-format") {
@@ -570,7 +571,7 @@  igt_main
 		data.pos_y = 0;
 		data.rotation = IGT_ROTATION_90;
 		data.override_fmt = DRM_FORMAT_RGB565;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("bad-tiling") {
@@ -578,7 +579,7 @@  igt_main
 		data.override_fmt = 0;
 		data.rotation = IGT_ROTATION_90;
 		data.override_tiling = LOCAL_DRM_FORMAT_MOD_NONE;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("primary-rotation-90-flip-stress") {
@@ -586,7 +587,7 @@  igt_main
 		data.override_tiling = 0;
 		data.flip_stress = 60;
 		data.rotation = IGT_ROTATION_90;
-		test_plane_rotation(&data, IGT_PLANE_PRIMARY);
+		test_plane_rotation(&data, DRM_PLANE_TYPE_PRIMARY);
 	}
 
 	igt_subtest_f("primary-rotation-90-Y-tiled") {
@@ -600,7 +601,7 @@  igt_main
 		for_each_pipe_with_valid_output(&data.display, pipe, output) {
 			igt_output_set_pipe(output, pipe);
 
-			test_plane_rotation_ytiled_obj(&data, output, IGT_PLANE_PRIMARY);
+			test_plane_rotation_ytiled_obj(&data, output, DRM_PLANE_TYPE_PRIMARY);
 
 			valid_tests++;
 			break;
@@ -619,7 +620,7 @@  igt_main
 		for_each_pipe_with_valid_output(&data.display, pipe, output) {
 			igt_output_set_pipe(output, pipe);
 
-			test_plane_rotation_exhaust_fences(&data, output, IGT_PLANE_PRIMARY);
+			test_plane_rotation_exhaust_fences(&data, output, DRM_PLANE_TYPE_PRIMARY);
 
 			valid_tests++;
 			break;