Re: [igt-dev] [PATCH i-g-t v1] igt/kms_flip: Use actual vblank_interval instead of expected.

Maarten Lankhorst
2019-09-04T08:45:44Z

Op 28-06-2019 om 14:16 schreef Stanislav Lisovskiy:
> If we are not currently failing at calibration stage, when we
> detect that actual vblank interval takes longer than expected
> according to the modeline, then we should not fail here as well.
>
> Vblank interval can be different from expected one depending on
> clocking used.
>
> Probably we need to have some criteria how much vblank interval
> is allowed to be different, however currently we don't fail in
> calibration_ts but simply print that it is different, while
> later during *-vs-vblank-race we do, even though the reason is
> the same.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103060
> Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com>
> ---
> tests/kms_flip.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/tests/kms_flip.c b/tests/kms_flip.c
> index 2a158d97..a47938cd 100755
> --- a/tests/kms_flip.c
> +++ b/tests/kms_flip.c
> @@ -417,7 +417,6 @@ static double mode_frame_time(const struct test_output *o)
>
> static double actual_frame_time(const struct test_output *o)
> {
> - igt_assert(o->flags & TEST_CHECK_TS);
> return o->vblank_interval;
> }
>
> @@ -740,8 +739,8 @@ static unsigned int run_test_step(struct test_output *o)
> * we waited for two vblanks, so verify that
> * we were blocked for ~1-2 frames.
> */
> - igt_assert_f(end - start > 0.9 * mode_frame_time(o) &&
> - end - start < 2.1 * mode_frame_time(o),
> + igt_assert_f(end - start > 0.9 * actual_frame_time(o) &&
> + end - start < 2.1 * actual_frame_time(o),
> "wait for two vblanks took %lu usec (frame time %f usec)\n",
> end - start, mode_frame_time(o));
> join_vblank_wait_thread();
> @@ -1545,8 +1544,8 @@ igt_main
> "single-buffer-flip-vs-dpms-off-vs-modeset" },
> { 30, TEST_FLIP | TEST_NO_2X_OUTPUT | TEST_DPMS_OFF_OTHERS , "dpms-off-confusion" },
> { 0, TEST_ENOENT | TEST_NOEVENT, "nonexisting-fb" },
> - { 10, TEST_DPMS_OFF | TEST_DPMS | TEST_VBLANK_RACE, "dpms-vs-vblank-race" },
> - { 10, TEST_MODESET | TEST_VBLANK_RACE, "modeset-vs-vblank-race" },
> + { 10, TEST_DPMS_OFF | TEST_DPMS | TEST_VBLANK_RACE | TEST_CHECK_TS, "dpms-vs-vblank-race" },
> + { 10, TEST_MODESET | TEST_VBLANK_RACE | TEST_CHECK_TS, "modeset-vs-vblank-race" },
> { 0, TEST_BO_TOOBIG | TEST_NO_2X_OUTPUT, "bo-too-big" },
> { 10, TEST_FLIP | TEST_SUSPEND, "flip-vs-suspend" },
> };

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>