[PATCH v1 02/16] mt76: mt7921: refactor dma.c to be pcie specific

Lorenzo Bianconi lorenzo.bianconi at redhat.com
Wed Sep 15 06:03:03 PDT 2021


> From: Sean Wang <sean.wang at mediatek.com>
> 
> This is a preliminary patch to introduce mt7921s support.
> 
> make dma.c be used dedicately for mt7921e.
> 
> by moving out mt7921_tx_cleanup from dma.c to mcu.c and then renaming
> mt7921_tx_cleanup to refect the exact thing the function actually does.
> 
> Finally, dma.c totally become pcie specific one, only needed to
> be compiled only when CONFIG_MT7921E is enabled.
> 
> Tested-by: Deren Wu <deren.wu at mediatek.com>
> Signed-off-by: Sean Wang <sean.wang at mediatek.com>
> ---
>  drivers/net/wireless/mediatek/mt76/mt7921/dma.c    | 8 +-------
>  drivers/net/wireless/mediatek/mt76/mt7921/mac.c    | 2 +-
>  drivers/net/wireless/mediatek/mt76/mt7921/mcu.c    | 6 ++++++
>  drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h | 2 +-
>  4 files changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/dma.c b/drivers/net/wireless/mediatek/mt76/mt7921/dma.c
> index 802e40e42040..d3e2036a1974 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/dma.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/dma.c
> @@ -19,12 +19,6 @@ int mt7921_init_tx_queues(struct mt7921_phy *phy, int idx, int n_desc)
>  	return 0;
>  }
>  
> -void mt7921_tx_cleanup(struct mt7921_dev *dev)
> -{
> -	mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false);
> -	mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WA], false);
> -}
> -
>  static int mt7921_poll_tx(struct napi_struct *napi, int budget)
>  {
>  	struct mt7921_dev *dev;
> @@ -37,7 +31,7 @@ static int mt7921_poll_tx(struct napi_struct *napi, int budget)
>  		return 0;
>  	}
>  
> -	mt7921_tx_cleanup(dev);
> +	mt7921_mcu_tx_cleanup(dev);
>  	if (napi_complete(napi))
>  		mt7921_irq_enable(dev, MT_INT_TX_DONE_ALL);
>  	mt76_connac_pm_unref(&dev->mphy, &dev->pm);
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
> index d811702a3a2c..580a88b7841e 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mac.c
> @@ -1392,7 +1392,7 @@ void mt7921_pm_wake_work(struct work_struct *work)
>  		mt76_for_each_q_rx(&dev->mt76, i)
>  			napi_schedule(&dev->mt76.napi[i]);
>  		mt76_connac_pm_dequeue_skbs(mphy, &dev->pm);
> -		mt7921_tx_cleanup(dev);
> +		mt7921_mcu_tx_cleanup(dev);
>  		if (test_bit(MT76_STATE_RUNNING, &mphy->state))
>  			ieee80211_queue_delayed_work(mphy->hw, &mphy->mac_work,
>  						     MT7921_WATCHDOG_TIME);
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
> index ecdc879216b9..6ba431347b3b 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c
> @@ -1369,3 +1369,9 @@ int mt7921_get_txpwr_info(struct mt7921_dev *dev, struct mt7921_txpwr *txpwr)
>  
>  	return 0;
>  }
> +
> +void mt7921_mcu_tx_cleanup(struct mt7921_dev *dev)
> +{
> +	mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false);
> +	mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WA], false);
> +}

I guess it can be inline in mt7921.h, are you reusing it later?

> diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> index 70c0f41180a1..4c1c7c4eafac 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> +++ b/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
> @@ -330,7 +330,7 @@ void mt7921_mac_work(struct work_struct *work);
>  void mt7921_mac_reset_work(struct work_struct *work);
>  void mt7921_mac_update_mib_stats(struct mt7921_phy *phy);
>  void mt7921_reset(struct mt76_dev *mdev);
> -void mt7921_tx_cleanup(struct mt7921_dev *dev);
> +void mt7921_mcu_tx_cleanup(struct mt7921_dev *dev);
>  int mt7921e_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
>  			   enum mt76_txq_id qid, struct mt76_wcid *wcid,
>  			   struct ieee80211_sta *sta,
> -- 
> 2.25.1
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20210915/711576a9/attachment.sig>


More information about the Linux-mediatek mailing list