summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabien Dessenne <fabien.dessenne@st.com>2016-09-06 07:42:39 (GMT)
committerVincent Abriou <vincent.abriou@st.com>2016-09-20 09:32:06 (GMT)
commit3bc6b01de30538f836632a1a701c0061e711b38c (patch)
treed905c29ccf9f9a42ce132a22a9205071085a5f83
parentffdbb82ca4e01b468871dc683e6c3ae169995f0a (diff)
downloadlinux-3bc6b01de30538f836632a1a701c0061e711b38c.tar.xz
drm/sti: in crtc_atomic_flush, enable only planes of this crtc
crtc_atomic_flush performs some additional processing, like plane enable at mixer level. Enable only the planes attached to the CRTC. Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com> Acked-by: Vincent Abriou <vincent.abriou@st.com>
-rw-r--r--drivers/gpu/drm/sti/sti_crtc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/sti/sti_crtc.c b/drivers/gpu/drm/sti/sti_crtc.c
index 96afe68..bc1b186 100644
--- a/drivers/gpu/drm/sti/sti_crtc.c
+++ b/drivers/gpu/drm/sti/sti_crtc.c
@@ -165,6 +165,10 @@ static void sti_crtc_atomic_flush(struct drm_crtc *crtc,
switch (plane->status) {
case STI_PLANE_UPDATED:
+ /* ignore update for other CRTC */
+ if (p->state->crtc != crtc)
+ continue;
+
/* update planes tag as updated */
DRM_DEBUG_DRIVER("update plane %s\n",
sti_plane_to_str(plane));