drm/sti: in crtc_atomic_flush, enable only planes of this crtc
authorFabien Dessenne <fabien.dessenne@st.com>
Tue, 6 Sep 2016 07:42:39 +0000 (09:42 +0200)
committerVincent Abriou <vincent.abriou@st.com>
Tue, 20 Sep 2016 09:32:06 +0000 (11:32 +0200)
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>
drivers/gpu/drm/sti/sti_crtc.c

index 96afe68cbdf7d34e5b66cdcbbe716e743889f8d1..bc1b186f129cc26a1c349ca3a3950a1e9e5d3299 100644 (file)
@@ -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));