From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> To: Vidya Srinivas <vidya.srinivas@intel.com>, intel-gfx@lists.freedesktop.org, igt-dev@lists.freedesktop.org Cc: charlton.lin@intel.com Subject: Re: [Intel-gfx] [igt-dev] [PATCH 4/4] [RFC] tests/kms_big_fb: Wait for vblank before collecting CRC Date: Thu, 27 May 2021 18:09:53 +0300 [thread overview] Message-ID: <2960bd68-52c5-9129-5acb-4473007b84a6@gmail.com> (raw) In-Reply-To: <20210527143128.25366-1-vidya.srinivas@intel.com> On 27.5.2021 17.31, Vidya Srinivas wrote: > Without wait for vblank, CRC mismatch is seen > between big and small CRC on some intel Gen11 platforms. > > Change-Id: I3bec931aa901130997e693ac1cacf389e2a8100f > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com> > --- > tests/kms_big_fb.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c > index b2027b6b9d1b..da682593429b 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; > @@ -269,6 +270,7 @@ static bool test_plane(data_t *data) > { w / 3, h * 3 / 4, }, > { w, h, }, > }; > + bool check_platform_intel = is_i915_device(data->drm_fd); You will not need to do this. This test start with drm_open_driver_master(DRIVER_INTEL) hence will always be only on intel device. > > if (!igt_plane_has_format_mod(plane, data->format, data->modifier)) > return false; > @@ -336,17 +338,19 @@ static bool test_plane(data_t *data) > > igt_display_commit2(&data->display, data->display.is_atomic ? > COMMIT_ATOMIC : COMMIT_UNIVERSAL); > - > - > + if (check_platform_intel) > + igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset); Above this line there's flip to different framebuffer and below this line there's restart of crc collection before get any crc. If there's need to wait a vblank at this place to get matching crcs the actual bug is somewhere else. > 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); > - > + if (check_platform_intel) > + igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset); Here it's the same story as above. > 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
WARNING: multiple messages have this Message-ID (diff)
From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> To: Vidya Srinivas <vidya.srinivas@intel.com>, intel-gfx@lists.freedesktop.org, igt-dev@lists.freedesktop.org Cc: charlton.lin@intel.com Subject: Re: [igt-dev] [PATCH 4/4] [RFC] tests/kms_big_fb: Wait for vblank before collecting CRC Date: Thu, 27 May 2021 18:09:53 +0300 [thread overview] Message-ID: <2960bd68-52c5-9129-5acb-4473007b84a6@gmail.com> (raw) In-Reply-To: <20210527143128.25366-1-vidya.srinivas@intel.com> On 27.5.2021 17.31, Vidya Srinivas wrote: > Without wait for vblank, CRC mismatch is seen > between big and small CRC on some intel Gen11 platforms. > > Change-Id: I3bec931aa901130997e693ac1cacf389e2a8100f > Signed-off-by: Vidya Srinivas <vidya.srinivas@intel.com> > --- > tests/kms_big_fb.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/tests/kms_big_fb.c b/tests/kms_big_fb.c > index b2027b6b9d1b..da682593429b 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; > @@ -269,6 +270,7 @@ static bool test_plane(data_t *data) > { w / 3, h * 3 / 4, }, > { w, h, }, > }; > + bool check_platform_intel = is_i915_device(data->drm_fd); You will not need to do this. This test start with drm_open_driver_master(DRIVER_INTEL) hence will always be only on intel device. > > if (!igt_plane_has_format_mod(plane, data->format, data->modifier)) > return false; > @@ -336,17 +338,19 @@ static bool test_plane(data_t *data) > > igt_display_commit2(&data->display, data->display.is_atomic ? > COMMIT_ATOMIC : COMMIT_UNIVERSAL); > - > - > + if (check_platform_intel) > + igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset); Above this line there's flip to different framebuffer and below this line there's restart of crc collection before get any crc. If there's need to wait a vblank at this place to get matching crcs the actual bug is somewhere else. > 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); > - > + if (check_platform_intel) > + igt_wait_for_vblank(data->drm_fd, display->pipes[data->pipe].crtc_offset); Here it's the same story as above. > igt_pipe_crc_collect_crc(data->pipe_crc, &big_crc); > > igt_plane_set_fb(plane, NULL); > _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2021-05-27 15:10 UTC|newest] Thread overview: 20+ 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 ` [igt-dev] " Vidya Srinivas 2021-05-21 4:08 ` [Intel-gfx] " Vidya Srinivas 2021-05-21 5:25 ` [igt-dev] ✓ Fi.CI.BAT: success for " Patchwork 2021-05-21 11:29 ` [igt-dev] [PATCH i-g-t] " Juha-Pekka Heikkila 2021-05-21 11:29 ` [Intel-gfx] " Juha-Pekka Heikkila 2021-05-21 14:22 ` Srinivas, Vidya 2021-05-21 14:22 ` Srinivas, Vidya 2021-05-21 14:22 ` [Intel-gfx] " Srinivas, Vidya 2021-05-22 16:15 ` [igt-dev] ✗ Fi.CI.IGT: failure for " Patchwork 2021-05-27 14:31 ` [Intel-gfx] [PATCH 4/4] [RFC] " Vidya Srinivas 2021-05-27 14:31 ` [igt-dev] " Vidya Srinivas 2021-05-27 15:09 ` [Intel-gfx] [PATCH] " Vidya Srinivas 2021-05-27 15:09 ` [igt-dev] " Vidya Srinivas 2021-05-27 15:23 ` [Intel-gfx] [PATCH i-g-t] " Vidya Srinivas 2021-05-27 15:23 ` [igt-dev] " Vidya Srinivas 2021-05-27 15:09 ` Juha-Pekka Heikkila [this message] 2021-05-27 15:09 ` [igt-dev] [PATCH 4/4] " Juha-Pekka Heikkila 2021-05-27 15:13 ` [Intel-gfx] " Srinivas, Vidya 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=2960bd68-52c5-9129-5acb-4473007b84a6@gmail.com \ --to=juhapekka.heikkila@gmail.com \ --cc=charlton.lin@intel.com \ --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: linkBe 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.