diff mbox series

[2/2] mt76: sdio: remove wake logic in mt76s_process_tx_queue

Message ID d2d7d9d437f4dec2ef1df0ed070b9cf299f021ad.1607164041.git.lorenzo@kernel.org (mailing list archive)
State Accepted
Commit 123bb2b737881127b450e8b3b1bae69a8949498e
Delegated to: Kalle Valo
Headers show
Series remove wake queue tx logic for usb/sdio | expand

Commit Message

Lorenzo Bianconi Dec. 5, 2020, 10:35 a.m. UTC
Similar to mmio/usb code path, remove wake logic in mt76s_process_tx_queue
routine

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
---
 drivers/net/wireless/mediatek/mt76/sdio.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

Comments

Lorenzo Bianconi Dec. 17, 2020, 7:07 p.m. UTC | #1
> Similar to mmio/usb code path, remove wake logic in mt76s_process_tx_queue
> routine

Starting from commit '90d494c99a99fa2eb858754345c4a9c851b409a0
("mt76: improve tx queue stop/wake")', the wake queue logic on
the sdio status path is no longer necessary since the hw queues
are no longer stopped on the mt76 tx path.

Regards,
Lorenzo

> 
> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
> ---
>  drivers/net/wireless/mediatek/mt76/sdio.c | 15 +++------------
>  1 file changed, 3 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/sdio.c b/drivers/net/wireless/mediatek/mt76/sdio.c
> index 62b5b912818f..7cd995118257 100644
> --- a/drivers/net/wireless/mediatek/mt76/sdio.c
> +++ b/drivers/net/wireless/mediatek/mt76/sdio.c
> @@ -157,7 +157,7 @@ static void mt76s_net_worker(struct mt76_worker *w)
>  
>  static int mt76s_process_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
>  {
> -	bool wake, mcu = q == dev->q_mcu[MT_MCUQ_WM];
> +	bool mcu = q == dev->q_mcu[MT_MCUQ_WM];
>  	struct mt76_queue_entry entry;
>  	int nframes = 0;
>  
> @@ -177,21 +177,12 @@ static int mt76s_process_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
>  		nframes++;
>  	}
>  
> -	wake = q->stopped && q->queued < q->ndesc - 8;
> -	if (wake)
> -		q->stopped = false;
> -
>  	if (!q->queued)
>  		wake_up(&dev->tx_wait);
>  
> -	if (mcu)
> -		goto out;
> -
> -	mt76_txq_schedule(&dev->phy, q->qid);
> +	if (!mcu)
> +		mt76_txq_schedule(&dev->phy, q->qid);
>  
> -	if (wake)
> -		ieee80211_wake_queue(dev->hw, q->qid);
> -out:
>  	return nframes;
>  }
>  
> -- 
> 2.28.0
>
diff mbox series

Patch

diff --git a/drivers/net/wireless/mediatek/mt76/sdio.c b/drivers/net/wireless/mediatek/mt76/sdio.c
index 62b5b912818f..7cd995118257 100644
--- a/drivers/net/wireless/mediatek/mt76/sdio.c
+++ b/drivers/net/wireless/mediatek/mt76/sdio.c
@@ -157,7 +157,7 @@  static void mt76s_net_worker(struct mt76_worker *w)
 
 static int mt76s_process_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
 {
-	bool wake, mcu = q == dev->q_mcu[MT_MCUQ_WM];
+	bool mcu = q == dev->q_mcu[MT_MCUQ_WM];
 	struct mt76_queue_entry entry;
 	int nframes = 0;
 
@@ -177,21 +177,12 @@  static int mt76s_process_tx_queue(struct mt76_dev *dev, struct mt76_queue *q)
 		nframes++;
 	}
 
-	wake = q->stopped && q->queued < q->ndesc - 8;
-	if (wake)
-		q->stopped = false;
-
 	if (!q->queued)
 		wake_up(&dev->tx_wait);
 
-	if (mcu)
-		goto out;
-
-	mt76_txq_schedule(&dev->phy, q->qid);
+	if (!mcu)
+		mt76_txq_schedule(&dev->phy, q->qid);
 
-	if (wake)
-		ieee80211_wake_queue(dev->hw, q->qid);
-out:
 	return nframes;
 }