https://bugzilla.kernel.org/show_bug.cgi?id=214991
Bug ID: 214991 Summary: VC4 DRM waiting for flip down makes UI freeze a while with kernel 5.15 Product: Drivers Version: 2.5 Kernel Version: 5.15 Hardware: ARM OS: Linux Tree: Mainline Status: NEW Severity: normal Priority: P1 Component: Video(DRI - non Intel) Assignee: drivers_video-dri@kernel-bugs.osdl.org Reporter: jhp@endlessos.org Regression: No
Created attachment 299547 --> https://bugzilla.kernel.org/attachment.cgi?id=299547&action=edit 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.
https://bugzilla.kernel.org/show_bug.cgi?id=214991
--- Comment #1 from Jian-Hong Pan (jhp@endlessos.org) --- Created attachment 299603 --> https://bugzilla.kernel.org/attachment.cgi?id=299603&action=edit 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/
https://bugzilla.kernel.org/show_bug.cgi?id=214991
--- Comment #2 from Jian-Hong Pan (jhp@endlessos.org) --- Created attachment 299625 --> https://bugzilla.kernel.org/attachment.cgi?id=299625&action=edit 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
https://bugzilla.kernel.org/show_bug.cgi?id=214991
Jian-Hong Pan (jhp@endlessos.org) changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |CODE_FIX
--- Comment #3 from Jian-Hong Pan (jhp@endlessos.org) --- Have not seen this error messages with the new kernel 5.17. So, close it.
dri-devel@lists.freedesktop.org