• Rob Clark's avatar
    drm/msm: async commit support · 2d99ced7
    Rob Clark authored
    Now that flush/wait/complete is decoupled from the "synchronous" part of
    atomic commit_tail(), add support to defer flush to a timer that expires
    shortly before vblank for async commits.  In this way, multiple atomic
    commits (for example, cursor updates) can be coalesced into a single
    flush at the end of the frame.
    
    v2: don't hold lock over ->wait_flush(), to avoid locking interaction
        that was causing fps drop when combining page flips or non-async
        atomic commits and lots of legacy cursor updates
    Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
    Reviewed-by: default avatarSean Paul <sean@poorly.run>
    2d99ced7
msm_drv.c 32.1 KB