From 9779a9865849ff37df7db9a0f3e5ab892cf89d28 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 25 Feb 2016 21:13:30 +0100 Subject: [PATCH] let mt76_queue_tx_cleanup take a queue id instead of a pointer Signed-off-by: Felix Fietkau --- dma.c | 5 +++-- mt76.h | 2 +- mt7603_beacon.c | 4 ++-- mt7603_dma.c | 2 +- mt76x2_dma.c | 4 ++-- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/dma.c b/dma.c index 1765e9eb..f0dd6024 100644 --- a/dma.c +++ b/dma.c @@ -123,8 +123,9 @@ mt76_dma_tx_cleanup_idx(struct mt76_dev *dev, struct mt76_queue *q, int idx, } static void -mt76_dma_tx_cleanup(struct mt76_dev *dev, struct mt76_queue *q, bool flush) +mt76_dma_tx_cleanup(struct mt76_dev *dev, enum mt76_txq_id qid, bool flush) { + struct mt76_queue *q = &dev->q_tx[qid]; struct mt76_queue_entry entry; int last; @@ -400,7 +401,7 @@ void mt76_dma_cleanup(struct mt76_dev *dev) int i; for (i = 0; i < ARRAY_SIZE(dev->q_tx); i++) - mt76_dma_tx_cleanup(dev, &dev->q_tx[i], true); + mt76_dma_tx_cleanup(dev, i, true); for (i = 0; i < ARRAY_SIZE(dev->q_rx); i++) { netif_napi_del(&dev->napi[i]); diff --git a/mt76.h b/mt76.h index af8662b4..0d9d84e7 100644 --- a/mt76.h +++ b/mt76.h @@ -107,7 +107,7 @@ struct mt76_queue_ops { void *(*dequeue)(struct mt76_dev *dev, struct mt76_queue *q, bool flush, int *len, u32 *info, bool *more); - void (*tx_cleanup)(struct mt76_dev *dev, struct mt76_queue *q, bool flush); + void (*tx_cleanup)(struct mt76_dev *dev, enum mt76_txq_id qid, bool flush); void (*kick)(struct mt76_dev *dev, struct mt76_queue *q); }; diff --git a/mt7603_beacon.c b/mt7603_beacon.c index a6a89d6c..7862af93 100644 --- a/mt7603_beacon.c +++ b/mt7603_beacon.c @@ -113,8 +113,8 @@ void mt7603_pre_tbtt_tasklet(unsigned long arg) mt76_queue_kick(dev, q); spin_unlock_bh(&q->lock); - mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[MT_TXQ_BEACON], false); - mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[MT_TXQ_CAB], false); + mt76_queue_tx_cleanup(dev, MT_TXQ_BEACON, false); + mt76_queue_tx_cleanup(dev, MT_TXQ_CAB, false); } void mt7603_beacon_set_timer(struct mt7603_dev *dev, int idx, int intval) diff --git a/mt7603_dma.c b/mt7603_dma.c index 24208b3d..b6ac359f 100644 --- a/mt7603_dma.c +++ b/mt7603_dma.c @@ -114,7 +114,7 @@ mt7603_tx_tasklet(unsigned long data) int i; for (i = MT_TXQ_MCU; i >= 0; i--) - mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[i], false); + mt76_queue_tx_cleanup(dev, i, false); mt7603_irq_enable(dev, MT_INT_TX_DONE_ALL); } diff --git a/mt76x2_dma.c b/mt76x2_dma.c index e444bb75..04376d52 100644 --- a/mt76x2_dma.c +++ b/mt76x2_dma.c @@ -110,8 +110,8 @@ mt76x2_tx_tasklet(unsigned long data) mt76x2_mac_process_tx_status_fifo(dev); - for (i = ARRAY_SIZE(dev->mt76.q_tx) - 1; i >= 0; i--) - mt76_queue_tx_cleanup(dev, &dev->mt76.q_tx[i], false); + for (i = MT_TXQ_MCU; i >= 0; i--) + mt76_queue_tx_cleanup(dev, i, false); mt76x2_mac_poll_tx_status(dev, false); mt76x2_irq_enable(dev, MT_INT_TX_DONE_ALL);