search for: vcpis

Displaying 20 results from an estimated 45 matches for "vcpis".

Did you mean: vcpi
2018 Oct 29
2
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...uot;, > - 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; > + } > } > + if (!vcpi) > + prev_slots = 0; For robustness should we warn here, since drivers forgetting to release vcpi slots is kinda a bug? Or do we need to ha...
2018 Oct 23
0
[PATCH 4/6] drm/dp_mst: Start tracking per-port VCPI allocations
...uot;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; + } } + if (!vcpi) + prev_slots = 0; - topology_state->avail_slots -= req_slots; - DRM_DEBUG_KMS("vcpi slots avail=%d", topology_state->avail_slots); + req_slots = DIV_ROUND_UP(p...
2018 Oct 26
0
[PATCH v2 2/4] drm/dp_mst: Start tracking per-port VCPI allocations
...uot;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; + } } + if (!vcpi) + prev_slots = 0; + + req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); + + DRM_DEBUG_KMS("[CONNECTOR:%d:%s] [MST PORT:%p] vcpi %d -> %d\n", + port->connect...
2018 Nov 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...uot;, > - 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; > + } > } > + if (!vcpi) > + prev_slots = 0; > + > + req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); > > - topology_state->avail_slots -= req_slots...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...uot;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; + } } + if (!vcpi) + prev_slots = 0; + + req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); - topology_state->avail_slots -= req_slots; - DRM_DEBUG_KMS("vcpi slots avail=%d", topology_...
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 07
2
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...gt; > > > > > - 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; > > > + } > > > } > > > + if (!vcpi) > > > + prev_slots = 0; > > > + > > > + req_s...
2018 Oct 23
12
[PATCH 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. Cc: Daniel Vetter <daniel at ffwll.ch> Lyude Paul (6): drm/dp_mst: Deprecate drm_dp_find_vcpi_slots() drm/dp_mst: Remove all evil duplicate state
2018 Nov 26
4
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...); > > - if (req_slots > topology_state->avail_slots) { > - drm_dp_put_port(port); > - return -ENOSPC; > + topology_state->vcpi_allocated = true; > + > + /* 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; > + > + /* > + * This should never happen, unless the driver tries > + * releasing and allocating the same VCPI allocation, > + * which is an error > + */ > +...
2019 Jan 09
0
[PATCH v5 18/20] drm/dp_mst: Start tracking per-port VCPI allocations
...s req=%d, avail=%d\n", - req_slots, topology_state->avail_slots); - if (req_slots > topology_state->avail_slots) { - drm_dp_mst_topology_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; + + /* + * This should never happen, unless the driver tries + * releasing and allocating the same VCPI allocation, + * which is an error + */ + if (WARN_ON(!prev_slots)) { + DRM_ERROR("c...
2018 Oct 26
8
[PATCH v2 0/4] 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 (4): drm/dp_mst: Add some atomic state iterator macros drm/dp_mst: Start tracking per-port VCPI
2018 Dec 14
0
[WIP PATCH 13/15] drm/dp_mst: Start tracking per-port VCPI allocations
...ology_state->avail_slots); - if (req_slots > topology_state->avail_slots) { - drm_dp_mst_topology_put_port(port); - return -ENOSPC; + topology_state->vcpi_allocated = true; + + /* 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; + + /* + * This should never happen, unless the driver tries + * releasing and allocating the same VCPI allocation, + * which is an error + */ + if (WARN_ON(!prev_slots)) { + DRM_ERROR("c...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...logy_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; > > + } > > } > > + if (!vcpi) > > + prev_slots = 0; > > + > > + req_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); > &g...
2018 Nov 16
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...eq_slots, topology_state->avail_slots); - if (req_slots > topology_state->avail_slots) { - drm_dp_put_port(port); - return -ENOSPC; + topology_state->vcpi_allocated = true; + + /* 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; + + /* + * This should never happen, unless the driver tries + * releasing and allocating the same VCPI allocation, + * which is an error + */ + if (WARN_ON(!prev_slots)) { + DRM_ERROR("c...
2018 Nov 29
1
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...SPC; > > > > > > > + topology_state->vcpi_allocated = true; > > > > > > > + > > > > > > > + /* 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; > > > > > > > + > > > > > > > + /* > > > > > &g...
2018 Nov 28
3
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...> > > > > - return -ENOSPC; > > > > > + topology_state->vcpi_allocated = true; > > > > > + > > > > > + /* 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; > > > > > + > > > > > + /* > > > > > + * This should never happen, unless the driver &...
2018 Nov 27
2
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
..._slots) { > > > - drm_dp_put_port(port); > > > - return -ENOSPC; > > > + topology_state->vcpi_allocated = true; > > > + > > > + /* 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; > > > + > > > + /* > > > + * This should never happen, unless the driver tries > > > + * releasing and allocating the same...
2018 Nov 07
0
[PATCH v3 2/5] drm/dp_mst: Start tracking per-port VCPI allocations
...> > - 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; > > > > + } > > > > } > > > > + if (!vcpi) > > > > + prev_slots = 0;...
2018 Nov 26
0
[PATCH v6 3/6] drm/dp_mst: Start tracking per-port VCPI allocations
...> topology_state->avail_slots) { > > - drm_dp_put_port(port); > > - return -ENOSPC; > > + topology_state->vcpi_allocated = true; > > + > > + /* 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; > > + > > + /* > > + * This should never happen, unless the driver tries > > + * releasing and allocating the same VCPI allocation, > > + *...
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