[PATCH v3 0/8] Adding driver-private objects to atomic state
Dhinakaran Pandiyan
dhinakaran.pandiyan at intel.com
Thu Feb 9 06:38:03 UTC 2017
Link bandwidth is a shared resource between multiple displays in DP MST
configurations. 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 when multiple CRTC's and
connectors are involved.
Managing shared resources like DP MST link bandwidth in the driver's
subclassed atomic_state will result in duplicating the code in each atomic
modesetting driver. But adding objects like DP MST link bandwidth to the
DRM core's drm_atomic_state would mean that an object that is not a core
modesetting object like connector, CRTC or a plane will be modified by the
helper functions for swapping and clearing state. So, this series
introduces void * type driver-private objects in drm_atomic_state and adds
helper functions that operate on these private objects. Drivers can then
implement object-specific functions to swap and clear states.
The advantage of having void * for these objects in drm_atomic_state is
that objects of different types can be managed in the same state array.
This version
1) splits and squashes patches
2) adds documentation
3) fixes vcpi slot accounting logic for suspend-resume and
connector switching
Dhinakaran Pandiyan (8):
drm/dp: Kill total_pbn and total_slots in struct
drm_dp_mst_topology_mgr
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 to track available link bandwidth
drm/dp: Add DP MST helpers to atomically find and release vcpi slots
drm: Connector helper function to release resources
drm/dp: Track MST link bandwidth
drivers/gpu/drm/drm_atomic.c | 68 ++++++++++++
drivers/gpu/drm/drm_atomic_helper.c | 24 ++++
drivers/gpu/drm/drm_dp_mst_topology.c | 181 ++++++++++++++++++++++++++++---
drivers/gpu/drm/i915/intel_dp_mst.c | 42 +++++--
drivers/gpu/drm/nouveau/nv50_display.c | 3 +-
drivers/gpu/drm/radeon/radeon_dp_mst.c | 4 +-
include/drm/drm_atomic.h | 91 ++++++++++++++++
include/drm/drm_dp_mst_helper.h | 33 ++++--
include/drm/drm_modeset_helper_vtables.h | 13 +++
9 files changed, 421 insertions(+), 38 deletions(-)
--
2.7.4
More information about the dri-devel
mailing list