search for: drm_dp_mst_atomic_check_topology_st

Displaying 20 results from an estimated 30 matches for "drm_dp_mst_atomic_check_topology_st".

2018 Dec 14
0
[WIP PATCH 14/15] drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
...++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index b9374c981a5b..ebffb834f5d6 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3538,7 +3538,7 @@ drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_topology_state *mst_state) { struct drm_dp_vcpi_allocation *vcpi; - int avail_slots = 63, ret; + int avail_slots = 63, payload_count = 0, ret; /* There's no possible scenario where releasing VCPI or keeping it the *...
2019 Jan 09
0
[PATCH v5 19/20] drm/dp_mst: Check payload count in drm_dp_mst_atomic_check()
...+++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index fc778c6d487e..41cf814207bf 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -3650,7 +3650,7 @@ drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_topology_state *mst_state) { struct drm_dp_vcpi_allocation *vcpi; - int avail_slots = 63; + int avail_slots = 63, payload_count = 0; list_for_each_entry(vcpi, &mst_state->vcpis, next) { /* Releasing VCPI is alway...
2018 Nov 07
5
[PATCH RESEND v3 0/5] drm/dp_mst: Improve VCPI helpers, use in nouveau
[sorry about the resend-copy pasted the wrong header and I want to make sure this doesn't get missed!] This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude
2018 Nov 07
6
[PATCH v3 0/5] drm/dp_mst: Add some atomic state iterator macros
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (5): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI
2018 Nov 08
5
[PATCH v4 0/5] drm/dp_mst: Improve VCPI helpers, use in nouveau
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (5): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI
2018 Nov 08
5
[PATCH v5 0/5] drm/dp_mst: Improve VCPI helpers, use in nouveau
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (5): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...); > + struct drm_dp_vcpi_allocation *pos, *tmp; > + > + list_for_each_entry_safe(pos, tmp, &mst_state->vcpis, next) > + kfree(pos); > > kfree(mst_state); > } > > -static const struct drm_private_state_funcs mst_state_funcs = { > +static inline int > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, > + struct drm_dp_mst_topology_state *mst_state) > +{ > + struct drm_dp_vcpi_allocation *vcpi; > + struct drm_dp_mst_port *port; > + int avail_slots = 63, ret; > + > + list_for_each_entry(vcpi, &mst_state->vcpis, next) {...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...gy_state *mst_state = to_dp_mst_topology_state(state); + struct drm_dp_vcpi_allocation *pos, *tmp; + + list_for_each_entry_safe(pos, tmp, &mst_state->vcpis, next) + kfree(pos); kfree(mst_state); } -static const struct drm_private_state_funcs mst_state_funcs = { +static inline int +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_topology_state *mst_state) +{ + struct drm_dp_vcpi_allocation *vcpi; + struct drm_dp_mst_port *port; + int avail_slots = 63, ret; + + list_for_each_entry(vcpi, &mst_state->vcpis, next) { + /* Ports that no longer exist sh...
2018 Nov 16
8
[PATCH v6 0/6] drm/dp_mst: Improve VCPI helpers, use in nouveau
This patchset does some cleaning up of the atomic VCPI helpers for MST, and converts nouveau over to using them. I would have included amdgpu in this patch as well, but at the moment moving them over to the atomic helpers is nontrivial. [sorry for 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
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...entry_safe(pos, tmp, &mst_state->vcpis, next) > > > + kfree(pos); > > > > > > kfree(mst_state); > > > } > > > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > > +static inline int > > > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr > > > *mgr, > > > + struct drm_dp_mst_topology_state > > > *mst_state) > > > +{ > > > + struct drm_dp_vcpi_allocation *vcpi; > > > + struct drm_dp_mst_port *port; > > > + int avail_slots = 63,...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...; > > + > > + list_for_each_entry_safe(pos, tmp, &mst_state->vcpis, next) > > + kfree(pos); > > > > kfree(mst_state); > > } > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > +static inline int > > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr > > *mgr, > > + struct drm_dp_mst_topology_state > > *mst_state) > > +{ > > + struct drm_dp_vcpi_allocation *vcpi; > > + struct drm_dp_mst_port *port; > > + int avail_slots = 63, ret; > > + > > + list_...
2019 Jan 09
0
[PATCH v5 18/20] drm/dp_mst: Start tracking per-port VCPI allocations
..._dp_vcpi_allocation *pos, *tmp; + + list_for_each_entry_safe(pos, tmp, &mst_state->vcpis, next) { + /* We only keep references to ports with non-zero VCPIs */ + if (pos->vcpi) + drm_dp_mst_put_port_malloc(pos->port); + kfree(pos); + } kfree(mst_state); } +static inline int +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_topology_state *mst_state) +{ + struct drm_dp_vcpi_allocation *vcpi; + int avail_slots = 63; + + list_for_each_entry(vcpi, &mst_state->vcpis, next) { + /* Releasing VCPI is always OK-even if the port is gone */ + if (!vc...
2018 Dec 14
0
[WIP PATCH 13/15] drm/dp_mst: Start tracking per-port VCPI allocations
..._dp_vcpi_allocation *pos, *tmp; + + list_for_each_entry_safe(pos, tmp, &mst_state->vcpis, next) { + /* We only keep references to ports with non-zero VCPIs */ + if (pos->vcpi) + drm_dp_mst_put_port_malloc(pos->port); + kfree(pos); + } kfree(mst_state); } +static inline int +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_topology_state *mst_state) +{ + struct drm_dp_vcpi_allocation *vcpi; + int avail_slots = 63, ret; + + /* There's no possible scenario where releasing VCPI or keeping it the + * same would make the state invalid + */ + if (!...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...vcpis, next) > > > > + kfree(pos); > > > > > > > > kfree(mst_state); > > > > } > > > > > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > > > +static inline int > > > > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr > > > > *mgr, > > > > + struct drm_dp_mst_topology_state > > > > *mst_state) > > > > +{ > > > > + struct drm_dp_vcpi_allocation *vcpi; > > > > + struct drm_dp_mst_port *port; > &gt...
2018 Nov 26
4
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...* We only keep references to ports with non-zero VCPIs */ > + if (pos->vcpi) > + drm_dp_put_port(pos->port); > + kfree(pos); > + } > > kfree(mst_state); > } > > -static const struct drm_private_state_funcs mst_state_funcs = { > +static inline int > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, > + struct drm_dp_mst_topology_state *mst_state) > +{ > + struct drm_dp_vcpi_allocation *vcpi; > + struct drm_dp_mst_port *port; > + int avail_slots = 63, ret; > + > + /* There's no possible scenario where releasing VCPI or...
2018 Nov 16
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...y_safe(pos, tmp, &mst_state->vcpis, next) { + /* We only keep references to ports with non-zero VCPIs */ + if (pos->vcpi) + drm_dp_put_port(pos->port); + kfree(pos); + } kfree(mst_state); } -static const struct drm_private_state_funcs mst_state_funcs = { +static inline int +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_topology_state *mst_state) +{ + struct drm_dp_vcpi_allocation *vcpi; + struct drm_dp_mst_port *port; + int avail_slots = 63, ret; + + /* There's no possible scenario where releasing VCPI or keeping it the + * same would make...
2018 Nov 29
1
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...> > > kfree(mst_state); > > > > > > > } > > > > > > > > > > > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > > > > > > +static inline int > > > > > > > +drm_dp_mst_atomic_check_topology_state(struct > > > > > > > drm_dp_mst_topology_mgr > > > > > > > *mgr, > > > > > > > + struct > > > > > > > drm_dp_mst_topology_state > > > > > > > *mst_state) > > > > > &g...
2018 Nov 28
3
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...t; > > + } > > > > > > > > > > kfree(mst_state); > > > > > } > > > > > > > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > > > > +static inline int > > > > > +drm_dp_mst_atomic_check_topology_state(struct > > > > > drm_dp_mst_topology_mgr > > > > > *mgr, > > > > > + struct > > > > > drm_dp_mst_topology_state > > > > > *mst_state) > > > > > +{ > > > > > + struct drm_dp_vcpi_all...
2018 Nov 27
2
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...drm_dp_put_port(pos->port); > > > + kfree(pos); > > > + } > > > > > > kfree(mst_state); > > > } > > > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > > +static inline int > > > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr > > > *mgr, > > > + struct drm_dp_mst_topology_state > > > *mst_state) > > > +{ > > > + struct drm_dp_vcpi_allocation *vcpi; > > > + struct drm_dp_mst_port *port; > > > + int avail_slots = 63,...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...*/ > > + if (pos->vcpi) > > + drm_dp_put_port(pos->port); > > + kfree(pos); > > + } > > > > kfree(mst_state); > > } > > > > -static const struct drm_private_state_funcs mst_state_funcs = { > > +static inline int > > +drm_dp_mst_atomic_check_topology_state(struct drm_dp_mst_topology_mgr > > *mgr, > > + struct drm_dp_mst_topology_state > > *mst_state) > > +{ > > + struct drm_dp_vcpi_allocation *vcpi; > > + struct drm_dp_mst_port *port; > > + int avail_slots = 63, ret; > > + > > + /* Th...