[igt-dev] [PATCH i-g-t] tests/kms_concurrent: Allow the test to proceed with fewer planes

Daniel Vetter daniel at ffwll.ch
Wed Apr 3 08:35:49 UTC 2019


On Tue, Apr 02, 2019 at 04:08:37PM +0300, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> We may not be able to enable all the planes simultaneously. In that
> case just keep going with fewer planes. The test already requires
> atomic so let's use TEST_ONLY unconditionally.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  tests/kms_concurrent.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/tests/kms_concurrent.c b/tests/kms_concurrent.c
> index 117016dc44e8..d82ca0404839 100644
> --- a/tests/kms_concurrent.c
> +++ b/tests/kms_concurrent.c
> @@ -184,6 +184,7 @@ prepare_planes(data_t *data, enum pipe pipe, int max_planes,
>  	y[primary->index] = 0;
>  	for (i = 0; i < max_planes; i++) {
>  		igt_plane_t *plane = igt_output_get_plane(output, i);
> +		int ret;
>  
>  		if (plane->type == DRM_PLANE_TYPE_PRIMARY)
>  			continue;
> @@ -206,7 +207,18 @@ prepare_planes(data_t *data, enum pipe pipe, int max_planes,
>  
>  		igt_plane_set_position(data->plane[i], x[i], y[i]);
>  		igt_plane_set_fb(data->plane[i], &data->fb[i]);
> +
> +		ret = igt_display_try_commit_atomic(&data->display, DRM_MODE_ATOMIC_TEST_ONLY, NULL);
> +		if (ret) {
> +			igt_plane_set_fb(data->plane[i], NULL);
> +			igt_remove_fb(data->drm_fd, &data->fb[i]);
> +			data->plane[i] = NULL;
> +			break;
> +		}
>  	}
> +	max_planes = i;

Imo we need to shuffle planes, to make sure we don't just test the first
few all the times. Shouldn't be too hard to insert an igt_permute_array
to shuffle stuff around. Without that we leave a pretty big test hole
behind.

Same for the other testcases where we actually want to validate planes
working correctly.
-Daniel

> +
> +	igt_assert_lt(0, max_planes);
>  
>  	/* primary plane */
>  	data->plane[primary->index] = primary;
> -- 
> 2.19.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the igt-dev mailing list