Lines Matching full:wed
581 static void mt7915_mmio_wed_update_rx_stats(struct mtk_wed_device *wed, in mt7915_mmio_wed_update_rx_stats() argument
588 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_update_rx_stats()
606 static int mt7915_mmio_wed_reset(struct mtk_wed_device *wed) in mt7915_mmio_wed_reset() argument
608 struct mt76_dev *mdev = container_of(wed, struct mt76_dev, mmio.wed); in mt7915_mmio_wed_reset()
625 dev_err(mdev->dev, "wed reset timeout\n"); in mt7915_mmio_wed_reset()
640 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_mmio_wed_init() local
649 wed->wlan.pci_dev = pci_dev; in mt7915_mmio_wed_init()
650 wed->wlan.bus_type = MTK_WED_BUS_PCIE; in mt7915_mmio_wed_init()
651 wed->wlan.base = devm_ioremap(dev->mt76.dev, in mt7915_mmio_wed_init()
654 wed->wlan.phy_base = pci_resource_start(pci_dev, 0); in mt7915_mmio_wed_init()
655 wed->wlan.wpdma_int = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
657 wed->wlan.wpdma_mask = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
659 wed->wlan.wpdma_phys = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
661 wed->wlan.wpdma_tx = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
663 wed->wlan.wpdma_txfree = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
665 wed->wlan.wpdma_rx_glo = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
667 wed->wlan.wpdma_rx = pci_resource_start(pci_dev, 0) + in mt7915_mmio_wed_init()
677 wed->wlan.platform_dev = plat_dev; in mt7915_mmio_wed_init()
678 wed->wlan.bus_type = MTK_WED_BUS_AXI; in mt7915_mmio_wed_init()
679 wed->wlan.base = devm_ioremap(dev->mt76.dev, res->start, in mt7915_mmio_wed_init()
681 wed->wlan.phy_base = res->start; in mt7915_mmio_wed_init()
682 wed->wlan.wpdma_int = res->start + MT_INT_SOURCE_CSR; in mt7915_mmio_wed_init()
683 wed->wlan.wpdma_mask = res->start + MT_INT_MASK_CSR; in mt7915_mmio_wed_init()
684 wed->wlan.wpdma_tx = res->start + MT_TXQ_WED_RING_BASE; in mt7915_mmio_wed_init()
685 wed->wlan.wpdma_txfree = res->start + MT_RXQ_WED_RING_BASE; in mt7915_mmio_wed_init()
686 wed->wlan.wpdma_rx_glo = res->start + MT_WPDMA_GLO_CFG; in mt7915_mmio_wed_init()
687 wed->wlan.wpdma_rx = res->start + MT_RXQ_WED_DATA_RING_BASE; in mt7915_mmio_wed_init()
689 wed->wlan.nbuf = MT7915_HW_TOKEN_SIZE; in mt7915_mmio_wed_init()
690 wed->wlan.tx_tbit[0] = is_mt7915(&dev->mt76) ? 4 : 30; in mt7915_mmio_wed_init()
691 wed->wlan.tx_tbit[1] = is_mt7915(&dev->mt76) ? 5 : 31; in mt7915_mmio_wed_init()
692 wed->wlan.txfree_tbit = is_mt798x(&dev->mt76) ? 2 : 1; in mt7915_mmio_wed_init()
693 wed->wlan.token_start = MT7915_TOKEN_SIZE - wed->wlan.nbuf; in mt7915_mmio_wed_init()
694 wed->wlan.wcid_512 = !is_mt7915(&dev->mt76); in mt7915_mmio_wed_init()
696 wed->wlan.rx_nbuf = 65536; in mt7915_mmio_wed_init()
697 wed->wlan.rx_npkt = MT7915_WED_RX_TOKEN_SIZE; in mt7915_mmio_wed_init()
698 wed->wlan.rx_size = SKB_WITH_OVERHEAD(MT_RX_BUF_SIZE); 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()
704 wed->wlan.rx_tbit[1] = 23; in mt7915_mmio_wed_init()
706 wed->wlan.rx_tbit[0] = 18; in mt7915_mmio_wed_init()
707 wed->wlan.rx_tbit[1] = 19; in mt7915_mmio_wed_init()
710 wed->wlan.init_buf = mt7915_wed_init_buf; in mt7915_mmio_wed_init()
711 wed->wlan.offload_enable = mt76_wed_offload_enable; in mt7915_mmio_wed_init()
712 wed->wlan.offload_disable = mt76_wed_offload_disable; in mt7915_mmio_wed_init()
713 wed->wlan.init_rx_buf = mt76_wed_init_rx_buf; in mt7915_mmio_wed_init()
714 wed->wlan.release_rx_buf = mt76_wed_release_rx_buf; in mt7915_mmio_wed_init()
715 wed->wlan.update_wo_rx_stats = mt7915_mmio_wed_update_rx_stats; in mt7915_mmio_wed_init()
716 wed->wlan.reset = mt7915_mmio_wed_reset; in mt7915_mmio_wed_init()
717 wed->wlan.reset_complete = mt76_wed_reset_complete; in mt7915_mmio_wed_init()
719 dev->mt76.rx_token_size = wed->wlan.rx_npkt; in mt7915_mmio_wed_init()
721 if (mtk_wed_device_attach(wed)) in mt7915_mmio_wed_init()
724 *irq = wed->irq; in mt7915_mmio_wed_init()
725 dev->mt76.dma_dev = wed->dev; in mt7915_mmio_wed_init()
727 ret = dma_set_mask(wed->dev, DMA_BIT_MASK(32)); in mt7915_mmio_wed_init()
803 if (mtk_wed_device_active(&mdev->mmio.wed)) in mt7915_dual_hif_set_irq_mask()
804 mtk_wed_device_irq_set_mask(&mdev->mmio.wed, in mt7915_dual_hif_set_irq_mask()
826 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_irq_tasklet() local
829 if (mtk_wed_device_active(wed)) { in mt7915_irq_tasklet()
830 mtk_wed_device_irq_set_mask(wed, 0); in mt7915_irq_tasklet()
833 intr = mtk_wed_device_irq_get(wed, dev->mt76.mmio.irqmask); in mt7915_irq_tasklet()
896 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_irq_handler() local
898 if (mtk_wed_device_active(wed)) in mt7915_irq_handler()
899 mtk_wed_device_irq_set_mask(wed, 0); in mt7915_irq_handler()