diff mbox

[10/22] flip_test: factor out the final state check

Message ID 1350398096-3649-11-git-send-email-imre.deak@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Imre Deak Oct. 16, 2012, 2:34 p.m. UTC
Needed by an upcoming patch where we want to make a final state check
for both the flip and vblank events.

No functional change.

Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 tests/flip_test.c |   29 +++++++++++++++++------------
 1 file changed, 17 insertions(+), 12 deletions(-)
diff mbox

Patch

diff --git a/tests/flip_test.c b/tests/flip_test.c
index 8f925d0..9b7ac2b 100644
--- a/tests/flip_test.c
+++ b/tests/flip_test.c
@@ -404,6 +404,22 @@  fb_is_bound(struct test_output *o, int fb)
 	return mode.mode_valid && mode.fb_id == fb;
 }
 
+static void check_final_state(struct test_output *o, unsigned int ellapsed)
+{
+	/* Verify we drop no frames, but only if it's not a TV encoder, since
+	 * those use some funny fake timings behind userspace's back. */
+	if (o->flags & TEST_CHECK_TS && !analog_tv_connector(o)) {
+		int expected;
+
+		expected = ellapsed * o->mode.vrefresh / (1000 * 1000);
+		if (o->count < expected * 99/100) {
+			fprintf(stderr, "dropped frames, expected %d, counted %d, encoder type %d\n",
+				expected, o->count, o->encoder->encoder_type);
+			exit(3);
+		}
+	}
+}
+
 static void wait_for_events(struct test_output *o)
 {
 	drmEventContext evctx;
@@ -526,18 +542,7 @@  static void flip_mode(struct test_output *o, int crtc, int duration)
 
 	ellapsed = event_loop(o, duration);
 
-	/* Verify we drop no frames, but only if it's not a TV encoder, since
-	 * those use some funny fake timings behind userspace's back. */
-	if (o->flags & TEST_CHECK_TS && !analog_tv_connector(o)) {
-		int expected;
-
-		expected = ellapsed * o->mode.vrefresh / (1000 * 1000);
-		if (o->count < expected * 99/100) {
-			fprintf(stderr, "dropped frames, expected %d, counted %d, encoder type %d\n",
-				expected, o->count, o->encoder->encoder_type);
-			exit(3);
-		}
-	}
+	check_final_state(o, ellapsed);
 
 	fprintf(stdout, "\npage flipping on crtc %d, connector %d: PASSED\n",
 		crtc, o->id);