Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
To: Rob Clark <robdclark@chromium.org>
Cc: igt-dev@lists.freedesktop.org, petri.latvala@intel.com
Subject: Re: [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank
Date: Thu, 15 Sep 2022 22:16:34 +0300	[thread overview]
Message-ID: <104f2005-e3a0-983b-eb27-c14ce0395642@gmail.com> (raw)
In-Reply-To: <CAJs_Fx7LWKbzcpKmhQSnbh4iNhq56-0CVz4o2zczyaorWGDF1w@mail.gmail.com>

On 15.9.2022 21.39, Rob Clark wrote:
> On Thu, Sep 15, 2022 at 11:02 AM Juha-Pekka Heikkila
> <juhapekka.heikkila@gmail.com> wrote:
>>
>> Hi Jessica,
>>
>> On 15.9.2022 1.58, Jessica Zhang wrote:
>>> Wait an extra vblank for legacy cursor ioctl to finish.
>>>
>>> Extra vblank wait is needed for both HW and SW test as the legacy cursor
>>> ioctl is called in both cases.
>>>
>>> Based on Rob's patch [1] and, similarly, fixes flaky results on MSM.
>>>
>>> Signed-off-by: Jessica Zhang <quic_jesszhan@quicinc.com>
>>>
>>> [1] https://patchwork.freedesktop.org/series/105999/
>>> ---
>>>    tests/kms_cursor_crc.c | 8 ++++----
>>>    1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/tests/kms_cursor_crc.c b/tests/kms_cursor_crc.c
>>> index 53f18f4f1add..272dcb7fa0a4 100644
>>> --- a/tests/kms_cursor_crc.c
>>> +++ b/tests/kms_cursor_crc.c
>>> @@ -202,8 +202,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>                igt_display_commit(display);
>>>
>>>                /* Extra vblank wait is because nonblocking cursor ioctl */
>>> -             igt_wait_for_vblank(data->drm_fd,
>>> -                             display->pipes[data->pipe].crtc_offset);
>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>
>> It will take more than one frame on your target device for non blocking
>> cursor commit to settle? This cannot be right, even if this somehow was
>> the case you are breaking this test for everyone else.
> 
> It is possible, depending on timing, kthread scheduling, etc, for a
> legacy cursor to end up getting applied to the next frame.

I assume there's not many heavy tasks running on test machines. Let's 
not forget we're talking about non blocking commit, what you above 
listed could cause is you'd accidentally actually get that extra frame 
for cursor to settle.

> 
> How is this breaking the test for anyone else?

When testing non blocking commit it is that frame where we know changes 
should be present which is interesting. Otherwise we can wait even full 
five frames just to be on safe side to let cursor show up.

/Juha-Pekka

>>>
>>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, hwcrc);
>>>
>>> @@ -243,8 +243,8 @@ static void do_single_test(data_t *data, int x, int y, bool hw_test,
>>>                igt_plane_set_fb(data->primary, &data->primary_fb[swbufidx]);
>>>
>>>                igt_display_commit(display);
>>> -             igt_wait_for_vblank(data->drm_fd,
>>> -                             display->pipes[data->pipe].crtc_offset);
>>> +             igt_wait_for_vblank_count(data->drm_fd,
>>> +                             display->pipes[data->pipe].crtc_offset, 2);
>>
>> This change make even less sense to me than above. There's nothing
>> cursor plane related on this part of test. You are saying flipping
>> normal framebuffers on non cursor plane take also more than one frame on
>> your target device? It sound like vblank counting is somehow broken on
>> your target device if these changes together fix something.
>>
>> /Juha-Pekka
>>
>>>
>>>                igt_pipe_crc_get_current(data->drm_fd, pipe_crc, &crc);
>>>                igt_assert_crc_equal(&crc, hwcrc);
>>

  reply	other threads:[~2022-09-15 19:16 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-14 22:58 [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Jessica Zhang
2022-09-15  1:04 ` [igt-dev] ✗ Fi.CI.BAT: failure for " Patchwork
2022-09-15  2:23 ` [igt-dev] [PATCH i-g-t v1] " Rob Clark
2022-09-15 16:51 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork
2022-09-15 18:02 ` [igt-dev] [PATCH i-g-t v1] tests/kms_cursor_crc: Wait extra vblank Juha-Pekka Heikkila
2022-09-15 18:39   ` Rob Clark
2022-09-15 19:16     ` Juha-Pekka Heikkila [this message]
2022-09-15 19:38       ` Rob Clark
2022-09-15 20:12         ` Juha-Pekka Heikkila
2022-09-15 21:17           ` Rob Clark
2022-09-16  8:27             ` Ville Syrjälä
2022-09-16 13:27               ` Rob Clark
2022-09-15 19:58   ` Jessica Zhang
2022-09-15 20:07     ` Jessica Zhang
2022-09-16  3:00 ` [igt-dev] ✗ Fi.CI.IGT: failure for tests/kms_cursor_crc: Wait extra vblank (rev2) Patchwork

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=104f2005-e3a0-983b-eb27-c14ce0395642@gmail.com \
    --to=juhapekka.heikkila@gmail.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=petri.latvala@intel.com \
    --cc=robdclark@chromium.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox