Re: [PATCH v4 00/16] MST refcounting/atomic helpers cleanup

2019-01-08 Thread Lyude Paul
On Tue, 2019-01-08 at 19:57 +, Wentland, Harry wrote:
> On 2019-01-04 7:14 p.m., Lyude Paul wrote:
> > 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
> > 
> 
> Somehow I left my RB on v2 for a while. Either way patches 2-5, and 7 are
> Reviewed-by: Harry Wentland 
> 
> Haven't had a chance to take a look at 13-15 but noticed the "Changes since
> v" mention versions that either aren't on the mailing list or don't line up
> with the patch versioning.
That's intentional! Those were patches that were part of a different series
that got replaced by this one, so the older versions are from the previous
series
> 
> Harry 
> 
> >  .../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
> > 
-- 
Cheers,
Lyude Paul

___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


Re: [PATCH v4 00/16] MST refcounting/atomic helpers cleanup

2019-01-08 Thread Wentland, Harry
On 2019-01-04 7:14 p.m., Lyude Paul wrote:
> 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
> 

Somehow I left my RB on v2 for a while. Either way patches 2-5, and 7 are
Reviewed-by: Harry Wentland 

Haven't had a chance to take a look at 13-15 but noticed the "Changes since v" 
mention versions that either aren't on the mailing list or don't line up with 
the patch versioning.

Harry 

>  .../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
> 
___
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx