After trying out various ways to handle encoder stealing better I came up with a cleaner way. The first patch cleans up update_output_state and only adds affected connectors. This is required to determine which connectors are not part of the atomic state, and allow disabling them if they have conflicting encoders. After that 2 cleanups, then a fix to make encoder stealing explicit, followed by using the newly created function to prevent encoder duplication and finally another cleanup. Maarten Lankhorst (6): drm/atomic: Clean up update_output_state. drm/atomic: Pass connector and state to update_connector_routing. drm/atomic: Always call steal_encoder. drm/atomic: Handle encoder stealing from set_config better. drm/atomic: Handle encoder assignment conflicts in a separate check. drm/atomic: Clean up steal_encoder drivers/gpu/drm/drm_atomic_helper.c | 215 +++++++++++++++++++----------------- include/drm/drm_crtc.h | 2 + 2 files changed, 113 insertions(+), 104 deletions(-) -- 2.1.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx