summaryrefslogtreecommitdiff
path: root/tests/kms_flip.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2016-06-15 16:46:29 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2016-06-22 20:01:08 +0300
commit4dd67c386398edac89936200b82b4dd7a1488acb (patch)
tree386321a04ab704c6791afb1c7ed46e3ecc90f86a /tests/kms_flip.c
parentf909d88d659c57287006dfcb8c26cf8bfed1516f (diff)
tests/kms_flip: Check that the last vs. current seq/ts are consistent
Let's make sure the ts vs. seq difference between the current and last events match. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_flip.c')
-rw-r--r--tests/kms_flip.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index f685c945..72899d9a 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -693,6 +693,13 @@ static void check_state(const struct test_output *o, const struct event_state *e
timersub(&es->current_ts, &es->last_ts, &diff);
usec_diff = diff.tv_sec * USEC_PER_SEC + diff.tv_usec;
+ usec_interflip = (es->current_seq - es->last_seq) * frame_time(o);
+ igt_assert_f(fabs((usec_diff - usec_interflip) /
+ usec_interflip) <= 0.005,
+ "inconsistent %s ts/seq: last %ld.%06ld/%u, current %ld.%06ld/%u\n",
+ es->name, es->last_ts.tv_sec, es->last_ts.tv_usec, es->last_seq,
+ es->current_ts.tv_sec, es->current_ts.tv_usec, es->current_seq);
+
usec_interflip = o->seq_step * frame_time(o);
igt_assert_f(fabs((usec_diff - usec_interflip) /
usec_interflip) <= 0.005,