/openbmc/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() 71 tasklet_enable(&dev->mt76.pre_tbtt_tasklet); in mt76x02e_pre_tbtt_enable() 73 tasklet_disable(&dev->mt76.pre_tbtt_tasklet); in mt76x02e_pre_tbtt_enable() 136 dev = container_of(w, struct mt76x02_dev, mt76.tx_worker); in mt76x02_tx_worker() 147 mt76.tx_napi); in mt76x02_poll_tx() 152 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt76x02_poll_tx() 159 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt76x02_poll_tx() 163 mt76_worker_schedule(&dev->mt76.tx_worker); in mt76x02_poll_tx() 178 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 …]
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7921/ |
H A D | sdio_mac.c | 35 struct mt76_sdio *sdio = &dev->mt76.sdio; in mt7921s_wfsys_reset() 58 readx_poll_timeout(mt7921s_read_whcr, &dev->mt76, status, in mt7921s_wfsys_reset() 78 wake_up(&dev->mt76.mcu.wait); in mt7921s_init_reset() 79 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921s_init_reset() 80 wait_event_timeout(dev->mt76.sdio.wait, in mt7921s_init_reset() 81 mt76s_txqs_empty(&dev->mt76), 5 * HZ); in mt7921s_init_reset() 82 mt76_worker_disable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset() 84 mt7921s_disable_irq(&dev->mt76); in mt7921s_init_reset() 87 mt76_worker_enable(&dev->mt76.sdio.txrx_worker); in mt7921s_init_reset() 89 mt7921s_enable_irq(&dev->mt76); in mt7921s_init_reset() [all …]
|
H A D | main.c | 17 int nss = hweight8(phy->mt76->chainmask); in mt7921_init_he_caps() 130 if (is_mt7922(phy->mt76->dev)) { in mt7921_init_he_caps() 142 if (is_mt7922(phy->mt76->dev)) { in mt7921_init_he_caps() 159 &phy->mt76->sband_5g.sband; in mt7921_init_he_caps() 194 if (phy->mt76->cap.has_2ghz) { in mt7921_set_stream_he_caps() 198 band = &phy->mt76->sband_2g.sband; in mt7921_set_stream_he_caps() 203 if (phy->mt76->cap.has_5ghz) { in mt7921_set_stream_he_caps() 207 band = &phy->mt76->sband_5g.sband; in mt7921_set_stream_he_caps() 211 if (phy->mt76->cap.has_6ghz) { in mt7921_set_stream_he_caps() 215 band = &phy->mt76->sband_6g.sband; in mt7921_set_stream_he_caps() [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 …]
|
H A D | pci.c | 44 mt76_unregister_device(&dev->mt76); in mt7921e_unregister_device() 45 mt76_for_each_q_rx(&dev->mt76, i) in mt7921e_unregister_device() 46 napi_disable(&dev->mt76.napi[i]); in mt7921e_unregister_device() 51 mt76_connac2_tx_token_put(&dev->mt76); in mt7921e_unregister_device() 55 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921e_unregister_device() 57 tasklet_disable(&dev->mt76.irq_tasklet); in mt7921e_unregister_device() 131 dev_err(dev->mt76.dev, "Access currently unsupported address %08x\n", in __mt7921_reg_addr() 139 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_rr() 147 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_wr() 155 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921_rmw() [all …]
|
H A D | usb.c | 34 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7921u_mcu_send_message() 53 ret = mt76u_bulk_msg(&dev->mt76, skb->data, skb->len, NULL, in mt7921u_mcu_send_message() 71 dev->mt76.mcu_ops = &mcu_ops; in mt7921u_mcu_init() 89 mt76_worker_disable(&dev->mt76.tx_worker); in mt7921u_mac_reset() 94 wake_up(&dev->mt76.mcu.wait); in mt7921u_mac_reset() 95 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921u_mac_reset() 97 mt76u_stop_rx(&dev->mt76); in mt7921u_mac_reset() 98 mt76u_stop_tx(&dev->mt76); in mt7921u_mac_reset() 103 err = mt76u_resume_rx(&dev->mt76); in mt7921u_mac_reset() 136 mt76_worker_enable(&dev->mt76.tx_worker); in mt7921u_mac_reset() [all …]
|
/openbmc/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 | dma.c | 13 if (mtk_wed_device_active(&phy->dev->mt76.mmio.wed)) { in mt7915_init_tx_queues() 14 if (is_mt798x(&dev->mt76)) in mt7915_init_tx_queues() 22 return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, ring_base, in mt7915_init_tx_queues() 30 dev = container_of(napi, struct mt7915_dev, mt76.tx_napi); in mt7915_poll_tx() 32 mt76_connac_tx_cleanup(&dev->mt76); in mt7915_poll_tx() 52 if (is_mt7915(&dev->mt76)) { in mt7915_dma_config() 85 if (is_mt7916(&dev->mt76) && mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7915_dma_config() 137 if (!is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() 152 if (is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() 172 struct mt76_dev *mdev = &dev->mt76; in mt7915_dma_disable() [all …]
|
H A D | eeprom.c | 15 struct mt76_dev *mdev = &dev->mt76; in mt7915_eeprom_load_precal() 31 offs = is_mt7915(&dev->mt76) ? MT_EE_PRECAL : MT_EE_PRECAL_V2; in mt7915_eeprom_load_precal() 38 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_check_eeprom() 44 return CHECK_EEPROM_ERR(is_mt7915(&dev->mt76)); in mt7915_check_eeprom() 46 return CHECK_EEPROM_ERR(is_mt7916(&dev->mt76)); in mt7915_check_eeprom() 48 return CHECK_EEPROM_ERR(is_mt7981(&dev->mt76)); in mt7915_check_eeprom() 50 return CHECK_EEPROM_ERR(is_mt7986(&dev->mt76)); in mt7915_check_eeprom() 58 switch (mt76_chip(&dev->mt76)) { in mt7915_eeprom_name() 89 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_eeprom_load_default() 93 ret = request_firmware(&fw, mt7915_eeprom_name(dev), dev->mt76.dev); in mt7915_eeprom_load_default() [all …]
|
H A D | init.c | 84 mutex_lock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 91 dev_err(phy->dev->mt76.dev, in mt7915_thermal_temp_store() 93 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 98 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 150 dev_err(phy->dev->mt76.dev, in mt7915_thermal_set_cur_throttle_state() 179 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7915_unregister_thermal() 190 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7915_thermal_init() 232 dev = container_of(mphy->dev, struct mt7915_dev, mt76); in mt7915_led_set_config() 324 memcpy(dev->mt76.alpha2, request->alpha2, sizeof(dev->mt76.alpha2)); in mt7915_regd_notifier() 325 dev->mt76.region = request->dfs_region; in mt7915_regd_notifier() [all …]
|
H A D | mac.c | 59 if (idx >= ARRAY_SIZE(dev->mt76.wcid)) in mt7915_rx_get_wcid() 62 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7915_rx_get_wcid() 108 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 109 list_splice_init(&dev->mt76.sta_poll_list, &sta_poll_list); in mt7915_mac_sta_poll() 110 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 121 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 123 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 129 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7915_mac_sta_poll() 223 mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi); in mt7915_mac_sta_poll() 266 mtk_wed_device_ppe_check(&dev->mt76.mmio.wed, skb, in mt7915_wed_check_ppe() [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() 192 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mcu_send_message() 222 return mt76_mcu_send_msg(&dev->mt76, cmd, &req, sizeof(req), false); in mt7915_mcu_wa_cmd() 235 struct mt76_phy *mphy = &dev->mt76.phy; in mt7915_mcu_rx_csa_notify() 243 if ((c->band_idx && !dev->phy.mt76->band_idx) && in mt7915_mcu_rx_csa_notify() 244 dev->mt76.phys[MT_BAND1]) in mt7915_mcu_rx_csa_notify() 245 mphy = dev->mt76.phys[MT_BAND1]; in mt7915_mcu_rx_csa_notify() [all …]
|
H A D | mmio.c | 420 if (is_mt798x(&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_mt798x(&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() [all …]
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7996/ |
H A D | main.c | 18 if (phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) in mt7996_dev_running() 23 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7996_dev_running() 40 mt7996_mac_enable_nf(dev, phy->mt76->band_idx); in mt7996_run() 54 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7996_run() 56 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, in mt7996_run() 73 mutex_lock(&dev->mt76.mutex); in mt7996_start() 75 mutex_unlock(&dev->mt76.mutex); in mt7996_start() 85 cancel_delayed_work_sync(&phy->mt76->mac_work); in mt7996_stop() 87 mutex_lock(&dev->mt76.mutex); in mt7996_stop() 91 clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7996_stop() [all …]
|
H A D | init.c | 54 dev = container_of(mphy->dev, struct mt7996_dev, mt76); in mt7996_led_set_config() 136 memcpy(dev->mt76.alpha2, request->alpha2, sizeof(dev->mt76.alpha2)); in mt7996_regd_notifier() 137 dev->mt76.region = request->dfs_region; in mt7996_regd_notifier() 139 if (dev->mt76.region == NL80211_DFS_UNSET) in mt7996_regd_notifier() 142 mt7996_init_txpower(dev, &phy->mt76->sband_2g.sband); in mt7996_regd_notifier() 143 mt7996_init_txpower(dev, &phy->mt76->sband_5g.sband); in mt7996_regd_notifier() 144 mt7996_init_txpower(dev, &phy->mt76->sband_6g.sband); in mt7996_regd_notifier() 146 phy->mt76->dfs_state = MT_DFS_STATE_UNKNOWN; in mt7996_regd_notifier() 154 struct mt76_dev *mdev = &phy->dev->mt76; in mt7996_init_wiphy() 202 if (phy->mt76->cap.has_2ghz) { in mt7996_init_wiphy() [all …]
|
H A D | dma.c | 14 dev = container_of(napi, struct mt7996_dev, mt76.tx_napi); in mt7996_poll_tx() 16 mt76_connac_tx_cleanup(&dev->mt76); in mt7996_poll_tx() 260 mt76_dma_attach(&dev->mt76); in mt7996_dma_init() 268 ret = mt76_connac_init_tx_queues(dev->phy.mt76, in mt7996_dma_init() 276 ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WM, in mt7996_dma_init() 284 ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_WA, in mt7996_dma_init() 292 ret = mt76_init_mcu_queue(&dev->mt76, MT_MCUQ_FWDL, in mt7996_dma_init() 300 ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU], in mt7996_dma_init() 309 ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU_WA], in mt7996_dma_init() 318 ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MAIN], in mt7996_dma_init() [all …]
|
H A D | mac.c | 61 if (idx >= ARRAY_SIZE(dev->mt76.wcid)) in mt7996_rx_get_wcid() 64 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7996_rx_get_wcid() 110 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7996_mac_sta_poll() 111 list_splice_init(&dev->mt76.sta_poll_list, &sta_poll_list); in mt7996_mac_sta_poll() 112 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7996_mac_sta_poll() 123 spin_lock_bh(&dev->mt76.sta_poll_lock); in mt7996_mac_sta_poll() 125 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7996_mac_sta_poll() 131 spin_unlock_bh(&dev->mt76.sta_poll_lock); in mt7996_mac_sta_poll() 230 mt76_rx_signal(msta->vif->phy->mt76->antenna_mask, rssi); in mt7996_mac_sta_poll() 371 i = mt76_get_rate(&dev->mt76, sband, i, cck); in mt7996_mac_fill_rx_rate() [all …]
|
/openbmc/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 | 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 | 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 | 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() 70 dev = container_of(napi, struct mt7615_dev, mt76.tx_napi); in mt7615_poll_tx() 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() 92 dev = container_of(napi->dev, struct mt7615_dev, mt76.napi_dev); in mt7615_poll_rx() 96 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7615_poll_rx() [all …]
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7603/ |
H A D | core.c | 8 struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); in mt7603_rx_poll_complete() 24 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); in mt7603_irq_handler() 26 intr &= dev->mt76.mmio.irqmask; in mt7603_irq_handler() 33 tasklet_schedule(&dev->mt76.pre_tbtt_tasklet); in mt7603_irq_handler() 35 if ((hwintr & MT_HW_INT3_TBTT0) && dev->mt76.csa_complete) in mt7603_irq_handler() 36 mt76_csa_finish(&dev->mt76); in mt7603_irq_handler() 41 napi_schedule(&dev->mt76.tx_napi); in mt7603_irq_handler() 47 napi_schedule(&dev->mt76.napi[0]); in mt7603_irq_handler() 53 napi_schedule(&dev->mt76.napi[1]); in mt7603_irq_handler() 64 dev->bus_ops->wr(&dev->mt76, MT_MCU_PCIE_REMAP_2, base); in mt7603_reg_map()
|
H A D | mcu.c | 20 struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); in mt7603_mcu_parse_response() 41 struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); in mt7603_mcu_skb_send_msg() 91 return mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_TARGET_ADDRESS_LEN_REQ, in mt7603_mcu_init_download() 106 return mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_FW_START_REQ, &req, in mt7603_mcu_start_firmware() 137 ret = request_firmware(&fw, firmware, dev->mt76.dev); in mt7603_load_firmware() 142 dev_err(dev->mt76.dev, "Invalid firmware\n"); in mt7603_load_firmware() 150 dev_info(dev->mt76.dev, "Firmware Version: %.10s\n", hdr->fw_ver); in mt7603_load_firmware() 151 dev_info(dev->mt76.dev, "Build Time: %.15s\n", hdr->build_date); in mt7603_load_firmware() 164 dev_info(dev->mt76.dev, "Firmware already running...\n"); in mt7603_load_firmware() 169 dev_err(dev->mt76.dev, "Timeout waiting for ROM code to become ready\n"); in mt7603_load_firmware() [all …]
|