[igt-dev] [PATCH v2] tests/kms_vblank: Turn on hardware before testing invalid vblank.

Rodrigo Siqueira Rodrigo.Siqueira at amd.com
Wed Jun 9 20:15:42 UTC 2021


On 06/01, Mark Yacoub 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 such as on i915, or an invalid
> integer that doesn't mean much, such as on Zork running Kernel 5.4 due
> to the kernel workaround that increments the vblank ref count to prevent
> a get from enabling the interrupt.
> 
> [How]
> For invalid_subtest(), active the CRTCs to turn the hardware on so
> DRM_IOCTL_WAIT_VBLANK returns something meaningful.
> 
> === Changes from v1 ===
> 1. Update Commit message
> 2. Rename variable p to pipe_number

nit:
When I see changes in history in the commit (git log), it usually looks like:

Changes since v1:

or

v1:

but tbh, I don't think we have this documented anywhere...

> 
> Signed-off-by: markyacoub at chromium.org

You forget to add your name in the S-o-b.

Best Regards

> ---
>  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..988794c0 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 pipe_number = 0;
> +	igt_output_t* output;
>  
> -	igt_display_require_output_on_pipe(&data->display, 0);
> +	igt_display_require_output_on_pipe(display, pipe_number);
> +	data->pipe = pipe_number;
> +	for_each_valid_output_on_pipe(display, pipe_number, 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, pipe_number, output)
> +		cleanup_crtc(data, fd, output);
>  }
>  
>  igt_main
> -- 
> 2.32.0.rc0.204.g9fa02ecfa5-goog
> 

-- 
Rodrigo Siqueira
https://siqueira.tech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/igt-dev/attachments/20210609/240352a3/attachment.sig>


More information about the igt-dev mailing list