[PATCH v2 0/9] Adding private objects to atomic state

Dhinakaran Pandiyan dhinakaran.pandiyan at intel.com
Tue Jan 24 23:49:28 UTC 2017


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



More information about the dri-devel mailing list