MST refcounting/atomic helpers cleanup
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest11 of 16 patches 3 repliesIn review
- v312 of 16 patches 0 repliesSuperseded
11 of 16 patches are in this archive. The cover letter announces 16.
Patches in v4 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/16 | drm/dp_mst: Introduce new refcounting scheme for mstbs and portsDocumentation/ Documentation/ Documentation/ +3 more | +629 | 1 reply | |
| 3/16 | drm/dp_mst: Restart last_connected_port_and_mstb() if topology ref failsdrivers/ | +44 | 0 replies | |
| 4/16 | drm/dp_mst: Stop releasing VCPI when removing ports from topologydrivers/ | +0 | 0 replies | |
| 5/16 | drm/dp_mst: Fix payload deallocation on hotplugs using malloc refsdrivers/ | +30 | 0 replies | |
| 6/16 | drm/i915: Keep malloc references to MST portsdrivers/ drivers/ | +5 | 0 replies | |
| 7/16 | drm/amdgpu/display: Keep malloc ref to MST portdrivers/ | +7 | 0 replies | |
| 8/16 | drm/nouveau: Remove bogus cleanup in nv50_mstm_add_connector()drivers/ | +1 | 0 replies | |
| 9/16 | drm/nouveau: Remove unnecessary VCPI checks in nv50_msto_cleanup()drivers/ | +9 | 0 replies | |
| 12/16 | drm/nouveau: Grab payload lock in nv50_msto_payload()drivers/ | +6 | 0 replies | |
| 14/16 | drm/dp_mst: Start tracking per-port VCPI allocationsdrivers/ drivers/ drivers/ +1 more | +266 | 0 replies | |
| 15/16 | drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()drivers/ | +7 | 0 replies |
Reviews trailers per patch
4 of 11 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Daniel Vetter | Harry Wentland |
|---|---|---|
| Series | R-b R-b | R-b |
| 2/16 | R-b | |
| 3/16 | ||
| 4/16 | ||
| 5/16 | R-b | |
| 6/16 | R-b | |
| 7/16 | ||
| 8/16 | ||
| 9/16 | ||
| 12/16 | ||
| 14/16 | ||
| 15/16 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v4 00/16] MST refcounting/atomic helpers cleanup
This is the series I've been working on for a while now to get all of the atomic DRM drivers in the tree to use the atomic MST helpers, and to make the atomic MST helpers actually idempotent. Turns out it's a lot more difficult to do that without also fixing how port and branch device refcounting works so that it actually makes sense, since the current upstream implementation requires a ton of magic in the atomic helpers to work around properly and in many situations just plain doesn't work as intended.
There's still more cleanup that can be done, but I think this is a good place to start off for now :).
This version just contains some changes that I forgot to make that had been requested much earlier, mainly in regards to the atomic checking code I added to i915 and nouveau (but not the helpers).
Also, per-request I've made a gitlab branch available for this:
https://gitlab.freedesktop.org/lyudess/linux/commits/wip/mst-dual-kref-start-v4
Lyude Paul (16):
drm/dp_mst: Rename drm_dp_mst_get_validated_(port|mstb)_ref and
friends
drm/dp_mst: Introduce new refcounting scheme for mstbs and ports drm/dp_mst: Restart last_connected_port_and_mstb() if topology ref
fails
drm/dp_mst: Stop releasing VCPI when removing ports from topology drm/dp_mst: Fix payload deallocation on hotplugs using malloc refs drm/i915: Keep malloc references to MST ports drm/amdgpu/display: Keep malloc ref to MST port drm/nouveau: Remove bogus cleanup in nv50_mstm_add_connector() drm/nouveau: Remove unnecessary VCPI checks in nv50_msto_cleanup() drm/nouveau: Keep malloc references to MST ports drm/nouveau: Stop unsetting mstc->port, use malloc refs drm/nouveau: Grab payload lock in nv50_msto_payload() drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI allocations drm/dp_mst: Check payload count in drm_dp_mst_atomic_check() drm/nouveau: Use atomic VCPI helpers for MST
.../gpu/dp-mst/topology-figure-1.dot | 52 + .../gpu/dp-mst/topology-figure-2.dot | 56 ++ .../gpu/dp-mst/topology-figure-3.dot | 59 ++ Documentation/gpu/drm-kms-helpers.rst | 26 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 11 +- drivers/gpu/drm/drm_dp_mst_topology.c | 938 ++++++++++++++---- drivers/gpu/drm/i915/intel_connector.c | 4 + drivers/gpu/drm/i915/intel_display.c | 4 + drivers/gpu/drm/i915/intel_dp_mst.c | 55 +- drivers/gpu/drm/nouveau/dispnv50/disp.c | 96 +- include/drm/drm_dp_mst_helper.h | 151 ++- 11 files changed, 1203 insertions(+), 249 deletions(-) create mode 100644 Documentation/gpu/dp-mst/topology-figure-1.dot create mode 100644 Documentation/gpu/dp-mst/topology-figure-2.dot create mode 100644 Documentation/gpu/dp-mst/topology-figure-3.dot
Signature · 6 lines
2.20.1 _______________________________________________ amd-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/amd-gfx