[igt-dev] [PATCH] tests/kms_vblank: Turn on hardware before testing invalid vblank.
Mark Yacoub
markyacoub at chromium.org
Thu May 27 15:41:12 UTC 2021
friendly ping
On Thu, May 20, 2021 at 3:34 PM Mark Yacoub <markyacoub at chromium.org> wrote:
>
> From: Mark Yacoub <markyacoub at google.com>
>
> [Why]
> Before any hardware is on, the vblank is off and its ref counter is in
> an initialized state as each driver handles toggling it differently.
> Ioctl DRM_IOCTL_WAIT_VBLANK could return 0 or invalid depending on the
> hardware, without necessarily meaning anything.
>
> [How]
> For invalid_subtest(), active the CRTCs to turn the hardware on so
> DRM_IOCTL_WAIT_VBLANK returns something meaningful.
> ---
> tests/kms_vblank.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/tests/kms_vblank.c b/tests/kms_vblank.c
> index 93b01eba..cb68a2f8 100644
> --- a/tests/kms_vblank.c
> +++ b/tests/kms_vblank.c
> @@ -475,8 +475,14 @@ static void invalid_subtest(data_t *data, int fd)
> {
> union drm_wait_vblank vbl;
> unsigned long valid_flags;
> + igt_display_t* display = &data->display;
> + enum pipe p = 0;
> + igt_output_t* output;
>
> - igt_display_require_output_on_pipe(&data->display, 0);
> + igt_display_require_output_on_pipe(display, p);
> + data->pipe = p;
> + for_each_valid_output_on_pipe(display, p, output)
> + prepare_crtc(data, fd, output);
>
> /* First check all is well with a simple query */
> memset(&vbl, 0, sizeof(vbl));
> @@ -511,6 +517,9 @@ static void invalid_subtest(data_t *data, int fd)
> vbl.request.type |= _DRM_VBLANK_SECONDARY;
> vbl.request.type |= _DRM_VBLANK_FLAGS_MASK;
> igt_assert_eq(wait_vblank(fd, &vbl), -EINVAL);
> +
> + for_each_valid_output_on_pipe(display, p, output)
> + cleanup_crtc(data, fd, output);
> }
>
> igt_main
> --
> 2.31.1.818.g46aad6cb9e-goog
>
More information about the igt-dev
mailing list