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.lankho...@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to