drm/msm/mdp5: Don't use async plane update path if plane visibility changes
authorArchit Taneja <architt@codeaurora.org>
Fri, 27 Oct 2017 10:57:32 +0000 (16:27 +0530)
committerRob Clark <robdclark@gmail.com>
Sat, 28 Oct 2017 18:02:59 +0000 (14:02 -0400)
commit18075d0d4849c670a09ec2056a4fecb994c6ee3e
treebdd504648e3b646f98bc9f93ad252e4ca0775ace
parentaa649e875daf6919bae8d406f115d38a6f39e59c
drm/msm/mdp5: Don't use async plane update path if plane visibility changes

When a plane moves out of bounds (i.e, outside the crtc clip region), the
plane state's "visible" parameter changes to false. When this happens, we
(a) release the hwpipe resources away from it, and
(b) unstage the corresponding hwpipe(s) from the Layer Mixers in the CRTC.

(a) requires use to acquire the global atomic state and assign a new
hwpipe. (b) requires us to re-configure the Layer Mixer, which is done in
the CRTC. We don't want to do these things in the async plane update path,
so return an error if the new state's "visible" isn't the same as the
current state's "visible".

Cc: Gustavo Padovan <gustavo.padovan@collabora.com>
Signed-off-by: Archit Taneja <architt@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@gmail.com>
drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c