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;
> >...
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...