Skip to content

modesetting: Fix inaccurate PresentCompleteNotify timing for TearFree

TearFree with the modesetting driver suffers from inaccurate PresentCompleteNotify event timing, which leads to A/V de-synchronization with clients utilizing Present, among other problems.

This turns out to be caused by the faulty assumption in Present that a TearFree flip always completes at the next MSC, relative to the reference CRTC's MSC at the time that Present happens to read it.

This series fixes the inaccurate PresentCompleteNotify timing for TearFree by introducing a way for Present to tack on a presentation's completion notification to the completion of said presentation's corresponding TearFree flip. This ensures that the PresentCompleteNotify timing is always accurate when TearFree is used.

Merge request reports