search for: drm_dp_put_port

Displaying 20 results from an estimated 44 matches for "drm_dp_put_port".

Did you mean: drm_dp_mst_port
2018 Dec 20
0
[PATCH v2 01/16] drm/dp_mst: Rename drm_dp_mst_get_validated_(port|mstb)_ref and friends
s/drm_dp_get_validated_port_ref/drm_dp_mst_topology_get_port_validated/ s/drm_dp_put_port/drm_dp_mst_topology_put_port/ s/drm_dp_get_validated_mstb_ref/drm_dp_mst_topology_get_mstb_validated/ s/drm_dp_put_mst_branch_device/drm_dp_mst_topology_put_mstb/ This is a much more consistent naming scheme, and will make even more sense once we redesign how the current refcounting scheme here wo...
2018 Dec 14
0
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...topology.c index 2ab16c9e6243..c196fb580beb 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -46,7 +46,7 @@ static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, char *buf); static int test_calc_pbn_mode(void); -static void drm_dp_put_port(struct drm_dp_mst_port *port); +static void drm_dp_mst_topology_put_port(struct drm_dp_mst_port *port); static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, int id, @@ -850,46 +850,120 @@ static struct drm_dp_mst_branch *drm_dp_add_mst_branch_device(u8 lct, u8 *rad...
2018 Dec 14
2
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...fb580beb 100644 > --- a/drivers/gpu/drm/drm_dp_mst_topology.c > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > @@ -46,7 +46,7 @@ static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, > char *buf); > static int test_calc_pbn_mode(void); > > -static void drm_dp_put_port(struct drm_dp_mst_port *port); > +static void drm_dp_mst_topology_put_port(struct drm_dp_mst_port *port); > > static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, > int id, > @@ -850,46 +850,120 @@ static struct drm_dp_mst_branch *drm_dp_add_mst_bran...
2018 Dec 19
1
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > > @@ -46,7 +46,7 @@ static bool dump_dp_payload_table(struct > > > drm_dp_mst_topology_mgr *mgr, > > > char *buf); > > > static int test_calc_pbn_mode(void); > > > > > > -static void drm_dp_put_port(struct drm_dp_mst_port *port); > > > +static void drm_dp_mst_topology_put_port(struct drm_dp_mst_port *port); > > > > > > static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, > > > int id, > > > @@ -850,46 +850,120 @@ st...
2018 Dec 18
0
[WIP PATCH 03/15] drm/dp_mst: Introduce new refcounting scheme for mstbs and ports
...rm/drm_dp_mst_topology.c > > +++ b/drivers/gpu/drm/drm_dp_mst_topology.c > > @@ -46,7 +46,7 @@ static bool dump_dp_payload_table(struct > > drm_dp_mst_topology_mgr *mgr, > > char *buf); > > static int test_calc_pbn_mode(void); > > > > -static void drm_dp_put_port(struct drm_dp_mst_port *port); > > +static void drm_dp_mst_topology_put_port(struct drm_dp_mst_port *port); > > > > static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, > > int id, > > @@ -850,46 +850,120 @@ static struct drm_dp_mst_br...
2018 Dec 20
22
[PATCH v2 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
2018 Nov 16
8
[PATCH v6 0/6] drm/dp_mst: Improve VCPI helpers, use in nouveau
...or still not adding your R-Bs! I ended up needing to make a lot of changes to make it so we do actually kref() each port in the atomic state] Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (6): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Return kref_put() result from drm_dp_put_port() drm/dp_mst: Start tracking per-port VCPI allocations drm/dp_mst: Check payload count in drm_dp_mst_atomic_check() drm/nouveau: Stop unsetting mstc->port, check connector registration drm/nouveau: Use atomic VCPI helpers for MST drivers/gpu/drm/drm_dp_mst_topology.c | 307 ++++++++++...
2018 Nov 26
4
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...other one held as-needed by the vcpi allocation lists. I think if we go with this design instead of retrofitting a semantic change of the port lifetime itself, all the complications I complain about below should disappear. Piles of comments below. Cheers, Daniel > - Use the small changes to drm_dp_put_port() to add even more error > checking to make misusage of the helpers more obvious. I added this > after having to chase down various use-after-free conditions that > started popping up from the new helpers so no one else has to > troubleshoot that. > - Move some accidenta...
2018 Nov 28
3
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...drivers, so that any possible confusion is still limited to drm_dp_mst_topology.c > > > > -Daniel > > > > > > > Piles of comments below. > > > > > > > > Cheers, Daniel > > > > > > > > > - Use the small changes to drm_dp_put_port() to add even more error > > > > > checking to make misusage of the helpers more obvious. I added > > > > > this > > > > > after having to chase down various use-after-free conditions that > > > > > started popping up from the new...
2018 Nov 16
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...changes, not crtc_state->active changes. Additionally, we no longer take the registration of the DRM connector for each port into account because so long as we have a kref to the port in the new or previous atomic state, the connector will stay registered. - Use the small changes to drm_dp_put_port() to add even more error checking to make misusage of the helpers more obvious. I added this after having to chase down various use-after-free conditions that started popping up from the new helpers so no one else has to troubleshoot that. - Move some accidental DRM_DEBUG_KMS() calls t...
2018 Nov 29
1
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...; -Daniel > > > > > > -Daniel > > > > > > > > > > > Piles of comments below. > > > > > > > > > > > > Cheers, Daniel > > > > > > > > > > > > > - Use the small changes to drm_dp_put_port() to add even more > > > > > > > error > > > > > > > checking to make misusage of the helpers more obvious. I > > > > > > > added > > > > > > > this > > > > > > > after having to chase dow...
2018 Nov 27
2
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...'ve been experimenting with this and I think I agree this is definitely the right solution to go with. It'll end up decomplicating a lot of this :) > -Daniel > > > Piles of comments below. > > > > Cheers, Daniel > > > > > - Use the small changes to drm_dp_put_port() to add even more error > > > checking to make misusage of the helpers more obvious. I added this > > > after having to chase down various use-after-free conditions that > > > started popping up from the new helpers so no one else has to > > > troubl...
2018 Oct 29
2
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...t); > if (port == NULL) > return -EINVAL; > - req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); > - DRM_DEBUG_KMS("vcpi slots req=%d, avail=%d\n", > - req_slots, topology_state->avail_slots); > > - if (req_slots > topology_state->avail_slots) { > - drm_dp_put_port(port); > - return -ENOSPC; > + /* Find the current allocation for this port, if any */ > + list_for_each_entry(pos, &topology_state->vcpis, next) { > + if (pos->port == port) { > + vcpi = pos; > + prev_slots = vcpi->vcpi; > + break; > + } > } >...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...sts. > > I think if we go with this design instead of retrofitting a semantic > change of the port lifetime itself, all the complications I complain about > below should disappear. > > Piles of comments below. > > Cheers, Daniel > > > - Use the small changes to drm_dp_put_port() to add even more error > > checking to make misusage of the helpers more obvious. I added this > > after having to chase down various use-after-free conditions that > > started popping up from the new helpers so no one else has to > > troubleshoot that. > &g...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...ain sprinkling complicated conditions and magic tricks all over the code to figure out whethe we should allow the get_validate_port to succeed or not, or the modeset to succeed or not. -Daniel > > Piles of comments below. > > Cheers, Daniel > > > - Use the small changes to drm_dp_put_port() to add even more error > > checking to make misusage of the helpers more obvious. I added this > > after having to chase down various use-after-free conditions that > > started popping up from the new helpers so no one else has to > > troubleshoot that. > &g...
2018 Nov 27
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...c_get/put. Plus a comment explaining what it does. It's going to be a bit of wtf-is-this no matter what :-/ -Daniel > > -Daniel > > > > > Piles of comments below. > > > > > > Cheers, Daniel > > > > > > > - Use the small changes to drm_dp_put_port() to add even more error > > > > checking to make misusage of the helpers more obvious. I added this > > > > after having to chase down various use-after-free conditions that > > > > started popping up from the new helpers so no one else has to > >...
2018 Dec 14
22
[WIP PATCH 00/15] MST refcounting/atomic helpers cleanup
This is a WIP version of 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
2018 Nov 28
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...airly long function name :-/ -Daniel > > > > > > > -Daniel > > > > > > > > > Piles of comments below. > > > > > > > > > > Cheers, Daniel > > > > > > > > > > > - Use the small changes to drm_dp_put_port() to add even more error > > > > > > checking to make misusage of the helpers more obvious. I added > > > > > > this > > > > > > after having to chase down various use-after-free conditions that > > > > > > started pop...
2019 Jan 11
20
[PATCH v7 00/20] 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
2019 Jan 10
21
[PATCH v6 00/20] 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