drm/msm/mdp4: pageflip fixes
authorRob Clark <robdclark@gmail.com>
Fri, 13 Dec 2013 15:41:07 +0000 (10:41 -0500)
committerRob Clark <robdclark@gmail.com>
Wed, 5 Feb 2014 16:23:07 +0000 (11:23 -0500)
commitb69720c0f5d417310fbfd59c2d681bd90430a4f5
tree875255037afdf030ca23d4195a6d2ff456953209
parent37033a7689b01d0c46f9cc450bdf9f02d86b7e57
drm/msm/mdp4: pageflip fixes

Backport a few fixes found in the course of getting mdp5 working.
There is a window of time after pageflip is requested, before we
start scanning out the new fb (ie. while we are waiting for gpu).
During that time we need to continue holding a reference to the
still-current scanout fb, to avoid the backing gem bo's from being
destroyed.

Possibly a common mdp_crtc parent class could be useful to share
some of this logic between mdp4_crtc and mdp5_crtc.  OTOH, this
all can be removed from the driver once atomic is in place, as
plane/crtc updates get deferred until all fb's are ready before
calling in to .page_flip(), etc.

Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c