Link bandwidth is shared between multiple display streams in DP MST configurations. The DP MST topology manager structure maintains the shared link bandwidth for a primary link directly connected to the GPU. For atomic modesetting drivers, checking if there is sufficient link bandwidth for a mode needs to be done during the atomic_check phase to avoid failed modesets. But adding objects like DP MST link bandwidth to drm_atomic_state would mean that a non-core object will be modified by the core helper functions for swapping and clearing it's state. So, this series adds void * objects to drm_atomic_state and helper functions that operate on void * types to keep these objects and states private to the core. Drivers can then implement specific functions to swap and clear states. The other advantage having just void * for these objects in drm_atomic_state is that objects of different types can be managed in the same state array. This series also includes some necessary cleanups. Dhinakaran Pandiyan (9): drm/dp: Store drm_device in MST topology manager drm/dp: Kill unused MST vcpi slot availability tracking drm/dp: Split drm_dp_mst_allocate_vcpi drm: Add driver private objects to atomic state drm/dp: Introduce MST topology state drm/dp: Add DP MST helpers to atomically find and release vcpi slots drm: Connector helper function to release atomic state drm/dp: Release DP MST shared link bandwidth drm/dp: Track MST link bandwidth drivers/gpu/drm/drm_atomic.c | 55 ++++++++++++ drivers/gpu/drm/drm_atomic_helper.c | 15 +++- drivers/gpu/drm/drm_dp_mst_topology.c | 143 ++++++++++++++++++++++++++----- drivers/gpu/drm/i915/intel_dp_mst.c | 48 ++++++++++- drivers/gpu/drm/nouveau/nv50_display.c | 5 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 6 +- include/drm/drm_atomic.h | 30 +++++++ include/drm/drm_dp_mst_helper.h | 37 +++++--- include/drm/drm_modeset_helper_vtables.h | 15 ++++ 9 files changed, 313 insertions(+), 41 deletions(-) -- 2.7.4 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx