Hello, This patch series avoids flicker in some scenarios related to dual output configuration. The issue was originally reported by Michael Rodin in [1]. The problem is described in details there, and copied here to facilitate discussion: -------- Restarting a display unit group can cause a visible flicker on the display. Particularly when a LVDS display is connected to a Salvator board and an HDMI display is (re)connected, then there will be 2 visible flickers on the LVDS display: 1. during atomic_flush (The need_restart flag is set in this case by rcar_du_vsp_enable.): rcar_du_crtc_atomic_flush rcar_du_crtc_update_planes ... ... /* Restart the group if plane sources have changed. */ if (rcrtc->group->need_restart) rcar_du_group_restart(rcrtc->group); 2. during atomic_enable: rcar_du_crtc_atomic_enable rcar_du_crtc_start rcar_du_group_start_stop(rcrtc->group, true); To avoid flickers in all use cases, do not restart DU groups on the Gen3 SoCs at all, since it is not required any more. -------- The proposed patch unfortunately introduced a regression. This series fixes the issue in the first scenario described above. The second scenario still leads to flicker, and I don't think that can be fixed as the hardware requires the whole group of outputs to be stopped for some register changes to take effect. [1] https://lore.kernel.org/dri-devel/1637680811-90510-1-git-send-email-mrodin@xxxxxxxxxxxxxx Laurent Pinchart (2): drm: rcar-du: Don't select VSP1 sink on Gen3 drm: rcar-du: Don't restart group when enabling plane on Gen3 drivers/gpu/drm/rcar-du/rcar_du_plane.c | 12 ++++++++++-- drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 9 --------- 2 files changed, 10 insertions(+), 11 deletions(-) -- Regards, Laurent Pinchart