[igt-dev] [PATCH i-g-t] tests/kms_plane: survive cdclk caused modeset
Juha-Pekka Heikkila
juhapekka.heikkila at gmail.com
Tue Apr 7 16:22:26 UTC 2020
On 7.4.2020 19.08, Ville Syrjälä wrote:
> On Tue, Apr 07, 2020 at 06:54:09PM +0300, Juha-Pekka Heikkila wrote:
>> On 7.4.2020 18.36, Ville Syrjälä wrote:
>>> On Tue, Apr 07, 2020 at 02:09:04PM +0300, Juha-Pekka Heikkila wrote:
>>>> This change will slow this test down a bit. In mid test starting
>>>> to use higher bpp pixel format (say 64bpp) can cause modeset.
>>>> Use blocking commit so there's wait for modeset to happen.
>>>
>>> We already wait for the event the next time around. So this
>>> doesn't make sense to me.
>>
>> There's those logs like this
>> https://intel-gfx-ci.01.org/tree/drm-tip/drmtip_470/fi-icl-guc/igt@kms_plane@pixel-format-pipe-c-planes-source-clamping.html
>>
>> where going to 64bpp pixel format will cause modeset and fail running
>> test.
>
> Hmm. Seems we don't have drm.debug=0x10 enabled so we don't see the
> actual debug message :( Anyways, the real bug seems to be the lack of
> ALLOW_MODESET.
I'll try that and see how it changes situation. I originally had idea
modeset will block the flip and making this commit blocking would always
force things always into correct order as current test didn't fail every
time for me.
>
>> I was testing this on ICL and see errors randomly, on ci those
>> seem to be less random. Making this one commit blocking will cause
>> modeset to settle without interrupting test, at least on my ICL.
>>
>> If there's a way to sort those pixel formats according to bpp and start
>> with highest there's no need for this.
>>
>>>
>>>>
>>>> Fixes: https://gitlab.freedesktop.org/drm/intel/issues/1214
>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
>>>> ---
>>>> tests/kms_plane.c | 6 ++----
>>>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/tests/kms_plane.c b/tests/kms_plane.c
>>>> index 805795cd..2324fb6e 100644
>>>> --- a/tests/kms_plane.c
>>>> +++ b/tests/kms_plane.c
>>>> @@ -569,12 +569,10 @@ static void capture_format_crcs(data_t *data, enum pipe pipe,
>>>>
>>>> if (data->display.is_atomic) {
>>>> /*
>>>> - * Use non-blocking commits to allow the next fb
>>>> - * to be prepared in parallel while the current fb
>>>> - * awaits to be latched.
>>>> + * Use blocking commit because there maybe
>>>> + * modeset when going to higher bpp pixel format.
>>>> */
>>>> igt_display_commit_atomic(&data->display,
>>>> - DRM_MODE_ATOMIC_NONBLOCK |
>>>> DRM_MODE_PAGE_FLIP_EVENT, NULL);
>>>> } else {
>>>> /*
>>>> --
>>>> 2.17.1
>>>>
>>>> _______________________________________________
>>>> igt-dev mailing list
>>>> igt-dev at lists.freedesktop.org
>>>> https://lists.freedesktop.org/mailman/listinfo/igt-dev
>>>
>
More information about the igt-dev
mailing list