All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
To: Vidya Srinivas <vidya.srinivas@intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	igt-dev@lists.freedesktop.org
Cc: Charlton.Lin@intel.com
Subject: Re: [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Wait for vblank before collecting CRC
Date: Fri, 21 May 2021 14:29:56 +0300	[thread overview]
Message-ID: <f0926681-ea44-b2d2-fe8d-a443728d01c2@gmail.com> (raw)
In-Reply-To: <1621570131-23943-1-git-send-email-vidya.srinivas@intel.com>

Hi Vidya,

on which machines this would help? I see there's many vblanks already 
being waited. There's igt_display_commit2 which probably will block and 
even if it didn't there's igt_pipe_crc_collect_crc(..) where crc 
calculation is started after flip and then get one crc before disabling 
crc counting again.

/Juha-Pekka

On 21.5.2021 7.08, Vidya Srinivas wrote:
> Without wait for vblank, CRC mismatch is seen
> between big and small CRC on few systems
> 
> Change-Id: I3bec931aa901130997e693ac1cacf389e2a8100f
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> ---
>   tests/kms_big_fb.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index b2027b6b9d1b..7d78ff829d41 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -254,6 +254,7 @@ static void unset_lut(data_t *data)
>   static bool test_plane(data_t *data)
>   {
>   	igt_plane_t *plane = data->plane;
> +	igt_display_t *display = &data->display;
>   	struct igt_fb *small_fb = &data->small_fb;
>   	struct igt_fb *big_fb = &data->big_fb;
>   	int w = data->big_fb_width - small_fb->width;
> @@ -337,16 +338,17 @@ static bool test_plane(data_t *data)
>   		igt_display_commit2(&data->display, data->display.is_atomic ?
>   				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
>   
> -
> +		igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset);
>   		igt_pipe_crc_collect_crc(data->pipe_crc, &small_crc);
>   
>   		igt_plane_set_fb(plane, big_fb);
>   		igt_fb_set_position(big_fb, plane, x, y);
>   		igt_fb_set_size(big_fb, plane, small_fb->width, small_fb->height);
> +
>   		igt_plane_set_size(plane, data->width, data->height);
>   		igt_display_commit2(&data->display, data->display.is_atomic ?
>   				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
> -
> +		igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset);
>   		igt_pipe_crc_collect_crc(data->pipe_crc, &big_crc);
>   
>   		igt_plane_set_fb(plane, NULL);
> 


WARNING: multiple messages have this Message-ID
From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
To: Vidya Srinivas <vidya.srinivas@intel.com>,
	intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	igt-dev@lists.freedesktop.org
Cc: Charlton.Lin@intel.com
Subject: Re: [Intel-gfx] [igt-dev] [PATCH i-g-t] tests/kms_big_fb: Wait for vblank before collecting CRC
Date: Fri, 21 May 2021 14:29:56 +0300	[thread overview]
Message-ID: <f0926681-ea44-b2d2-fe8d-a443728d01c2@gmail.com> (raw)
In-Reply-To: <1621570131-23943-1-git-send-email-vidya.srinivas@intel.com>

Hi Vidya,

on which machines this would help? I see there's many vblanks already 
being waited. There's igt_display_commit2 which probably will block and 
even if it didn't there's igt_pipe_crc_collect_crc(..) where crc 
calculation is started after flip and then get one crc before disabling 
crc counting again.

/Juha-Pekka

On 21.5.2021 7.08, Vidya Srinivas wrote:
> Without wait for vblank, CRC mismatch is seen
> between big and small CRC on few systems
> 
> Change-Id: I3bec931aa901130997e693ac1cacf389e2a8100f
> Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com>
> ---
>   tests/kms_big_fb.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c
> index b2027b6b9d1b..7d78ff829d41 100644
> --- a/tests/kms_big_fb.c
> +++ b/tests/kms_big_fb.c
> @@ -254,6 +254,7 @@ static void unset_lut(data_t *data)
>   static bool test_plane(data_t *data)
>   {
>   	igt_plane_t *plane = data->plane;
> +	igt_display_t *display = &data->display;
>   	struct igt_fb *small_fb = &data->small_fb;
>   	struct igt_fb *big_fb = &data->big_fb;
>   	int w = data->big_fb_width - small_fb->width;
> @@ -337,16 +338,17 @@ static bool test_plane(data_t *data)
>   		igt_display_commit2(&data->display, data->display.is_atomic ?
>   				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
>   
> -
> +		igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset);
>   		igt_pipe_crc_collect_crc(data->pipe_crc, &small_crc);
>   
>   		igt_plane_set_fb(plane, big_fb);
>   		igt_fb_set_position(big_fb, plane, x, y);
>   		igt_fb_set_size(big_fb, plane, small_fb->width, small_fb->height);
> +
>   		igt_plane_set_size(plane, data->width, data->height);
>   		igt_display_commit2(&data->display, data->display.is_atomic ?
>   				    COMMIT_ATOMIC : COMMIT_UNIVERSAL);
> -
> +		igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset);
>   		igt_pipe_crc_collect_crc(data->pipe_crc, &big_crc);
>   
>   		igt_plane_set_fb(plane, NULL);
> 

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2021-05-21 11:30 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-21  4:08 [PATCH i-g-t] tests/kms_big_fb: Wait for vblank before collecting CRC Vidya Srinivas
2021-05-21  4:08 ` [Intel-gfx] " Vidya Srinivas
2021-05-21 11:29 ` Juha-Pekka Heikkila [this message]
2021-05-21 11:29   ` [Intel-gfx] [igt-dev] " Juha-Pekka Heikkila
2021-05-21 14:22   ` Srinivas, Vidya
2021-05-21 14:22     ` [Intel-gfx] " Srinivas, Vidya
2021-05-27 14:31 ` [Intel-gfx] [PATCH 4/4] [RFC] " Vidya Srinivas
2021-05-27 15:09   ` [Intel-gfx] [PATCH] " Vidya Srinivas
2021-05-27 15:23     ` [Intel-gfx] [PATCH i-g-t] " Vidya Srinivas
2021-05-27 15:09   ` [Intel-gfx] [igt-dev] [PATCH 4/4] " Juha-Pekka Heikkila
2021-05-27 15:13     ` Srinivas, Vidya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f0926681-ea44-b2d2-fe8d-a443728d01c2@gmail.com \
    --to=juhapekka.heikkila@gmail.com \
    --cc=Charlton.Lin@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=vidya.srinivas@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.