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 at st.com>
---
 drivers/gpu/drm/sti/sti_crtc.c | 4 ++++
 1 file changed, 4 insertions(+)

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));
-- 
1.9.1

Reply via email to