mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
net: mediatek: wed: Introduce MT7992 WED support to MT7988 SoC
Introduce the second WDMA RX ring in WED driver for MT7988 SoC since the Mediatek MT7992 WiFi chipset supports two separated WDMA rings. Add missing MT7988 configurations to properly support WED for MT7992 in MT76 driver. Co-developed-by: Rex Lu <[email protected]> Signed-off-by: Rex Lu <[email protected]> Signed-off-by: Lorenzo Bianconi <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
This commit is contained in:
committed by
Felix Fietkau
parent
ef2468830f
commit
29bca0ca46
+3
-3
@@ -664,8 +664,8 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
|
||||
MT_RXQ_WED_RING_BASE;
|
||||
wed->wlan.wpdma_rx_glo = pci_resource_start(pci_dev, 0) +
|
||||
MT_WPDMA_GLO_CFG;
|
||||
wed->wlan.wpdma_rx = pci_resource_start(pci_dev, 0) +
|
||||
MT_RXQ_WED_DATA_RING_BASE;
|
||||
wed->wlan.wpdma_rx[0] = pci_resource_start(pci_dev, 0) +
|
||||
MT_RXQ_WED_DATA_RING_BASE;
|
||||
} else {
|
||||
struct platform_device *plat_dev = pdev_ptr;
|
||||
struct resource *res;
|
||||
@@ -687,7 +687,7 @@ int mt7915_mmio_wed_init(struct mt7915_dev *dev, void *pdev_ptr,
|
||||
wed->wlan.wpdma_tx = res->start + MT_TXQ_WED_RING_BASE;
|
||||
wed->wlan.wpdma_txfree = res->start + MT_RXQ_WED_RING_BASE;
|
||||
wed->wlan.wpdma_rx_glo = res->start + MT_WPDMA_GLO_CFG;
|
||||
wed->wlan.wpdma_rx = res->start + MT_RXQ_WED_DATA_RING_BASE;
|
||||
wed->wlan.wpdma_rx[0] = res->start + MT_RXQ_WED_DATA_RING_BASE;
|
||||
}
|
||||
wed->wlan.nbuf = MT7915_HW_TOKEN_SIZE;
|
||||
wed->wlan.tx_tbit[0] = is_mt7915(&dev->mt76) ? 4 : 30;
|
||||
|
||||
+6
-6
@@ -503,9 +503,9 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
|
||||
}
|
||||
|
||||
wed->wlan.wpdma_rx_glo = wed->wlan.phy_base + hif1_ofs + MT_WFDMA0_GLO_CFG;
|
||||
wed->wlan.wpdma_rx = wed->wlan.phy_base + hif1_ofs +
|
||||
MT_RXQ_RING_BASE(MT7996_RXQ_BAND0) +
|
||||
MT7996_RXQ_BAND0 * MT_RING_SIZE;
|
||||
wed->wlan.wpdma_rx[0] = wed->wlan.phy_base + hif1_ofs +
|
||||
MT_RXQ_RING_BASE(MT7996_RXQ_BAND0) +
|
||||
MT7996_RXQ_BAND0 * MT_RING_SIZE;
|
||||
|
||||
wed->wlan.id = MT7996_DEVICE_ID_2;
|
||||
wed->wlan.tx_tbit[0] = ffs(MT_INT_TX_DONE_BAND2) - 1;
|
||||
@@ -518,9 +518,9 @@ int mt7996_mmio_wed_init(struct mt7996_dev *dev, void *pdev_ptr,
|
||||
|
||||
wed->wlan.wpdma_rx_glo = wed->wlan.phy_base + MT_WFDMA0_GLO_CFG;
|
||||
|
||||
wed->wlan.wpdma_rx = wed->wlan.phy_base +
|
||||
MT_RXQ_RING_BASE(MT7996_RXQ_BAND0) +
|
||||
MT7996_RXQ_BAND0 * MT_RING_SIZE;
|
||||
wed->wlan.wpdma_rx[0] = wed->wlan.phy_base +
|
||||
MT_RXQ_RING_BASE(MT7996_RXQ_BAND0) +
|
||||
MT7996_RXQ_BAND0 * MT_RING_SIZE;
|
||||
|
||||
wed->wlan.wpdma_rx_rro[0] = wed->wlan.phy_base +
|
||||
MT_RXQ_RING_BASE(MT7996_RXQ_RRO_BAND0) +
|
||||
|
||||
Reference in New Issue
Block a user