[Intel-gfx] [PATCH i-g-t] tests/kms_atomic_transition: Make tests pass

Petri Latvala petri.latvala at intel.com
Mon Oct 23 09:35:46 UTC 2017




On Fri, Oct 20, 2017 at 03:24:15PM +0200, Maarten Lankhorst wrote:

Subject: [Intel-gfx] [PATCH i-g-t] tests/kms_atomic_transition: Make tests pass


You have an excellent explanation of what this patch does in the long
description, and yet this short description says nothing of value.



-- 
Petri Latvala


> kms_atomic_transition was updating already disabled planes and committing
> them nonblockingly. This results in sporadic -EBUSY failures because
> planes that are unbound have their own timeline.
> 
> The solution is not unbinding already unbound planes, making the test
> pass. There is also a related kernel bug causing failures in the same
> way, but that will get fixed soon.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102671
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> ---
>  tests/kms_atomic_transition.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c
> index 7ddb65cea183..4c295125a8a7 100644
> --- a/tests/kms_atomic_transition.c
> +++ b/tests/kms_atomic_transition.c
> @@ -134,7 +134,8 @@ wm_setup_plane(igt_display_t *display, enum pipe pipe,
>  		int i = plane->index;
>  
>  		if (!((1 << plane->index) & mask)) {
> -			igt_plane_set_fb(plane, NULL);
> +			if (plane->values[IGT_PLANE_FB_ID])
> +				igt_plane_set_fb(plane, NULL);
>  			continue;
>  		}
>  
> @@ -388,11 +389,13 @@ static void wait_for_transition(igt_display_t *display, enum pipe pipe, bool non
>  	if (fencing) {
>  		int fence_fd = display->pipes[pipe].out_fence_fd;
>  
> -		igt_assert_neq(fd_completed(fence_fd), nonblocking);
> +		if (!nonblocking)
> +			igt_assert(fd_completed(fence_fd));
>  
>  		igt_assert(sync_fence_wait(fence_fd, 30000) == 0);
>  	} else {
> -		igt_assert_neq(fd_completed(display->drm_fd), nonblocking);
> +		if (!nonblocking)
> +			igt_assert(fd_completed(display->drm_fd));
>  
>  		drmHandleEvent(display->drm_fd, &drm_events);
>  	}
> -- 
> 2.14.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list