drm/dp: Kill unused MST vcpi slot availability tracking
authorPandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>
Thu, 16 Mar 2017 07:10:25 +0000 (00:10 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 22 Mar 2017 20:46:41 +0000 (21:46 +0100)
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
drivers/gpu/drm/drm_dp_mst_topology.c
include/drm/drm_dp_mst_helper.h

index 66a611afa82a7be9c22a38cb9da6630e0d5f2f4e..2e2af13f70d5241812fe44edaeb57d902f88f8a6 100644 (file)
@@ -2042,9 +2042,6 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms
                        goto out_unlock;
                }
 
-               /* max. time slots - one slot for MTP header */
-               mgr->avail_slots = 63;
-
                /* add initial branch device at LCT 1 */
                mstb = drm_dp_add_mst_branch_device(1, 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);
 
-       if (num_slots > mgr->avail_slots)
+       /* max. time slots - one slot for MTP header */
+       if (num_slots > 63)
                return -ENOSPC;
        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);
 
-       if (num_slots > mgr->avail_slots)
+       /* max. time slots - one slot for MTP header */
+       if (num_slots > 63)
                return -ENOSPC;
 
        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);
        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;
        }
-       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;
 
        drm_dp_put_port(port);
index 1a7e0f41d6feb2bdf487b78759762a4503b3250a..d8365110eb2340c2bf936fc9f8524ede12e0a1e9 100644 (file)
@@ -480,11 +480,6 @@ struct drm_dp_mst_topology_mgr {
         */
        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
         * &drm_dp_sideband_msg_tx.state once they are queued