Bug 214991 - VC4 DRM waiting for flip down makes UI freeze a while with kernel 5.15
Summary: VC4 DRM waiting for flip down makes UI freeze a while with kernel 5.15
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: ARM Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-11-12 03:47 UTC by Jian-Hong Pan
Modified: 2022-04-22 05:45 UTC (History)
1 user (show)

See Also:
Kernel Version: 5.15
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Full dmesg log (37.15 KB, text/plain)
2021-11-12 03:47 UTC, Jian-Hong Pan
Details
Full dmesg log with the patch series "drm/vc4: kms: Misc fixes for HVS commits" (20.08 KB, text/plain)
2021-11-17 06:58 UTC, Jian-Hong Pan
Details
Full dmesg log with the v2 patch series "drm/vc4: kms: Misc fixes for HVS commits" (38.37 KB, text/plain)
2021-11-18 06:51 UTC, Jian-Hong Pan
Details

Description Jian-Hong Pan 2021-11-12 03:47:52 UTC
Created attachment 299547 [details]
Full dmesg log

I tested Linux mainline kernel 5.15 (aarch64) with enabled VC4 on RPi 4B. I notice UI freezes a while (about 10 seconds) some times.

The kernel shows the error message during the time:

[drm:drm_crtc_commit_wait] *ERROR* flip_done timed out
[drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:68:crtc-3] flip_done timed out
[drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:68:crtc-3] commit wait timed out
[drm:drm_crtc_commit_wait] *ERROR* flip_done timed out
vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit

It is easy to reproduce this issue by invoking GL related things, for example es2gears.

After detail test, I found it is related to these commits:

f3c420fe19f8 ("drm/vc4: kms: Convert to atomic helpers")
82faa3276012 ("drm/vc4: kms: Remove async modeset semaphore")

This issue cannot be reproduced after I revert the commits.
Comment 1 Jian-Hong Pan 2021-11-17 06:58:15 UTC
Created attachment 299603 [details]
Full dmesg log with the patch series "drm/vc4: kms: Misc fixes for HVS commits"

Thanks to Maxime's reply from https://lore.kernel.org/lkml/20211115113348.aylgkwrmaaomqrp4@gilmour/T/

So, I applied the patch series "drm/vc4: kms: Misc fixes for HVS commits" [1] based on latest mainline kernel at commit 8ab774587903 ("Merge tag 'trace-v5.16-5' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace"), which almost equals "tags/v5.16-rc1".

However, the system hangs and becomes dead at the kernel message:

[drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0

If I revert the patch series to the original mainline kernel, system can boot up.

[1]: https://lore.kernel.org/dri-devel/20211115113105.103275-1-maxime@cerno.tech/
Comment 2 Jian-Hong Pan 2021-11-18 06:51:01 UTC
Created attachment 299625 [details]
Full dmesg log with the v2 patch series "drm/vc4: kms: Misc fixes for HVS commits"

Maxime sent v2 patch series at https://www.spinics.net/lists/dri-devel/msg323342.html

System can boot into desktop environment now.  However, the UI still become frozen  some times and shows the same error message:

[drm:drm_crtc_commit_wait] *ERROR* flip_done timed out
[drm:drm_atomic_helper_wait_for_flip_done] *ERROR* [CRTC:68:crtc-3] flip_done timed out
[drm:drm_atomic_helper_wait_for_dependencies] *ERROR* [CRTC:68:crtc-3] commit wait timed out
[drm:drm_crtc_commit_wait] *ERROR* flip_done timed out
vc4-drm gpu: [drm] *ERROR* Timed out waiting for commit
Comment 3 Jian-Hong Pan 2022-04-22 05:45:50 UTC
Have not seen this error messages with the new kernel 5.17.  So, close it.

Note You need to log in before you can comment on or make changes to this bug.