drm/dp-mst: Remove tx_down_in_progress
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 15 Jul 2016 19:48:03 +0000 (21:48 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Tue, 19 Jul 2016 08:31:40 +0000 (10:31 +0200)
Just replicates whether the list is empty or not. Nuke code
to avoid writing docs for it!

Cc: Dave Airlie <airlied@redhat.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1468612088-9721-6-git-send-email-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_dp_mst_topology.c
include/drm/drm_dp_mst_helper.h

index 6537908050d71b8e3efe2d5e6c60b5417957f0bf..5020a2aaffeb733bdc76b4fd75b808babc6ce91c 100644 (file)
@@ -1493,11 +1493,8 @@ static void process_single_down_tx_qlock(struct drm_dp_mst_topology_mgr *mgr)
        WARN_ON(!mutex_is_locked(&mgr->qlock));
 
        /* construct a chunk from the first msg in the tx_msg queue */
-       if (list_empty(&mgr->tx_msg_downq)) {
-               mgr->tx_down_in_progress = false;
+       if (list_empty(&mgr->tx_msg_downq))
                return;
-       }
-       mgr->tx_down_in_progress = true;
 
        txmsg = list_first_entry(&mgr->tx_msg_downq, struct drm_dp_sideband_msg_tx, next);
        ret = process_single_tx_qlock(mgr, txmsg, false);
@@ -1512,10 +1509,6 @@ static void process_single_down_tx_qlock(struct drm_dp_mst_topology_mgr *mgr)
                txmsg->state = DRM_DP_SIDEBAND_TX_TIMEOUT;
                wake_up(&mgr->tx_waitq);
        }
-       if (list_empty(&mgr->tx_msg_downq)) {
-               mgr->tx_down_in_progress = false;
-               return;
-       }
 }
 
 /* called holding qlock */
@@ -1538,7 +1531,7 @@ static void drm_dp_queue_down_tx(struct drm_dp_mst_topology_mgr *mgr,
 {
        mutex_lock(&mgr->qlock);
        list_add_tail(&txmsg->next, &mgr->tx_msg_downq);
-       if (!mgr->tx_down_in_progress)
+       if (list_is_singular(&mgr->tx_msg_downq))
                process_single_down_tx_qlock(mgr);
        mutex_unlock(&mgr->qlock);
 }
@@ -2887,7 +2880,7 @@ static void drm_dp_tx_work(struct work_struct *work)
        struct drm_dp_mst_topology_mgr *mgr = container_of(work, struct drm_dp_mst_topology_mgr, tx_work);
 
        mutex_lock(&mgr->qlock);
-       if (mgr->tx_down_in_progress)
+       if (!list_empty(&mgr->tx_msg_downq))
                process_single_down_tx_qlock(mgr);
        mutex_unlock(&mgr->qlock);
 }
index fdb47051d5492a4db126cc525667bd181343d2cd..c49bbfaf3cbbd0d95a64c97d71f5223d788bddaf 100644 (file)
@@ -446,7 +446,6 @@ struct drm_dp_mst_topology_mgr {
           the mstb tx_slots and txmsg->state once they are queued */
        struct mutex qlock;
        struct list_head tx_msg_downq;
-       bool tx_down_in_progress;
 
        /* payload info + lock for it */
        struct mutex payload_lock;