/linux-master/drivers/net/wireless/mediatek/ |
H A D | Makefile | 3 obj-$(CONFIG_MT76_CORE) += mt76/
|
/linux-master/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A D | sdio_mac.c | 35 struct mt76_sdio *sdio = &dev->mt76.sdio; 58 readx_poll_timeout(mt7921s_read_whcr, &dev->mt76, status, 78 wake_up(&dev->mt76.mcu.wait); 79 skb_queue_purge(&dev->mt76.mcu.res_q); 80 wait_event_timeout(dev->mt76.sdio.wait, 81 mt76s_txqs_empty(&dev->mt76), 5 * HZ); 82 mt76_worker_disable(&dev->mt76.sdio.txrx_worker); 84 mt7921s_disable_irq(&dev->mt76); 87 mt76_worker_enable(&dev->mt76.sdio.txrx_worker); 89 mt7921s_enable_irq(&dev->mt76); [all...] |
H A D | pci_mac.c | 13 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); 25 wcid = &dev->mt76.global_wcid; 68 wake_up(&dev->mt76.mcu.wait); 69 skb_queue_purge(&dev->mt76.mcu.res_q); 73 mt76_worker_disable(&dev->mt76.tx_worker); 74 napi_disable(&dev->mt76.napi[MT_RXQ_MAIN]); 75 napi_disable(&dev->mt76.napi[MT_RXQ_MCU]); 76 napi_disable(&dev->mt76.napi[MT_RXQ_MCU_WA]); 77 napi_disable(&dev->mt76.tx_napi); 79 mt76_connac2_tx_token_put(&dev->mt76); [all...] |
H A D | sdio_mcu.c | 19 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); 56 struct mt76_sdio *sdio = &dev->mt76.sdio; 63 struct mt76_sdio *sdio = &dev->mt76.sdio; 89 dev->mt76.mcu_ops = &mt7921s_mcu_ops; 102 struct sdio_func *func = dev->mt76.sdio.func; 103 struct mt76_phy *mphy = &dev->mt76.phy; 112 err = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, status, 123 dev_err(dev->mt76.dev, "driver own failed\n"); 138 struct sdio_func *func = dev->mt76.sdio.func; 139 struct mt76_phy *mphy = &dev->mt76 [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt7603/ |
H A D | core.c | 8 struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); 24 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); 26 intr &= dev->mt76.mmio.irqmask; 33 tasklet_schedule(&dev->mt76.pre_tbtt_tasklet); 35 if ((hwintr & MT_HW_INT3_TBTT0) && dev->mt76.csa_complete) 36 mt76_csa_finish(&dev->mt76); 41 napi_schedule(&dev->mt76.tx_napi); 47 napi_schedule(&dev->mt76.napi[0]); 53 napi_schedule(&dev->mt76 [all...] |
H A D | eeprom.c | 51 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); 52 dev->mt76.otp.size = len; 53 if (!dev->mt76.otp.data) 56 buf = dev->mt76.otp.data; 104 struct device_node *np = dev->mt76.dev->of_node; 105 u8 *eeprom = dev->mt76.eeprom.data; 130 ret = mt76_eeprom_init(&dev->mt76, MT7603_EEPROM_SIZE); 165 if (dev->mt76.otp.data) { 166 if (mt7603_check_eeprom(&dev->mt76) [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt7925/ |
H A D | pci_mac.c | 13 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); 25 wcid = &dev->mt76.global_wcid; 61 spin_lock_bh(&dev->mt76.token_lock); 62 idr_for_each_entry(&dev->mt76.token, txwi, id) { 64 dev->mt76.token_count--; 66 spin_unlock_bh(&dev->mt76.token_lock); 67 idr_destroy(&dev->mt76.token); 84 wake_up(&dev->mt76.mcu.wait); 85 skb_queue_purge(&dev->mt76.mcu.res_q); 89 mt76_worker_disable(&dev->mt76 [all...] |
H A D | pci_mcu.c | 11 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); 36 dev->mt76.mcu_ops = &mt7925_mcu_ops; 50 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_FWDL], false);
|
/linux-master/drivers/net/wireless/mediatek/mt76/mt7915/ |
H A D | eeprom.c | 10 struct mt76_dev *mdev = &dev->mt76; 12 u32 offs = is_mt7915(&dev->mt76) ? MT_EE_DO_PRE_CAL : MT_EE_DO_PRE_CAL_V2; 25 offs = is_mt7915(&dev->mt76) ? MT_EE_PRECAL : MT_EE_PRECAL_V2; 44 u8 *eeprom = dev->mt76.eeprom.data; 50 return CHECK_EEPROM_ERR(is_mt7915(&dev->mt76)); 52 return CHECK_EEPROM_ERR(is_mt7916(&dev->mt76)); 54 return CHECK_EEPROM_ERR(is_mt7981(&dev->mt76)); 56 return CHECK_EEPROM_ERR(is_mt7986(&dev->mt76)); 64 switch (mt76_chip(&dev->mt76)) { 95 u8 *eeprom = dev->mt76 [all...] |
H A D | main.c | 20 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); 33 ret = mt76_connac_mcu_set_pm(&dev->mt76, 34 dev->phy.mt76->band_idx, 0); 38 ret = mt7915_mcu_set_mac(dev, dev->phy.mt76->band_idx, 43 mt7915_mac_enable_nf(dev, dev->phy.mt76->band_idx); 47 ret = mt76_connac_mcu_set_pm(&dev->mt76, 48 phy->mt76->band_idx, 0); 52 ret = mt7915_mcu_set_mac(dev, phy->mt76->band_idx, 57 mt7915_mac_enable_nf(dev, phy->mt76->band_idx); 71 ret = mt76_connac_mcu_set_rts_thresh(&dev->mt76, [all...] |
H A D | dma.c | 14 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { 15 if (is_mt798x(&dev->mt76)) 21 wed = &dev->mt76.mmio.wed; 24 return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, ring_base, 32 dev = container_of(napi, struct mt7915_dev, mt76.tx_napi); 34 mt76_connac_tx_cleanup(&dev->mt76); 54 if (is_mt7915(&dev->mt76)) { 87 if (is_mt7916(&dev->mt76) && mtk_wed_device_active(&dev->mt76.mmio.wed)) { 139 if (!is_mt7915(&dev->mt76)) { [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/ |
H A D | mt76x02_mmio.c | 16 struct mt76x02_dev *dev = from_tasklet(dev, t, mt76.pre_tbtt_tasklet); 17 struct mt76_dev *mdev = &dev->mt76; 78 tasklet_enable(&dev->mt76.pre_tbtt_tasklet); 80 tasklet_disable(&dev->mt76.pre_tbtt_tasklet); 143 dev = container_of(w, struct mt76x02_dev, mt76.tx_worker); 154 mt76.tx_napi); 159 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); 166 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); 170 mt76_worker_schedule(&dev->mt76.tx_worker); 185 status_fifo = devm_kzalloc(dev->mt76 [all...] |
H A D | Makefile | 2 obj-$(CONFIG_MT76_CORE) += mt76.o 3 obj-$(CONFIG_MT76_USB) += mt76-usb.o 4 obj-$(CONFIG_MT76_SDIO) += mt76-sdio.o 7 obj-$(CONFIG_MT76_CONNAC_LIB) += mt76-connac-lib.o 11 mt76-y := \ 15 mt76-$(CONFIG_PCI) += pci.o 16 mt76-$(CONFIG_NL80211_TESTMODE) += testmode.o 18 mt76-usb-y := usb.o usb_trace.o 19 mt76-sdio-y := sdio.o sdio_txrx.o 33 mt76 [all...] |
H A D | mt792x_dma.c | 15 if (test_bit(MT76_REMOVED, &dev->mt76.phy.state)) 22 tasklet_schedule(&dev->mt76.irq_tasklet); 37 intr &= dev->mt76.mmio.irqmask; 40 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); 60 mt76_set_irq_mask(&dev->mt76, irq_map->host_irq_enable, mask, 0); 63 napi_schedule(&dev->mt76.tx_napi); 66 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); 69 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); 72 napi_schedule(&dev->mt76 [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt7615/ |
H A D | pci_init.c | 45 if (is_mt7663(&dev->mt76)) { 58 idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7615_WTBL_STA - 1); 62 dev->mt76.global_wcid.idx = idx; 63 dev->mt76.global_wcid.hw_key_idx = -1; 64 rcu_assign_pointer(dev->mt76.wcid[idx], &dev->mt76.global_wcid); 90 ret = mt76_register_device(&dev->mt76, true, mt76_rates, 119 mt76_unregister_device(&dev->mt76); 125 tasklet_disable(&dev->mt76.irq_tasklet); 127 mt76_free_device(&dev->mt76); [all...] |
H A D | pci_mac.c | 65 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); 76 wcid = &dev->mt76.global_wcid; 85 spin_lock_bh(&dev->mt76.lock); 88 spin_unlock_bh(&dev->mt76.lock); 104 if (is_mt7615(&dev->mt76)) 128 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[i], true); 130 mt76_for_each_q_rx(&dev->mt76, i) 133 mt76_tx_status_check(&dev->mt76, true); 144 if (is_mt7663(&dev->mt76)) 186 struct mt76_phy *mphy_ext = dev->mt76 [all...] |
H A D | sdio_mcu.c | 21 struct mt76_sdio *sdio = &dev->mt76.sdio; 42 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); 57 struct sdio_func *func = dev->mt76.sdio.func; 58 struct mt76_phy *mphy = &dev->mt76.phy; 67 ret = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, status, 70 dev_err(dev->mt76.dev, "Cannot get ownership from device"); 85 struct mt76_phy *mphy = &dev->mt76.phy; 100 struct sdio_func *func = dev->mt76.sdio.func; 101 struct mt76_phy *mphy = &dev->mt76.phy; 115 ret = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, statu [all...] |
H A D | main.c | 24 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); 47 ret = mt76_connac_mcu_set_mac_enable(&dev->mt76, 0, true, false); 59 ret = mt76_connac_mcu_set_mac_enable(&dev->mt76, 1, true, false); 67 ret = mt76_connac_mcu_set_channel_domain(phy->mt76); 71 ret = mt76_connac_mcu_set_rate_txpower(phy->mt76); 80 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); 83 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, timeout); 99 cancel_delayed_work_sync(&phy->mt76->mac_work); 110 mt76_testmode_reset(phy->mt76, true); 112 clear_bit(MT76_STATE_RUNNING, &phy->mt76 [all...] |
H A D | eeprom.c | 50 if (is_mt7663(&dev->mt76)) 57 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); 58 dev->mt76.otp.size = len; 59 if (!dev->mt76.otp.data) 62 buf = dev->mt76.otp.data; 80 ret = mt76_eeprom_init(&dev->mt76, MT7615_EEPROM_FULL_SIZE); 104 u8 val, *eeprom = dev->mt76.eeprom.data; 106 if (is_mt7663(&dev->mt76)) { 113 if (is_mt7622(&dev->mt76)) { [all...] |
H A D | mcu.c | 73 dev->mt76.mcu.timeout = 20 * HZ; 75 seq = ++dev->mt76.mcu.msg_seq & 0xf; 77 seq = ++dev->mt76.mcu.msg_seq & 0xf; 187 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); 196 return mt76_tx_queue_skb_raw(dev, dev->mt76.q_mcu[qid], skb, 0); 210 return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_QUERY(RF_REG_ACCESS), 226 return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD(RF_REG_ACCESS), 232 if (!is_mt7622(&dev->mt76)) 243 struct mt76_phy *mphy = &dev->mt76.phy; 245 struct mt76_dev *mdev = &dev->mt76; [all...] |
H A D | usb_mcu.c | 20 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); 36 ret = mt76u_bulk_msg(&dev->mt76, skb->data, skb->len, NULL, 49 ret = mt76u_vendor_request(&dev->mt76, MT_VEND_POWER_ON, 58 dev_err(dev->mt76.dev, "Timeout for power on\n"); 75 dev->mt76.mcu_ops = &mt7663u_mcu_ops, 79 ret = mt7615_mcu_restart(&dev->mt76);
|
H A D | dma.c | 40 return mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7622_TXQ_MCU, 49 ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_FWDL, MT7615_TXQ_FWDL, 54 if (!is_mt7615(&dev->mt76)) 62 return mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7615_TXQ_MCU, 70 dev = container_of(napi, struct mt7615_dev, mt76.tx_napi); 73 queue_work(dev->mt76.wq, &dev->pm.wake_work); 77 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); 79 mt76_connac_irq_enable(&dev->mt76, 92 dev = container_of(napi->dev, struct mt7615_dev, mt76.napi_dev); 96 queue_work(dev->mt76 [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt7996/ |
H A D | eeprom.c | 12 u8 *eeprom = dev->mt76.eeprom.data; 17 return is_mt7996(&dev->mt76) ? 0 : -EINVAL; 19 return is_mt7992(&dev->mt76) ? 0 : -EINVAL; 27 switch (mt76_chip(&dev->mt76)) { 40 u8 *eeprom = dev->mt76.eeprom.data; 44 ret = request_firmware(&fw, mt7996_eeprom_name(dev), dev->mt76.dev); 49 dev_err(dev->mt76.dev, "Invalid default bin\n"); 67 ret = mt76_eeprom_init(&dev->mt76, MT7996_EEPROM_SIZE); 115 is_mt7992(&dev->mt76)) 123 u8 *eeprom = phy->dev->mt76 [all...] |
H A D | main.c | 18 if (phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) 23 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); 39 if (is_mt7992(&dev->mt76)) { 48 mt7996_mac_enable_nf(dev, phy->mt76->band_idx); 70 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); 72 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, 89 mutex_lock(&dev->mt76.mutex); 91 mutex_unlock(&dev->mt76.mutex); 101 cancel_delayed_work_sync(&phy->mt76->mac_work); 103 mutex_lock(&dev->mt76 [all...] |
/linux-master/drivers/net/wireless/mediatek/mt76/mt76x0/ |
H A D | main.c | 16 if (mt76_is_mmio(&dev->mt76)) 25 if (mt76_is_mmio(&dev->mt76)) { 41 mutex_lock(&dev->mt76.mutex); 54 mutex_unlock(&dev->mt76.mutex); 64 mutex_lock(&dev->mt76.mutex); 85 dev->mt76.rxfilter |= MT_RX_FILTR_CFG_PROMISC; 87 dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_PROMISC; 89 mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); 92 mutex_unlock(&dev->mt76.mutex);
|