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