Lines Matching refs:mt76

420 	if (is_mt7986(&dev->mt76))  in mt7915_reg_map_l1()
423 l1_remap = is_mt7915(&dev->mt76) ? in mt7915_reg_map_l1()
426 dev->bus_ops->rmw(&dev->mt76, l1_remap, in mt7915_reg_map_l1()
430 dev->bus_ops->rr(&dev->mt76, l1_remap); in mt7915_reg_map_l1()
439 if (is_mt7915(&dev->mt76)) { in mt7915_reg_map_l2()
443 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L2, in mt7915_reg_map_l2()
448 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L2); in mt7915_reg_map_l2()
450 u32 ofs = is_mt7986(&dev->mt76) ? 0x400000 : 0; in mt7915_reg_map_l2()
455 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L2_MT7916 + ofs, in mt7915_reg_map_l2()
460 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L2_MT7916 + ofs); in mt7915_reg_map_l2()
476 dev_err(dev->mt76.dev, "err: reg_map is null\n"); in __mt7915_reg_addr()
498 if (dev_is_pci(dev->mt76.dev) && in __mt7915_reg_addr()
517 memcpy_fromio(buf, dev->mt76.mmio.regs + addr, len); in mt7915_memcpy_fromio()
522 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_rr()
530 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_wr()
538 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_rmw()
551 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_offload_enable()
553 spin_lock_bh(&dev->mt76.token_lock); in mt7915_mmio_wed_offload_enable()
554 dev->mt76.token_size = wed->wlan.token_start; in mt7915_mmio_wed_offload_enable()
555 spin_unlock_bh(&dev->mt76.token_lock); in mt7915_mmio_wed_offload_enable()
557 ret = wait_event_timeout(dev->mt76.tx_wait, in mt7915_mmio_wed_offload_enable()
558 !dev->mt76.wed_token_count, HZ); in mt7915_mmio_wed_offload_enable()
563 mt76_set(dev, MT_AGG_ACR4(phy->mt76->band_idx), MT_AGG_ACR_PPDU_TXS2H); in mt7915_mmio_wed_offload_enable()
565 phy = dev->mt76.phys[MT_BAND1] ? dev->mt76.phys[MT_BAND1]->priv : NULL; in mt7915_mmio_wed_offload_enable()
567 mt76_set(dev, MT_AGG_ACR4(phy->mt76->band_idx), in mt7915_mmio_wed_offload_enable()
578 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_offload_disable()
580 spin_lock_bh(&dev->mt76.token_lock); in mt7915_mmio_wed_offload_disable()
581 dev->mt76.token_size = MT7915_TOKEN_SIZE; in mt7915_mmio_wed_offload_disable()
582 spin_unlock_bh(&dev->mt76.token_lock); in mt7915_mmio_wed_offload_disable()
588 mt76_clear(dev, MT_AGG_ACR4(phy->mt76->band_idx), MT_AGG_ACR_PPDU_TXS2H); in mt7915_mmio_wed_offload_disable()
590 phy = dev->mt76.phys[MT_BAND1] ? dev->mt76.phys[MT_BAND1]->priv : NULL; in mt7915_mmio_wed_offload_disable()
592 mt76_clear(dev, MT_AGG_ACR4(phy->mt76->band_idx), in mt7915_mmio_wed_offload_disable()
601 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_release_rx_buf()
602 for (i = 0; i < dev->mt76.rx_token_size; i++) { in mt7915_mmio_wed_release_rx_buf()
605 t = mt76_rx_token_release(&dev->mt76, i); in mt7915_mmio_wed_release_rx_buf()
612 mt76_put_rxwi(&dev->mt76, t); in mt7915_mmio_wed_release_rx_buf()
615 mt76_free_pending_rxwi(&dev->mt76); in mt7915_mmio_wed_release_rx_buf()
626 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_init_rx_buf()
627 q = &dev->mt76.q_rx[MT_RXQ_MAIN]; in mt7915_mmio_wed_init_rx_buf()
637 t = mt76_get_rxwi(&dev->mt76); in mt7915_mmio_wed_init_rx_buf()
647 dma_sync_single_for_device(dev->mt76.dma_dev, addr, len, dir); in mt7915_mmio_wed_init_rx_buf()
650 token = mt76_rx_token_consume(&dev->mt76, buf, t, addr); in mt7915_mmio_wed_init_rx_buf()
665 mt76_put_rxwi(&dev->mt76, t); in mt7915_mmio_wed_init_rx_buf()
677 dev = container_of(wed, struct mt7915_dev, mt76.mmio.wed); in mt7915_mmio_wed_update_rx_stats()
684 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7915_mmio_wed_update_rx_stats()
698 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mmio_wed_reset()
736 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_mmio_wed_init()
747 wed->wlan.base = devm_ioremap(dev->mt76.dev, in mt7915_mmio_wed_init()
775 wed->wlan.base = devm_ioremap(dev->mt76.dev, res->start, in mt7915_mmio_wed_init()
786 wed->wlan.tx_tbit[0] = is_mt7915(&dev->mt76) ? 4 : 30; in mt7915_mmio_wed_init()
787 wed->wlan.tx_tbit[1] = is_mt7915(&dev->mt76) ? 5 : 31; in mt7915_mmio_wed_init()
788 wed->wlan.txfree_tbit = is_mt7986(&dev->mt76) ? 2 : 1; in mt7915_mmio_wed_init()
790 wed->wlan.wcid_512 = !is_mt7915(&dev->mt76); in mt7915_mmio_wed_init()
795 if (is_mt7915(&dev->mt76)) { in mt7915_mmio_wed_init()
798 } else if (is_mt7986(&dev->mt76)) { in mt7915_mmio_wed_init()
815 dev->mt76.rx_token_size = wed->wlan.rx_npkt; in mt7915_mmio_wed_init()
821 dev->mt76.dma_dev = wed->dev; in mt7915_mmio_wed_init()
840 dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mmio_init()
841 mt76_mmio_init(&dev->mt76, mem_base); in mt7915_mmio_init()
866 dev->bus_ops = dev->mt76.bus; in mt7915_mmio_init()
867 bus_ops = devm_kmemdup(dev->mt76.dev, dev->bus_ops, sizeof(*bus_ops), in mt7915_mmio_init()
875 dev->mt76.bus = bus_ops; in mt7915_mmio_init()
888 struct mt76_dev *mdev = &dev->mt76; in mt7915_dual_hif_set_irq_mask()
911 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_rx_poll_complete()
920 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_irq_tasklet()
927 intr = mtk_wed_device_irq_get(wed, dev->mt76.mmio.irqmask); in mt7915_irq_tasklet()
934 intr &= dev->mt76.mmio.irqmask; in mt7915_irq_tasklet()
940 intr1 &= dev->mt76.mmio.irqmask; in mt7915_irq_tasklet()
946 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); in mt7915_irq_tasklet()
955 napi_schedule(&dev->mt76.tx_napi); in mt7915_irq_tasklet()
958 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN]); in mt7915_irq_tasklet()
961 napi_schedule(&dev->mt76.napi[MT_RXQ_BAND1]); in mt7915_irq_tasklet()
964 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); in mt7915_irq_tasklet()
967 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt7915_irq_tasklet()
969 if (!is_mt7915(&dev->mt76) && in mt7915_irq_tasklet()
971 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN_WA]); in mt7915_irq_tasklet()
974 napi_schedule(&dev->mt76.napi[MT_RXQ_BAND1_WA]); in mt7915_irq_tasklet()
990 struct mtk_wed_device *wed = &dev->mt76.mmio.wed; in mt7915_irq_handler()
1038 dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mmio_probe()
1049 mt76_free_device(&dev->mt76); in mt7915_mmio_probe()