| /linux/drivers/net/wireless/mediatek/mt76/mt7996/ |
| H A D | npu.c | 14 phys_addr_t phy_addr = dev->mt76.mmio.phy_addr; in mt7996_npu_offload_init() 21 dev_warn(dev->mt76.dev, "failed getting NPU fw version\n"); in mt7996_npu_offload_init() 25 dev_info(dev->mt76.dev, "NPU version: %0d.%d\n", in mt7996_npu_offload_init() 29 dev->mt76.mmio.npu_type, GFP_KERNEL); in mt7996_npu_offload_init() 31 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() 50 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() 58 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() 73 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() 83 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() 91 dev_warn(dev->mt76.dev, in mt7996_npu_offload_init() [all …]
|
| H A D | dma.c | 20 if (wed == &dev->mt76.mmio.wed_hif2) in mt7996_init_tx_queues() 26 if (mt76_npu_device_active(&dev->mt76)) in mt7996_init_tx_queues() 27 flags = MT_NPU_Q_TX(phy->mt76->band_idx); in mt7996_init_tx_queues() 29 return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, in mt7996_init_tx_queues() 37 dev = container_of(napi, struct mt7996_dev, mt76.tx_napi); in mt7996_poll_tx() 39 mt76_connac_tx_cleanup(&dev->mt76); in mt7996_poll_tx() 68 switch (mt76_chip(&dev->mt76)) { in mt7996_dma_config() 93 if (dev->mt76.hwrro_mode == MT76_HWRRO_V3) in mt7996_dma_config() 97 if (is_mt7996(&dev->mt76)) { in mt7996_dma_config() 119 if (dev->mt76.hwrro_mode == MT76_HWRRO_V3) in mt7996_dma_config() [all …]
|
| H A D | main.c | 15 mt7996_mac_enable_nf(dev, phy->mt76->band_idx); in mt7996_run() 37 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7996_run() 39 ieee80211_queue_delayed_work(dev->mphy.hw, &phy->mt76->mac_work, in mt7996_run() 57 mutex_lock(&dev->mt76.mutex); in mt7996_start() 59 if (!ret && is_mt7992(&dev->mt76)) { in mt7996_start() 64 mutex_unlock(&dev->mt76.mutex); in mt7996_start() 73 if (!phy || !test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) in mt7996_stop_phy() 78 cancel_delayed_work_sync(&phy->mt76->mac_work); in mt7996_stop_phy() 80 mutex_lock(&dev->mt76.mutex); in mt7996_stop_phy() 84 clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7996_stop_phy() [all …]
|
| H A D | init.c | 131 mutex_lock(&phy->dev->mt76.mutex); in mt7996_thermal_temp_store() 139 dev_err(phy->dev->mt76.dev, in mt7996_thermal_temp_store() 141 mutex_unlock(&phy->dev->mt76.mutex); in mt7996_thermal_temp_store() 146 mutex_unlock(&phy->dev->mt76.mutex); in mt7996_thermal_temp_store() 198 dev_err(phy->dev->mt76.dev, in mt7996_thermal_set_cur_throttle_state() 226 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7996_unregister_thermal() 232 snprintf(name, sizeof(name), "cooling_device%d", phy->mt76->band_idx); in mt7996_unregister_thermal() 239 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7996_thermal_init() 246 wiphy_name(wiphy), phy->mt76->band_idx); in mt7996_thermal_init() 250 snprintf(cname, sizeof(cname), "cooling_device%d", phy->mt76->band_idx); in mt7996_thermal_init() [all …]
|
| H A D | mmio.c | 265 if (is_mt7996(&dev->mt76)) { in mt7996_reg_map_l1() 273 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L1, l1_mask, val); in mt7996_reg_map_l1() 275 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L1); in mt7996_reg_map_l1() 284 if (is_mt7990(&dev->mt76)) { in mt7996_reg_map_l2() 296 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L2, l2_mask, val); in mt7996_reg_map_l2() 298 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L2); in mt7996_reg_map_l2() 308 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_CBTOP, in mt7996_reg_map_cbtop() 312 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_CBTOP); in mt7996_reg_map_cbtop() 353 if (dev_is_pci(dev->mt76.dev) && in __mt7996_reg_remap_addr() 356 if (is_mt7990(&dev->mt76)) in __mt7996_reg_remap_addr() [all …]
|
| H A D | eeprom.c | 12 u8 *eeprom = dev->mt76.eeprom.data; in mt7996_check_eeprom() 17 return is_mt7996(&dev->mt76) ? 0 : -EINVAL; in mt7996_check_eeprom() 19 return is_mt7992(&dev->mt76) ? 0 : -EINVAL; in mt7996_check_eeprom() 21 return is_mt7990(&dev->mt76) ? 0 : -EINVAL; in mt7996_check_eeprom() 29 switch (mt76_chip(&dev->mt76)) { in mt7996_eeprom_name() 100 u8 *eeprom = dev->mt76.eeprom.data, fem[2]; in mt7996_eeprom_variant_valid() 121 if (!dev->mt76.phys[i]) in mt7996_eeprom_variant_valid() 137 u8 *eeprom = dev->mt76.eeprom.data; in mt7996_eeprom_check_or_use_default() 141 ret = request_firmware(&fw, mt7996_eeprom_name(dev), dev->mt76.dev); in mt7996_eeprom_check_or_use_default() 146 dev_err(dev->mt76.dev, "Invalid default bin\n"); in mt7996_eeprom_check_or_use_default() [all …]
|
| /linux/drivers/net/wireless/mediatek/mt76/ |
| H A D | mt76x02_mmio.c | 16 struct mt76x02_dev *dev = from_tasklet(dev, t, mt76.pre_tbtt_tasklet); in mt76x02_pre_tbtt_tasklet() 17 struct mt76_dev *mdev = &dev->mt76; in mt76x02_pre_tbtt_tasklet() 78 tasklet_enable(&dev->mt76.pre_tbtt_tasklet); in mt76x02e_pre_tbtt_enable() 80 tasklet_disable(&dev->mt76.pre_tbtt_tasklet); in mt76x02e_pre_tbtt_enable() 143 dev = container_of(w, struct mt76x02_dev, mt76.tx_worker); in mt76x02_tx_worker() 154 mt76.tx_napi); in mt76x02_poll_tx() 159 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt76x02_poll_tx() 166 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt76x02_poll_tx() 170 mt76_worker_schedule(&dev->mt76.tx_worker); in mt76x02_poll_tx() 184 status_fifo = devm_kzalloc(dev->mt76.dev, fifo_size, GFP_KERNEL); in mt76x02_dma_init() [all …]
|
| H A D | mt792x_dma.c | 15 if (test_bit(MT76_REMOVED, &dev->mt76.phy.state)) in mt792x_irq_handler() 22 tasklet_schedule(&dev->mt76.irq_tasklet); in mt792x_irq_handler() 37 intr &= dev->mt76.mmio.irqmask; in mt792x_irq_tasklet() 40 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); in mt792x_irq_tasklet() 60 mt76_set_irq_mask(&dev->mt76, irq_map->host_irq_enable, mask, 0); in mt792x_irq_tasklet() 63 napi_schedule(&dev->mt76.tx_napi); in mt792x_irq_tasklet() 66 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); in mt792x_irq_tasklet() 69 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt792x_irq_tasklet() 72 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN]); in mt792x_irq_tasklet() 78 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt792x_rx_poll_complete() [all …]
|
| /linux/drivers/net/wireless/mediatek/mt76/mt7921/ |
| H A D | sdio_mac.c | 37 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_wfsys_reset() 40 if (atomic_read(&dev->mt76.bus_hung)) in mt7921s_wfsys_reset() 63 readx_poll_timeout(mt7921s_read_whcr, &dev->mt76, status, in mt7921s_wfsys_reset() 83 wake_up(&dev->mt76.mcu.wait); in mt7921s_init_reset() 84 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_init_reset() 85 wait_event_timeout(dev->mt76.sdio.wait, in mt7921s_init_reset() 86 mt76s_txqs_empty(&dev->mt76), 5 * HZ); in mt7921s_init_reset() 87 mt76_worker_disable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset() 89 mt7921s_disable_irq(&dev->mt76); in mt7921s_init_reset() 92 mt76_worker_enable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset() [all …]
|
| H A D | pci.c | 51 mt76_unregister_device(&dev->mt76); in mt7921e_unregister_device() 52 mt76_for_each_q_rx(&dev->mt76, i) in mt7921e_unregister_device() 53 napi_disable(&dev->mt76.napi[i]); in mt7921e_unregister_device() 58 mt76_connac2_tx_token_put(&dev->mt76); in mt7921e_unregister_device() 62 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921e_unregister_device() 64 tasklet_disable(&dev->mt76.irq_tasklet); in mt7921e_unregister_device() 138 dev_err(dev->mt76.dev, "Access currently unsupported address %08x\n", in __mt7921_reg_addr() 146 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_rr() 154 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_wr() 162 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_rmw() [all …]
|
| H A D | pci_mac.c | 13 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921e_tx_prepare_skb() 25 wcid = &dev->mt76.global_wcid; in mt7921e_tx_prepare_skb() 68 wake_up(&dev->mt76.mcu.wait); in mt7921e_mac_reset() 69 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921e_mac_reset() 73 mt76_worker_disable(&dev->mt76.tx_worker); in mt7921e_mac_reset() 74 napi_disable(&dev->mt76.napi[MT_RXQ_MAIN]); in mt7921e_mac_reset() 75 napi_disable(&dev->mt76.napi[MT_RXQ_MCU]); in mt7921e_mac_reset() 76 napi_disable(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt7921e_mac_reset() 77 napi_disable(&dev->mt76.tx_napi); in mt7921e_mac_reset() 79 mt76_connac2_tx_token_put(&dev->mt76); in mt7921e_mac_reset() [all …]
|
| /linux/drivers/net/wireless/mediatek/mt76/mt7915/ |
| H A D | main.c | 20 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7915_dev_running() 33 ret = mt76_connac_mcu_set_pm(&dev->mt76, in mt7915_run() 34 dev->phy.mt76->band_idx, 0); in mt7915_run() 38 ret = mt7915_mcu_set_mac(dev, dev->phy.mt76->band_idx, in mt7915_run() 43 mt7915_mac_enable_nf(dev, dev->phy.mt76->band_idx); in mt7915_run() 47 ret = mt76_connac_mcu_set_pm(&dev->mt76, in mt7915_run() 48 phy->mt76->band_idx, 0); in mt7915_run() 52 ret = mt7915_mcu_set_mac(dev, phy->mt76->band_idx, in mt7915_run() 57 mt7915_mac_enable_nf(dev, phy->mt76->band_idx); in mt7915_run() 71 ret = mt76_connac_mcu_set_rts_thresh(&dev->mt76, 0x92b, in mt7915_run() [all …]
|
| H A D | init.c | 56 mutex_lock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_show() 58 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_show() 86 mutex_lock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 93 dev_err(phy->dev->mt76.dev, in mt7915_thermal_temp_store() 95 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 101 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 151 dev_err(phy->dev->mt76.dev, in mt7915_thermal_set_cur_throttle_state() 163 mutex_lock(&phy->dev->mt76.mutex); in mt7915_thermal_set_cur_throttle_state() 165 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_set_cur_throttle_state() 182 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7915_unregister_thermal() [all …]
|
| H A D | eeprom.c | 15 struct mt76_dev *mdev = &dev->mt76; in mt7915_eeprom_load_precal() 17 u32 offs = is_mt7915(&dev->mt76) ? MT_EE_DO_PRE_CAL : MT_EE_DO_PRE_CAL_V2; in mt7915_eeprom_load_precal() 30 offs = is_mt7915(&dev->mt76) ? MT_EE_PRECAL : MT_EE_PRECAL_V2; in mt7915_eeprom_load_precal() 49 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_check_eeprom() 55 return CHECK_EEPROM_ERR(is_mt7915(&dev->mt76)); in mt7915_check_eeprom() 57 return CHECK_EEPROM_ERR(is_mt7916(&dev->mt76)); in mt7915_check_eeprom() 59 return CHECK_EEPROM_ERR(is_mt7981(&dev->mt76)); in mt7915_check_eeprom() 61 return CHECK_EEPROM_ERR(is_mt7986(&dev->mt76)); in mt7915_check_eeprom() 69 switch (mt76_chip(&dev->mt76)) { in mt7915_eeprom_name() 100 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_eeprom_load_default() [all …]
|
| H A D | dma.c | 14 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7915_init_tx_queues() 15 if (is_mt798x(&dev->mt76)) in mt7915_init_tx_queues() 21 wed = &dev->mt76.mmio.wed; in mt7915_init_tx_queues() 24 return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, ring_base, in mt7915_init_tx_queues() 32 dev = container_of(napi, struct mt7915_dev, mt76.tx_napi); in mt7915_poll_tx() 34 mt76_connac_tx_cleanup(&dev->mt76); in mt7915_poll_tx() 54 if (is_mt7915(&dev->mt76)) { in mt7915_dma_config() 87 if (is_mt7916(&dev->mt76) && mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7915_dma_config() 139 if (!is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() 154 if (is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() [all …]
|
| H A D | mmio.c | 422 if (is_mt798x(&dev->mt76)) in mt7915_reg_map_l1() 425 l1_remap = is_mt7915(&dev->mt76) ? in mt7915_reg_map_l1() 428 dev->bus_ops->rmw(&dev->mt76, l1_remap, in mt7915_reg_map_l1() 432 dev->bus_ops->rr(&dev->mt76, l1_remap); in mt7915_reg_map_l1() 441 if (is_mt7915(&dev->mt76)) { in mt7915_reg_map_l2() 445 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L2, in mt7915_reg_map_l2() 450 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L2); in mt7915_reg_map_l2() 452 u32 ofs = is_mt798x(&dev->mt76) ? 0x400000 : 0; in mt7915_reg_map_l2() 457 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L2_MT7916 + ofs, in mt7915_reg_map_l2() 462 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L2_MT7916 + ofs); in mt7915_reg_map_l2() [all …]
|
| H A D | mac.c | 105 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 106 list_splice_init(&dev->mt76.sta_poll_list, &sta_poll_list); in mt7915_mac_sta_poll() 107 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 118 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 120 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 126 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 227 mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi); in mt7915_mac_sta_poll() 270 mtk_wed_device_ppe_check(&dev->mt76.mmio.wed, skb, in mt7915_wed_check_ppe() 280 struct mt76_phy *mphy = &dev->mt76.phy; in mt7915_mac_fill_rx() 304 if ((rxd1 & MT_RXD1_NORMAL_BAND_IDX) && !phy->mt76->band_idx) { in mt7915_mac_fill_rx() [all …]
|
| H A D | mcu.c | 12 switch (mt76_chip(&(_dev)->mt76)) { \ 63 enum nl80211_band band = msta->vif->phy->mt76->chandef.chan->band; in mt7915_mcu_set_sta_he_mcs() 104 if (is_mt7915(&dev->mt76) && nss > 1 && in mt7915_mcu_set_sta_he_mcs() 140 if (is_mt7915(&dev->mt76) && nss > 1 && in mt7915_mcu_set_sta_vht_mcs() 160 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mcu_parse_response() 170 wake_up(&dev->mt76.mcu.wait); in mt7915_mcu_parse_response() 171 queue_work(dev->mt76.wq, &dev->reset_work); in mt7915_mcu_parse_response() 225 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mcu_send_message() 252 return mt76_mcu_send_msg(&dev->mt76, cmd, &req, sizeof(req), false); in mt7915_mcu_wa_cmd() 267 struct mt76_phy *mphy = &dev->mt76.phy; in mt7915_mcu_rx_csa_notify() [all …]
|
| /linux/drivers/net/wireless/mediatek/mt76/mt7615/ |
| H A D | mcu.c | 73 dev->mt76.mcu.timeout = 20 * HZ; in mt7615_mcu_fill_msg() 75 seq = ++dev->mt76.mcu.msg_seq & 0xf; in mt7615_mcu_fill_msg() 77 seq = ++dev->mt76.mcu.msg_seq & 0xf; in mt7615_mcu_fill_msg() 187 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); in mt7615_mcu_send_message() 196 return mt76_tx_queue_skb_raw(dev, dev->mt76.q_mcu[qid], skb, 0); in mt7615_mcu_send_message() 210 return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_QUERY(RF_REG_ACCESS), in mt7615_rf_rr() 226 return mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD(RF_REG_ACCESS), in mt7615_rf_wr() 232 if (!is_mt7622(&dev->mt76)) in mt7622_trigger_hif_int() 243 struct mt76_phy *mphy = &dev->mt76.phy; in mt7615_mcu_drv_pmctrl() 245 struct mt76_dev *mdev = &dev->mt76; in mt7615_mcu_drv_pmctrl() [all …]
|
| H A D | main.c | 24 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7615_dev_running() 47 ret = mt76_connac_mcu_set_mac_enable(&dev->mt76, 0, true, false); in mt7615_start() 59 ret = mt76_connac_mcu_set_mac_enable(&dev->mt76, 1, true, false); in mt7615_start() 67 ret = mt76_connac_mcu_set_channel_domain(phy->mt76); in mt7615_start() 71 ret = mt76_connac_mcu_set_rate_txpower(phy->mt76); in mt7615_start() 80 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7615_start() 83 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, timeout); in mt7615_start() 99 cancel_delayed_work_sync(&phy->mt76->mac_work); in mt7615_stop() 110 mt76_testmode_reset(phy->mt76, true); in mt7615_stop() 112 clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7615_stop() [all …]
|
| H A D | eeprom.c | 50 if (is_mt7663(&dev->mt76)) in mt7615_efuse_init() 57 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7615_efuse_init() 58 dev->mt76.otp.size = len; in mt7615_efuse_init() 59 if (!dev->mt76.otp.data) in mt7615_efuse_init() 62 buf = dev->mt76.otp.data; in mt7615_efuse_init() 80 ret = mt76_eeprom_init(&dev->mt76, MT7615_EEPROM_FULL_SIZE); in mt7615_eeprom_load() 104 u8 val, *eeprom = dev->mt76.eeprom.data; in mt7615_eeprom_parse_hw_band_cap() 106 if (is_mt7663(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() 113 if (is_mt7622(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() 119 if (is_mt7611(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() [all …]
|
| H A D | pci_mac.c | 65 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); in mt7615_tx_prepare_skb() 76 wcid = &dev->mt76.global_wcid; in mt7615_tx_prepare_skb() 85 spin_lock_bh(&dev->mt76.lock); in mt7615_tx_prepare_skb() 88 spin_unlock_bh(&dev->mt76.lock); in mt7615_tx_prepare_skb() 104 if (is_mt7615(&dev->mt76)) in mt7615_tx_prepare_skb() 128 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[i], true); in mt7615_dma_reset() 130 mt76_for_each_q_rx(&dev->mt76, i) in mt7615_dma_reset() 133 mt76_tx_status_check(&dev->mt76, true); in mt7615_dma_reset() 144 if (is_mt7663(&dev->mt76)) in mt7615_hif_int_event_trigger() 186 struct mt76_phy *mphy_ext = dev->mt76.phys[MT_BAND1]; in mt7615_update_beacons() [all …]
|
| H A D | dma.c | 40 return mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7622_TXQ_MCU, in mt7622_init_tx_queues_multi() 49 ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_FWDL, MT7615_TXQ_FWDL, in mt7615_init_tx_queues() 54 if (!is_mt7615(&dev->mt76)) in mt7615_init_tx_queues() 62 return mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, MT7615_TXQ_MCU, in mt7615_init_tx_queues() 73 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7615_poll_tx() 77 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt7615_poll_tx() 79 mt76_connac_irq_enable(&dev->mt76, in mt7615_poll_tx() 96 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7615_poll_rx() 107 struct mt76_dev *mdev = &dev->mt76; in mt7615_wait_pdma_busy() 209 if (is_mt7622(&dev->mt76)) in mt7615_dma_start() [all …]
|
| /linux/drivers/net/wireless/mediatek/mt76/mt7925/ |
| H A D | pci_mac.c | 13 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925e_tx_prepare_skb() 25 wcid = &dev->mt76.global_wcid; in mt7925e_tx_prepare_skb() 61 spin_lock_bh(&dev->mt76.token_lock); in mt7925_tx_token_put() 62 idr_for_each_entry(&dev->mt76.token, txwi, id) { in mt7925_tx_token_put() 64 dev->mt76.token_count--; in mt7925_tx_token_put() 66 spin_unlock_bh(&dev->mt76.token_lock); in mt7925_tx_token_put() 67 idr_destroy(&dev->mt76.token); in mt7925_tx_token_put() 84 wake_up(&dev->mt76.mcu.wait); in mt7925e_mac_reset() 85 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7925e_mac_reset() 89 mt76_worker_disable(&dev->mt76.tx_worker); in mt7925e_mac_reset() [all …]
|
| H A D | pci.c | 41 mt76_unregister_device(&dev->mt76); in mt7925e_unregister_device() 42 mt76_for_each_q_rx(&dev->mt76, i) in mt7925e_unregister_device() 43 napi_disable(&dev->mt76.napi[i]); in mt7925e_unregister_device() 52 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7925e_unregister_device() 54 tasklet_disable(&dev->mt76.irq_tasklet); in mt7925e_unregister_device() 61 dev->bus_ops->wr(&dev->mt76, MT_HIF_REMAP_L1, dev->backup_l1); in mt7925_reg_remap_restore() 66 dev->bus_ops->wr(&dev->mt76, MT_HIF_REMAP_L2, dev->backup_l2); in mt7925_reg_remap_restore() 76 dev->backup_l1 = dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L1); in mt7925_reg_map_l1() 78 dev->bus_ops->rmw(&dev->mt76, MT_HIF_REMAP_L1, in mt7925_reg_map_l1() 83 dev->bus_ops->rr(&dev->mt76, MT_HIF_REMAP_L1); in mt7925_reg_map_l1() [all …]
|