[igt-dev] [PATCH] tests/kms_cursor_legacy: Fix assertion failure due to vblank mismatch
Nischala Yelchuri
nischala.yelchuri at intel.com
Wed Mar 13 20:16:35 UTC 2019
For the !modeset case, after a pageflip is performed on both crtc's,
vblank counter is advanced by 1 when compared to its original value.
For the modeset case, when pageflips and modesets are interleaved,
vblank counter does not always advance by 1 as nonblocking modeset
could fail, in which case we do not need vblank_matches.
v2: Remove the assert statement instead of changing the condition
Cc: Maarten Lankhorst <maarten.lankhorst at intel.com>
Signed-off-by: Nischala Yelchuri <nischala.yelchuri at intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105454
---
tests/kms_cursor_legacy.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index d6987eea..9febf6e9 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -859,7 +859,7 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
enum pipe pipe = find_connected_pipe(display, false);
enum pipe pipe2 = find_connected_pipe(display, true);
igt_output_t *output, *output2;
- bool vblank_matches, enabled = false;
+ bool enabled = false;
volatile unsigned long *shared;
unsigned flags = 0, vblank_start;
struct drm_event_vblank vbl;
@@ -963,7 +963,6 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
flip_nonblocking(display, pipe2, atomic, &fb2_info, (void*)(ptrdiff_t)vblank_start);
}
- vblank_matches = false;
while (nloops) {
shared[1] = nloops & 1;
@@ -978,9 +977,6 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
if (!modeset)
igt_assert_eq(vbl.sequence, vblank_start + 1);
- if (vblank_start && vbl.sequence == vblank_start + 1)
- vblank_matches = true;
-
/* Do not requeue on the last 2 events. */
if (nloops <= 2) {
nloops--;
@@ -1013,8 +1009,6 @@ static void two_screens_flip_vs_cursor(igt_display_t *display, int nloops, bool
}
}
- igt_assert_f(vblank_matches, "During modeset at least 1 page flip needs to match!\n");
-
done:
shared[0] = 1;
igt_waitchildren();
--
2.17.1
More information about the igt-dev
mailing list