On 1/27/21 6:24 PM, Iskren Chernev wrote:
Before the offending commit in msm_atomic_commit_tail wait_flush was called once per frame, after the commit was submitted. After it wait_flush is also called at the beginning to ensure previous potentially async commits are done. For cmd panels the source of wait_flush is a ping-pong irq notifying a completion. The completion needs to be notified with complete_all so multiple waiting parties (new async committers) can proceed. Signed-off-by: Iskren Chernev <iskren.chernev@xxxxxxxxx> Suggested-by: Rob Clark <robdclark@xxxxxxxxx> Fixes: 2d99ced787e3d ("drm/msm: async commit support")
Tested on msm8974pro samsung-klte, finally got 60 fps instead of 13 in kmscube. Tested-by: Alexey Minnekhanov <alexeymin@xxxxxxxxxxxxxxxx>