summaryrefslogtreecommitdiff
path: root/tests/kms_flip.c
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2016-06-15 16:43:20 +0300
committerVille Syrjälä <ville.syrjala@linux.intel.com>2016-06-22 20:01:08 +0300
commit4be39bbda5dd6678e8618aaef6804ad8d8c982bf (patch)
tree6e9a11eb71226518db8785a9730a4eaf9890a9ba /tests/kms_flip.c
parentbebccd097a6d7cf5515111fb7dab07cdc76d3017 (diff)
tests/kms_flip: Account for diff.tv_secs in jitter check
Include diff.tv_secs in the jitter comparison. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Diffstat (limited to 'tests/kms_flip.c')
-rw-r--r--tests/kms_flip.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/kms_flip.c b/tests/kms_flip.c
index 743e4ad8..7718e950 100644
--- a/tests/kms_flip.c
+++ b/tests/kms_flip.c
@@ -643,7 +643,6 @@ static void vblank_handler(int fd, unsigned int frame, unsigned int sec,
static void check_state(const struct test_output *o, const struct event_state *es)
{
struct timeval diff;
- double usec_interflip;
dump_event_state(es);
@@ -689,10 +688,13 @@ static void check_state(const struct test_output *o, const struct event_state *e
}
if ((o->flags & TEST_CHECK_TS) && (!analog_tv_connector(o))) {
+ double usec_interflip, usec_diff;
+
timersub(&es->current_ts, &es->last_ts, &diff);
- usec_interflip = (double)o->seq_step * frame_time(o);
+ usec_diff = diff.tv_sec * USEC_PER_SEC + diff.tv_usec;
- igt_assert_f(fabs((((double) diff.tv_usec) - usec_interflip) /
+ usec_interflip = o->seq_step * frame_time(o);
+ igt_assert_f(fabs((usec_diff - usec_interflip) /
usec_interflip) <= 0.005,
"inter-%s ts jitter: %ld.%06ld\n",
es->name, diff.tv_sec, diff.tv_usec);