| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7996/ |
| H A D | mmio.c | 306 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_mmio_wed_init() local 329 wed->wlan.wpdma_int = wed->wlan.phy_base + in mt7996_mmio_wed_init() 331 wed->wlan.wpdma_mask = wed->wlan.phy_base + in mt7996_mmio_wed_init() 333 wed->wlan.wpdma_tx = wed->wlan.phy_base + hif1_ofs + in mt7996_mmio_wed_init() 337 wed->wlan.wpdma_txfree = wed->wlan.phy_base + hif1_ofs + in mt7996_mmio_wed_init() 342 wed->wlan.wpdma_txfree = wed->wlan.phy_base + hif1_ofs + in mt7996_mmio_wed_init() 349 wed->wlan.wpdma_rx = wed->wlan.phy_base + hif1_ofs + in mt7996_mmio_wed_init() 364 wed->wlan.wpdma_rx = wed->wlan.phy_base + in mt7996_mmio_wed_init() 368 wed->wlan.wpdma_rx_rro[0] = wed->wlan.phy_base + in mt7996_mmio_wed_init() 374 wed->wlan.wpdma_rx_pg = wed->wlan.phy_base + in mt7996_mmio_wed_init() [all …]
|
| H A D | dma.c | 221 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_dma_start() local 384 mdev->q_rx[MT_RXQ_RRO_IND].wed = &mdev->mmio.wed; in mt7996_dma_rro_init() 395 mdev->q_rx[MT_RXQ_MSDU_PAGE_BAND0].wed = &mdev->mmio.wed; in mt7996_dma_rro_init() 408 mdev->q_rx[MT_RXQ_MSDU_PAGE_BAND1].wed = &mdev->mmio.wed; in mt7996_dma_rro_init() 444 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_dma_init() local 464 wed); in mt7996_dma_init() 513 dev->mt76.q_rx[MT_RXQ_MAIN].wed = wed; in mt7996_dma_init() 527 dev->mt76.q_rx[MT_RXQ_MAIN_WA].wed = wed; in mt7996_dma_init() 591 dev->mt76.q_rx[MT_RXQ_RRO_BAND0].wed = wed; in mt7996_dma_init() 602 dev->mt76.q_rx[MT_RXQ_TXFREE_BAND0].wed = wed; in mt7996_dma_init() [all …]
|
| H A D | init.c | 444 if (mtk_wed_device_active(wed)) in mt7996_init_wiphy() 626 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_register_phy() local 633 wed = &dev->mt76.mmio.wed_hif2; in mt7996_register_phy() 672 wed); in mt7996_register_phy() 681 if (wed == &dev->mt76.mmio.wed_hif2 && mtk_wed_device_active(wed)) { in mt7996_register_phy() 724 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_wed_rro_init() local 733 if (!mtk_wed_device_active(wed)) in mt7996_wed_rro_init() 767 wed->wlan.ind_cmd.addr_elem_phys[i] = in mt7996_wed_rro_init() 811 wed->wlan.ind_cmd.ack_sn_addr = MT_RRO_ACK_SN_CTRL; in mt7996_wed_rro_init() 843 if (!mtk_wed_device_active(&dev->mt76.mmio.wed)) in mt7996_wed_rro_free() [all …]
|
| H A D | pci.c | 207 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) in mt7996_pci_probe() 208 mtk_wed_device_detach(&dev->mt76.mmio.wed); in mt7996_pci_probe()
|
| H A D | mac.c | 442 mtk_wed_device_ppe_check(&dev->mt76.mmio.wed, skb, in mt7996_wed_check_ppe() 1301 if (mtk_wed_device_active(&dev->mt76.mmio.wed) && wcid->sta) { in mt7996_mac_add_txs_skb() 1754 if (mtk_wed_device_active(&dev->mt76.mmio.wed) && in mt7996_mac_restart() 1770 if (mtk_wed_device_active(&dev->mt76.mmio.wed) && in mt7996_mac_restart() 1951 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) in mt7996_mac_reset_work() 1952 mtk_wed_device_stop(&dev->mt76.mmio.wed); in mt7996_mac_reset_work() 1976 if (mtk_wed_device_active(&dev->mt76.mmio.wed) && in mt7996_mac_reset_work() 2004 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7996_mac_reset_work() 2008 if (mtk_wed_get_rx_capa(&dev->mt76.mmio.wed)) in mt7996_mac_reset_work() 2033 if (mtk_wed_device_active(&dev->mt76.mmio.wed) && in mt7996_mac_reset_work() [all …]
|
| H A D | main.c | 1575 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7996_sta_statistics() 2043 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7996_net_fill_forward_path() local 2066 wed = &dev->mt76.mmio.wed_hif2; in mt7996_net_fill_forward_path() 2068 if (!mtk_wed_device_active(wed)) in mt7996_net_fill_forward_path() 2073 path->mtk_wdma.wdma_idx = wed->wdma_idx; in mt7996_net_fill_forward_path() 2078 path->mtk_wdma.amsdu = mtk_wed_is_amsdu_supported(wed); in mt7996_net_fill_forward_path()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/ |
| H A D | wed.c | 11 struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed); in mt76_wed_release_rx_buf() 34 struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed); in mt76_wed_init_rx_buf() 79 mt76_wed_release_rx_buf(wed); in mt76_wed_init_rx_buf() 87 struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed); in mt76_wed_offload_enable() 90 dev->token_size = wed->wlan.token_start; in mt76_wed_offload_enable() 106 if (!q->wed || !mtk_wed_device_active(q->wed)) in mt76_wed_dma_setup() 130 q->wed_regs = q->wed->txfree_ring.reg_base; in mt76_wed_dma_setup() 171 struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed); in mt76_wed_offload_disable() 181 struct mt76_dev *dev = container_of(wed, struct mt76_dev, mmio.wed); in mt76_wed_reset_complete() 192 struct mtk_wed_device *wed = &phy->dev->mmio.wed; in mt76_wed_net_setup_tc() local [all …]
|
| H A D | mmio.c | 78 if (mtk_wed_device_active(&dev->mmio.wed)) in mt76_set_irq_mask() 79 mtk_wed_device_irq_set_mask(&dev->mmio.wed, in mt76_set_irq_mask()
|
| H A D | dma.c | 16 _val = mtk_wed_device_reg_read((_q)->wed, \ 27 mtk_wed_device_reg_write((_q)->wed, \ 742 if (mtk_wed_device_active(&dev->mmio.wed)) { in mt76_dma_alloc_queue() 743 if ((mtk_wed_get_rx_capa(&dev->mmio.wed) && mt76_queue_is_wed_rro(q)) || in mt76_dma_alloc_queue() 806 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_dma_rx_reset() 1034 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_dma_cleanup() 1044 if (mtk_wed_device_active(&dev->mmio.wed)) in mt76_dma_cleanup() 1045 mtk_wed_device_detach(&dev->mmio.wed); in mt76_dma_cleanup()
|
| H A D | mt76.h | 226 struct mtk_wed_device *wed; member 671 struct mtk_wed_device wed; member 1165 void mt76_wed_release_rx_buf(struct mtk_wed_device *wed); 1166 void mt76_wed_offload_disable(struct mtk_wed_device *wed); 1167 void mt76_wed_reset_complete(struct mtk_wed_device *wed); 1173 u32 mt76_wed_init_rx_buf(struct mtk_wed_device *wed, int size); 1174 int mt76_wed_offload_enable(struct mtk_wed_device *wed); 1182 static inline int mt76_wed_offload_enable(struct mtk_wed_device *wed) in mt76_wed_offload_enable() argument 1253 int ring_base, void *wed, u32 flags); 1255 int n_desc, int ring_base, void *wed, in mt76_init_tx_queue() argument [all …]
|
| H A D | dma.h | 92 if (mtk_wed_device_active(&dev->mmio.wed)) in mt76_dma_reset_tx_queue()
|
| H A D | tx.c | 140 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_tx_status_skb_add() 855 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_token_consume() 856 token >= dev->mmio.wed.wlan.token_start) in mt76_token_consume() 899 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_token_release() 900 token >= dev->mmio.wed.wlan.token_start && in mt76_token_release()
|
| H A D | Makefile | 13 tx.o agg-rx.o mcu.o wed.o scan.o channel.o
|
| H A D | mt76_connac_mac.c | 262 int ring_base, void *wed, u32 flags) in mt76_connac_init_tx_queues() argument 267 wed, flags); in mt76_connac_init_tx_queues() 536 if (is_mt7915(dev) && mtk_wed_device_active(&dev->mmio.wed)) in mt76_connac2_mac_write_txwi() 624 if (mtk_wed_device_active(&dev->mmio.wed) && in mt76_connac2_mac_fill_txs()
|
| /linux-6.15/drivers/net/wireless/mediatek/mt76/mt7915/ |
| H A D | mmio.c | 588 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_update_rx_stats() 608 struct mt76_dev *mdev = container_of(wed, struct mt76_dev, mmio.wed); in mt7915_mmio_wed_reset() 640 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_mmio_wed_init() local 693 wed->wlan.token_start = MT7915_TOKEN_SIZE - wed->wlan.nbuf; in mt7915_mmio_wed_init() 696 wed->wlan.rx_nbuf = 65536; in mt7915_mmio_wed_init() 700 wed->wlan.rx_tbit[0] = 16; in mt7915_mmio_wed_init() 701 wed->wlan.rx_tbit[1] = 17; in mt7915_mmio_wed_init() 703 wed->wlan.rx_tbit[0] = 22; in mt7915_mmio_wed_init() 724 *irq = wed->irq; in mt7915_mmio_wed_init() 826 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_irq_tasklet() local [all …]
|
| H A D | dma.c | 12 struct mtk_wed_device *wed = NULL; in mt7915_init_tx_queues() local 14 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7915_init_tx_queues() 21 wed = &dev->mt76.mmio.wed; in mt7915_init_tx_queues() 25 wed, MT_WED_Q_TX(idx)); in mt7915_init_tx_queues() 498 mdev->q_rx[MT_RXQ_MCU_WA].wed = &mdev->mmio.wed; in mt7915_dma_init() 516 mdev->q_rx[MT_RXQ_MAIN].wed = &mdev->mmio.wed; in mt7915_dma_init() 535 mdev->q_rx[MT_RXQ_MAIN_WA].wed = &mdev->mmio.wed; in mt7915_dma_init() 555 mdev->q_rx[MT_RXQ_BAND1].wed = &mdev->mmio.wed; in mt7915_dma_init() 593 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_dma_reset() local 613 if (mtk_wed_device_active(wed)) in mt7915_dma_reset() [all …]
|
| H A D | pci.c | 193 if (mtk_wed_device_active(&mdev->mmio.wed)) in mt7915_pci_probe() 194 mtk_wed_device_detach(&mdev->mmio.wed); in mt7915_pci_probe()
|
| H A D | main.c | 1181 if (mtk_wed_device_active(&phy->dev->mt76.mmio.wed)) { in mt7915_sta_statistics() 1190 if (mtk_wed_get_rx_capa(&phy->dev->mt76.mmio.wed)) { in mt7915_sta_statistics() 1724 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_net_fill_forward_path() local 1726 if (!mtk_wed_device_active(wed)) in mt7915_net_fill_forward_path() 1734 path->mtk_wdma.wdma_idx = wed->wdma_idx; in mt7915_net_fill_forward_path()
|
| /linux-6.15/Documentation/devicetree/bindings/arm/mediatek/ |
| H A D | mediatek,mt7622-wed.yaml | 4 $id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7622-wed.yaml# 22 - mediatek,mt7622-wed 23 - mediatek,mt7981-wed 24 - mediatek,mt7986-wed 25 - mediatek,mt7988-wed 52 description: mediatek wed-wo controller interface. 59 const: mediatek,mt7622-wed 80 wed0: wed@1020a000 { 81 compatible = "mediatek,mt7622-wed","syscon"; 94 wed@15010000 { [all …]
|
| H A D | mediatek,mt7986-wed-pcie.yaml | 4 $id: http://devicetree.org/schemas/arm/mediatek/mediatek,mt7986-wed-pcie.yaml# 21 - mediatek,mt7986-wed-pcie 38 wed_pcie: wed-pcie@10003000 { 39 compatible = "mediatek,mt7986-wed-pcie",
|
| /linux-6.15/include/linux/soc/mediatek/ |
| H A D | mtk_wed.h | 182 int (*offload_enable)(struct mtk_wed_device *wed); 183 void (*offload_disable)(struct mtk_wed_device *wed); 184 u32 (*init_rx_buf)(struct mtk_wed_device *wed, int size); 185 void (*release_rx_buf)(struct mtk_wed_device *wed); 186 void (*update_wo_rx_stats)(struct mtk_wed_device *wed, 188 int (*reset)(struct mtk_wed_device *wed); 189 void (*reset_complete)(struct mtk_wed_device *wed); 217 int (*setup_tc)(struct mtk_wed_device *wed, struct net_device *dev,
|
| /linux-6.15/Documentation/devicetree/bindings/net/ |
| H A D | mediatek,net.yaml | 97 mediatek,wed: 106 mediatek,wed-pcie: 109 Phandle to the mediatek wed-pcie controller. 151 mediatek,wed: false 153 mediatek,wed-pcie: false 180 mediatek,wed: false 182 mediatek,wed-pcie: false 219 mediatek,wed-pcie: false 263 mediatek,wed: false 265 mediatek,wed-pcie: false
|
| /linux-6.15/arch/arm64/boot/dts/mediatek/ |
| H A D | mt7986a.dtsi | 150 wed_pcie: wed-pcie@10003000 { 151 compatible = "mediatek,mt7986-wed-pcie", 498 wed0: wed@15010000 { 499 compatible = "mediatek,mt7986-wed", 511 wed1: wed@15011000 { 512 compatible = "mediatek,mt7986-wed", 560 mediatek,wed-pcie = <&wed_pcie>; 561 mediatek,wed = <&wed0>, <&wed1>;
|
| H A D | mt7622.dtsi | 950 wed0: wed@1020a000 { 951 compatible = "mediatek,mt7622-wed", 957 wed1: wed@1020b000 { 958 compatible = "mediatek,mt7622-wed", 989 mediatek,wed = <&wed0>, <&wed1>;
|
| /linux-6.15/drivers/net/ethernet/mediatek/ |
| H A D | mtk_wed_mcu.c | 81 mtk_wed_update_rx_stats(struct mtk_wed_device *wed, struct sk_buff *skb) in mtk_wed_update_rx_stats() argument 87 if (!wed->wlan.update_wo_rx_stats) in mtk_wed_update_rx_stats() 95 wed->wlan.update_wo_rx_stats(wed, &stats[i]); in mtk_wed_update_rx_stats()
|