All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/8] Adding driver-private objects to atomic state
@ 2017-02-09  6:38 Dhinakaran Pandiyan
  2017-02-09  6:38 ` [PATCH v3 1/8] drm/dp: Kill total_pbn and total_slots in struct drm_dp_mst_topology_mgr Dhinakaran Pandiyan
                   ` (8 more replies)
  0 siblings, 9 replies; 35+ messages in thread
From: Dhinakaran Pandiyan @ 2017-02-09  6:38 UTC (permalink / raw)
  To: intel-gfx
  Cc: Daniel Vetter, dri-devel, Dhinakaran Pandiyan, Alex Deucher,
	Harry Wentland, Maarten Lankhorst, Ben Skeggs

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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 35+ messages in thread
* [PATCH v7 0/4] Adding driver-private objects to atomic state
@ 2017-04-21  5:51 Dhinakaran Pandiyan
  2017-04-21  6:12 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 35+ messages in thread
From: Dhinakaran Pandiyan @ 2017-04-21  5:51 UTC (permalink / raw)
  To: intel-gfx
  Cc: architt, daniel.vetter, dri-devel, Dhinakaran Pandiyan, Harry.wentland

Changes in this version:
Used connector->atomic_check() to release vcpi slots instead of the
atomic_release() callback.

This series introduces void * type driver-private objects in core and adds
helper functions that operate on these private objects. Drivers need to
implement object-specific functions to swap and clear object states. The
advantage of having void * for these objects in the core is objects of different
types can be managed in the same atomic state array. The series implements
DP-MST link bw tracking using the driver-private object infrastructure.

Pandiyan, Dhinakaran (4):
  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/dp: Track MST link bandwidth

 drivers/gpu/drm/drm_atomic.c          |  65 +++++++++++++++
 drivers/gpu/drm/drm_atomic_helper.c   |   5 ++
 drivers/gpu/drm/drm_dp_mst_topology.c | 150 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_dp_mst.c   |  57 +++++++++++--
 include/drm/drm_atomic.h              | 101 +++++++++++++++++++++++
 include/drm/drm_dp_mst_helper.h       |  26 ++++++
 6 files changed, 398 insertions(+), 6 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 35+ messages in thread
* [RESEND FOR CI PATCH v8 0/4] Adding driver-private objects to atomic state
@ 2017-05-01 18:36 Dhinakaran Pandiyan
  2017-05-01 19:03 ` ✓ Fi.CI.BAT: success for " Patchwork
  0 siblings, 1 reply; 35+ messages in thread
From: Dhinakaran Pandiyan @ 2017-05-01 18:36 UTC (permalink / raw)
  To: intel-gfx; +Cc: dri-devel

Resending for CI.

Pandiyan, Dhinakaran (4):
  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/dp: Track MST link bandwidth

 drivers/gpu/drm/drm_atomic.c          |  65 +++++++++++++++
 drivers/gpu/drm/drm_atomic_helper.c   |   5 ++
 drivers/gpu/drm/drm_dp_mst_topology.c | 150 ++++++++++++++++++++++++++++++++++
 drivers/gpu/drm/i915/intel_dp_mst.c   |  48 +++++++++--
 include/drm/drm_atomic.h              |  95 +++++++++++++++++++++
 include/drm/drm_dp_mst_helper.h       |  26 ++++++
 6 files changed, 383 insertions(+), 6 deletions(-)

-- 
2.7.4

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2017-05-01 19:03 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-09  6:38 [PATCH v3 0/8] Adding driver-private objects to atomic state Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 1/8] drm/dp: Kill total_pbn and total_slots in struct drm_dp_mst_topology_mgr Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 2/8] drm/dp: Kill unused MST vcpi slot availability tracking Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 3/8] drm/dp: Split drm_dp_mst_allocate_vcpi Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 4/8] drm: Add driver-private objects to atomic state Dhinakaran Pandiyan
2017-02-09  8:08   ` Chris Wilson
2017-02-09 18:57     ` Pandiyan, Dhinakaran
2017-02-15 11:23   ` Archit Taneja
2017-02-16  0:13     ` Pandiyan, Dhinakaran
2017-02-17 10:07       ` Archit Taneja
2017-02-22  0:01         ` Pandiyan, Dhinakaran
2017-02-22  4:29           ` Archit Taneja
2017-02-22 21:10             ` Pandiyan, Dhinakaran
2017-02-26 19:57           ` Daniel Vetter
2017-02-27 18:51             ` Pandiyan, Dhinakaran
2017-03-02 22:31   ` Pandiyan, Dhinakaran
2017-02-09  6:38 ` [PATCH v3 5/8] drm/dp: Introduce MST topology state to track available link bandwidth Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 6/8] drm/dp: Add DP MST helpers to atomically find and release vcpi slots Dhinakaran Pandiyan
2017-02-09  6:38 ` [PATCH v3 7/8] drm: Connector helper function to release resources Dhinakaran Pandiyan
2017-02-09  9:01   ` Lankhorst, Maarten
2017-02-09 18:55     ` Pandiyan, Dhinakaran
2017-02-13  9:05       ` Lankhorst, Maarten
2017-02-13 21:26         ` Pandiyan, Dhinakaran
2017-02-13 22:48           ` Pandiyan, Dhinakaran
2017-02-20  9:40             ` Lankhorst, Maarten
2017-02-14 19:51           ` Daniel Vetter
2017-02-14 22:29             ` Pandiyan, Dhinakaran
2017-02-16  9:09             ` Lankhorst, Maarten
2017-02-24  0:52               ` Pandiyan, Dhinakaran
2017-02-26 20:00                 ` [Intel-gfx] " Daniel Vetter
2017-02-27  7:42                   ` Lankhorst, Maarten
2017-02-09  6:38 ` [PATCH v3 8/8] drm/dp: Track MST link bandwidth Dhinakaran Pandiyan
2017-02-09  8:03 ` ✓ Fi.CI.BAT: success for Adding driver-private objects to atomic state Patchwork
2017-04-21  5:51 [PATCH v7 0/4] " Dhinakaran Pandiyan
2017-04-21  6:12 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-05-01 18:36 [RESEND FOR CI PATCH v8 0/4] " Dhinakaran Pandiyan
2017-05-01 19:03 ` ✓ Fi.CI.BAT: success for " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.