wifi: mt76: mt7921: move mt7921_dma_init in pci.c
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 28 Jun 2023 07:07:23 +0000 (15:07 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 26 Jul 2023 09:36:17 +0000 (11:36 +0200)
Move mt7921_dma_init routine in pci.c and make it static since it is run
just in mt7921_pci_probe(). Get rid of dma.c.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Deren Wu <deren.wu@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7921/Makefile
drivers/net/wireless/mediatek/mt76/mt7921/dma.c [deleted file]
drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h
drivers/net/wireless/mediatek/mt76/mt7921/pci.c

index 964eb55..849be9e 100644 (file)
@@ -7,6 +7,6 @@ obj-$(CONFIG_MT7921U) += mt7921u.o
 
 mt7921-common-y := mac.o mcu.o main.o init.o debugfs.o
 mt7921-common-$(CONFIG_NL80211_TESTMODE) += testmode.o
-mt7921e-y := pci.o pci_mac.o pci_mcu.o dma.o
+mt7921e-y := pci.o pci_mac.o pci_mcu.o
 mt7921s-y := sdio.o sdio_mac.o sdio_mcu.o
 mt7921u-y := usb.o
diff --git a/drivers/net/wireless/mediatek/mt76/mt7921/dma.c b/drivers/net/wireless/mediatek/mt76/mt7921/dma.c
deleted file mode 100644 (file)
index fdc598e..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-// SPDX-License-Identifier: ISC
-/* Copyright (C) 2020 MediaTek Inc. */
-
-#include "mt7921.h"
-#include "../dma.h"
-#include "../mt76_connac2_mac.h"
-
-int mt7921_dma_init(struct mt792x_dev *dev)
-{
-       int ret;
-
-       mt76_dma_attach(&dev->mt76);
-
-       ret = mt792x_dma_disable(dev, true);
-       if (ret)
-               return ret;
-
-       /* init tx queue */
-       ret = mt76_connac_init_tx_queues(dev->phy.mt76, MT7921_TXQ_BAND0,
-                                        MT7921_TX_RING_SIZE,
-                                        MT_TX_RING_BASE, 0);
-       if (ret)
-               return ret;
-
-       mt76_wr(dev, MT_WFDMA0_TX_RING0_EXT_CTRL, 0x4);
-
-       /* command to WM */
-       ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7921_TXQ_MCU_WM,
-                                 MT7921_TX_MCU_RING_SIZE, MT_TX_RING_BASE);
-       if (ret)
-               return ret;
-
-       /* firmware download */
-       ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_FWDL, MT7921_TXQ_FWDL,
-                                 MT7921_TX_FWDL_RING_SIZE, MT_TX_RING_BASE);
-       if (ret)
-               return ret;
-
-       /* event from WM before firmware download */
-       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU],
-                              MT7921_RXQ_MCU_WM,
-                              MT7921_RX_MCU_RING_SIZE,
-                              MT_RX_BUF_SIZE, MT_RX_EVENT_RING_BASE);
-       if (ret)
-               return ret;
-
-       /* Change mcu queue after firmware download */
-       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU_WA],
-                              MT7921_RXQ_MCU_WM,
-                              MT7921_RX_MCU_RING_SIZE,
-                              MT_RX_BUF_SIZE, MT_WFDMA0(0x540));
-       if (ret)
-               return ret;
-
-       /* rx data */
-       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MAIN],
-                              MT7921_RXQ_BAND0, MT7921_RX_RING_SIZE,
-                              MT_RX_BUF_SIZE, MT_RX_DATA_RING_BASE);
-       if (ret)
-               return ret;
-
-       ret = mt76_init_queues(dev, mt792x_poll_rx);
-       if (ret < 0)
-               return ret;
-
-       netif_napi_add_tx(&dev->mt76.tx_napi_dev, &dev->mt76.tx_napi,
-                         mt792x_poll_tx);
-       napi_enable(&dev->mt76.tx_napi);
-
-       return mt792x_dma_enable(dev);
-}
index 0f8b93a..87dd068 100644 (file)
@@ -182,7 +182,6 @@ u32 mt7921_reg_map(struct mt792x_dev *dev, u32 addr);
 int __mt7921_start(struct mt792x_phy *phy);
 int mt7921_register_device(struct mt792x_dev *dev);
 void mt7921_unregister_device(struct mt792x_dev *dev);
-int mt7921_dma_init(struct mt792x_dev *dev);
 int mt7921_run_firmware(struct mt792x_dev *dev);
 int mt7921_mcu_set_bss_pm(struct mt792x_dev *dev, struct ieee80211_vif *vif,
                          bool enable);
index c3f22ce..3dda84a 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "mt7921.h"
 #include "../mt76_connac2_mac.h"
+#include "../dma.h"
 #include "mcu.h"
 
 static const struct pci_device_id mt7921_pci_device_table[] = {
@@ -155,6 +156,71 @@ static u32 mt7921_rmw(struct mt76_dev *mdev, u32 offset, u32 mask, u32 val)
        return dev->bus_ops->rmw(mdev, addr, mask, val);
 }
 
+static int mt7921_dma_init(struct mt792x_dev *dev)
+{
+       int ret;
+
+       mt76_dma_attach(&dev->mt76);
+
+       ret = mt792x_dma_disable(dev, true);
+       if (ret)
+               return ret;
+
+       /* init tx queue */
+       ret = mt76_connac_init_tx_queues(dev->phy.mt76, MT7921_TXQ_BAND0,
+                                        MT7921_TX_RING_SIZE,
+                                        MT_TX_RING_BASE, 0);
+       if (ret)
+               return ret;
+
+       mt76_wr(dev, MT_WFDMA0_TX_RING0_EXT_CTRL, 0x4);
+
+       /* command to WM */
+       ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7921_TXQ_MCU_WM,
+                                 MT7921_TX_MCU_RING_SIZE, MT_TX_RING_BASE);
+       if (ret)
+               return ret;
+
+       /* firmware download */
+       ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_FWDL, MT7921_TXQ_FWDL,
+                                 MT7921_TX_FWDL_RING_SIZE, MT_TX_RING_BASE);
+       if (ret)
+               return ret;
+
+       /* event from WM before firmware download */
+       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU],
+                              MT7921_RXQ_MCU_WM,
+                              MT7921_RX_MCU_RING_SIZE,
+                              MT_RX_BUF_SIZE, MT_RX_EVENT_RING_BASE);
+       if (ret)
+               return ret;
+
+       /* Change mcu queue after firmware download */
+       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU_WA],
+                              MT7921_RXQ_MCU_WM,
+                              MT7921_RX_MCU_RING_SIZE,
+                              MT_RX_BUF_SIZE, MT_WFDMA0(0x540));
+       if (ret)
+               return ret;
+
+       /* rx data */
+       ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MAIN],
+                              MT7921_RXQ_BAND0, MT7921_RX_RING_SIZE,
+                              MT_RX_BUF_SIZE, MT_RX_DATA_RING_BASE);
+       if (ret)
+               return ret;
+
+       ret = mt76_init_queues(dev, mt792x_poll_rx);
+       if (ret < 0)
+               return ret;
+
+       netif_napi_add_tx(&dev->mt76.tx_napi_dev, &dev->mt76.tx_napi,
+                         mt792x_poll_tx);
+       napi_enable(&dev->mt76.tx_napi);
+
+       return mt792x_dma_enable(dev);
+}
+
 static int mt7921_pci_probe(struct pci_dev *pdev,
                            const struct pci_device_id *id)
 {