drm/dp: Kill unused MST vcpi slot availability tracking
The avail_slots member in the MST topology manager is never updated to reflect the available vcpi slots. The check is effectively against total slots, 63. So, let's make that check obvious and remove avail_slots. While at it, make debug messages more descriptive. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Archit Taneja <architt@codeaurora.org> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Harry Wentland <Harry.wentland@amd.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1489648231-30700-3-git-send-email-dhinakaran.pandiyan@intel.com
This commit is contained in:
parent
a538d6137d
commit
feb2c3bc33
|
@ -2042,9 +2042,6 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* max. time slots - one slot for MTP header */
|
|
||||||
mgr->avail_slots = 63;
|
|
||||||
|
|
||||||
/* add initial branch device at LCT 1 */
|
/* add initial branch device at LCT 1 */
|
||||||
mstb = drm_dp_add_mst_branch_device(1, NULL);
|
mstb = drm_dp_add_mst_branch_device(1, NULL);
|
||||||
if (mstb == NULL) {
|
if (mstb == NULL) {
|
||||||
|
@ -2474,7 +2471,8 @@ int drm_dp_find_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr,
|
||||||
|
|
||||||
num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div);
|
num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div);
|
||||||
|
|
||||||
if (num_slots > mgr->avail_slots)
|
/* max. time slots - one slot for MTP header */
|
||||||
|
if (num_slots > 63)
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
return num_slots;
|
return num_slots;
|
||||||
}
|
}
|
||||||
|
@ -2488,7 +2486,8 @@ static int drm_dp_init_vcpi(struct drm_dp_mst_topology_mgr *mgr,
|
||||||
|
|
||||||
num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div);
|
num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div);
|
||||||
|
|
||||||
if (num_slots > mgr->avail_slots)
|
/* max. time slots - one slot for MTP header */
|
||||||
|
if (num_slots > 63)
|
||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
|
|
||||||
vcpi->pbn = pbn;
|
vcpi->pbn = pbn;
|
||||||
|
@ -2527,10 +2526,12 @@ bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp
|
||||||
|
|
||||||
ret = drm_dp_init_vcpi(mgr, &port->vcpi, pbn);
|
ret = drm_dp_init_vcpi(mgr, &port->vcpi, pbn);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
DRM_DEBUG_KMS("failed to init vcpi %d %d %d\n", DIV_ROUND_UP(pbn, mgr->pbn_div), mgr->avail_slots, ret);
|
DRM_DEBUG_KMS("failed to init vcpi slots=%d max=63 ret=%d\n",
|
||||||
|
DIV_ROUND_UP(pbn, mgr->pbn_div), ret);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
DRM_DEBUG_KMS("initing vcpi for %d %d\n", pbn, port->vcpi.num_slots);
|
DRM_DEBUG_KMS("initing vcpi for pbn=%d slots=%d\n",
|
||||||
|
pbn, port->vcpi.num_slots);
|
||||||
*slots = port->vcpi.num_slots;
|
*slots = port->vcpi.num_slots;
|
||||||
|
|
||||||
drm_dp_put_port(port);
|
drm_dp_put_port(port);
|
||||||
|
|
|
@ -480,11 +480,6 @@ struct drm_dp_mst_topology_mgr {
|
||||||
*/
|
*/
|
||||||
int pbn_div;
|
int pbn_div;
|
||||||
|
|
||||||
/**
|
|
||||||
* @avail_slots: Still available slots that can be allocated.
|
|
||||||
*/
|
|
||||||
int avail_slots;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @qlock: protects @tx_msg_downq, the &drm_dp_mst_branch.txslost and
|
* @qlock: protects @tx_msg_downq, the &drm_dp_mst_branch.txslost and
|
||||||
* &drm_dp_sideband_msg_tx.state once they are queued
|
* &drm_dp_sideband_msg_tx.state once they are queued
|
||||||
|
|
Loading…
Reference in New Issue