[igt-dev] [PATCH i-g-t 3/5] tests/kms_busy: Convert to using igt_get_single_output_for_pipe.

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Mar 14 14:46:35 UTC 2018


On Wed, Mar 14, 2018 at 12:20:19PM +0100, Maarten Lankhorst wrote:
> Put a single igt_display_require_output_on_pipe in the fixture,
> so we know we always have an output on the pipe and can always
> assume it's not NULL.
> 
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
>  tests/kms_busy.c | 38 +++++++++++++++-----------------------
>  1 file changed, 15 insertions(+), 23 deletions(-)
> 
> diff --git a/tests/kms_busy.c b/tests/kms_busy.c
> index 0828a8b38a06..5b4959681025 100644
> --- a/tests/kms_busy.c
> +++ b/tests/kms_busy.c
> @@ -35,31 +35,23 @@ IGT_TEST_DESCRIPTION("Basic check of KMS ABI with busy framebuffers.");
>  static igt_output_t *
>  set_fb_on_crtc(igt_display_t *dpy, int pipe, struct igt_fb *fb)
>  {
> +	drmModeModeInfoPtr mode;
> +	igt_plane_t *primary;
>  	igt_output_t *output;
>  
> -	for_each_valid_output_on_pipe(dpy, pipe, output) {
> -		drmModeModeInfoPtr mode;
> -		igt_plane_t *primary;
> -
> -		if (output->pending_pipe != PIPE_NONE)
> -			continue;
> -
> -		igt_output_set_pipe(output, pipe);
> -		mode = igt_output_get_mode(output);
> +	output = igt_get_single_output_for_pipe(dpy, pipe);
>  
> -		igt_create_pattern_fb(dpy->drm_fd,
> -				      mode->hdisplay, mode->vdisplay,
> -				      DRM_FORMAT_XRGB8888,
> -				      LOCAL_I915_FORMAT_MOD_X_TILED,
> -				      fb);
> +	igt_output_set_pipe(output, pipe);
> +	mode = igt_output_get_mode(output);
>  
> -		primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> -		igt_plane_set_fb(primary, fb);
> +	igt_create_pattern_fb(dpy->drm_fd, mode->hdisplay, mode->vdisplay,
> +			      DRM_FORMAT_XRGB8888,
> +			      LOCAL_I915_FORMAT_MOD_X_TILED, fb);
>  
> -		return output;
> -	}
> +	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> +	igt_plane_set_fb(primary, fb);
>  
> -	return NULL;
> +	return output;
>  }
>  
>  static void do_cleanup_display(igt_display_t *dpy)
> @@ -168,7 +160,7 @@ static void test_flip(igt_display_t *dpy, unsigned ring, int pipe, bool modeset)
>  
>  	signal(SIGALRM, sighandler);
>  
> -	igt_require((output = set_fb_on_crtc(dpy, pipe, &fb[0])));
> +	output = set_fb_on_crtc(dpy, pipe, &fb[0]);
>  	igt_display_commit2(dpy, COMMIT_LEGACY);
>  
>  	igt_create_pattern_fb(dpy->drm_fd,
> @@ -246,7 +238,7 @@ static void test_hang(igt_display_t *dpy, unsigned ring,
>  	igt_output_t *output;
>  	igt_plane_t *primary;
>  
> -	igt_require((output = set_fb_on_crtc(dpy, pipe, &fb[0])));
> +	output = set_fb_on_crtc(dpy, pipe, &fb[0]);
>  	igt_display_commit2(dpy, COMMIT_ATOMIC);
>  	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  
> @@ -290,7 +282,7 @@ static void test_pageflip_modeset_hang(igt_display_t *dpy,
>  	igt_plane_t *primary;
>  	igt_spin_t *t;
>  
> -	igt_require((output = set_fb_on_crtc(dpy, pipe, &fb)));
> +	output = set_fb_on_crtc(dpy, pipe, &fb);
>  	primary = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
>  
>  	igt_display_commit2(dpy, dpy->is_atomic ? COMMIT_ATOMIC : COMMIT_LEGACY);
> @@ -337,7 +329,7 @@ igt_main
>  		errno = 0;
>  
>  		igt_fixture {
> -			igt_skip_on(n >= display.n_pipes);
> +			igt_display_require_output_on_pipe(&display, n);
>  		}
>  
>  		igt_subtest_f("basic-flip-%s",
> -- 
> 2.16.2
> 
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev

-- 
Ville Syrjälä
Intel OTC


More information about the igt-dev mailing list