/Linux-v6.1/drivers/net/wireless/mediatek/mt76/ |
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 …]
|
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 9 mt76-y := \ 13 mt76-$(CONFIG_PCI) += pci.o 14 mt76-$(CONFIG_NL80211_TESTMODE) += testmode.o 16 mt76-usb-y := usb.o usb_trace.o 17 mt76-sdio-y := sdio.o sdio_txrx.o 30 mt76-connac-lib-y := mt76_connac_mcu.o mt76_connac_mac.o
|
/Linux-v6.1/drivers/net/wireless/mediatek/mt76/mt7915/ |
D | main.c | 20 return phy && test_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7915_dev_running() 32 mutex_lock(&dev->mt76.mutex); in mt7915_start() 37 ret = mt76_connac_mcu_set_pm(&dev->mt76, 0, 0); in mt7915_start() 49 ret = mt76_connac_mcu_set_pm(&dev->mt76, 1, 0); in mt7915_start() 60 ret = mt76_connac_mcu_set_rts_thresh(&dev->mt76, 0x92b, in mt7915_start() 73 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7915_start() 75 if (!mt76_testmode_enabled(phy->mt76)) in mt7915_start() 76 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, in mt7915_start() 83 mutex_unlock(&dev->mt76.mutex); in mt7915_start() 93 cancel_delayed_work_sync(&phy->mt76->mac_work); in mt7915_stop() [all …]
|
D | eeprom.c | 10 struct mt76_dev *mdev = &dev->mt76; in mt7915_eeprom_load_precal() 26 offs = is_mt7915(&dev->mt76) ? MT_EE_PRECAL : MT_EE_PRECAL_V2; in mt7915_eeprom_load_precal() 33 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_check_eeprom() 48 switch (mt76_chip(&dev->mt76)) { in mt7915_eeprom_name() 76 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_eeprom_load_default() 80 ret = request_firmware(&fw, mt7915_eeprom_name(dev), dev->mt76.dev); in mt7915_eeprom_load_default() 85 dev_err(dev->mt76.dev, "Invalid default bin\n"); in mt7915_eeprom_load_default() 104 ret = mt76_eeprom_init(&dev->mt76, eeprom_size); in mt7915_eeprom_load() 133 u8 *eeprom = dev->mt76.eeprom.data; in mt7915_eeprom_parse_band_config() 139 if (!is_mt7915(&dev->mt76)) { in mt7915_eeprom_parse_band_config() [all …]
|
D | init.c | 83 mutex_lock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 86 mutex_unlock(&phy->dev->mt76.mutex); in mt7915_thermal_temp_store() 163 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7915_unregister_thermal() 174 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7915_thermal_init() 211 struct mt76_dev *mt76; in mt7915_led_set_config() local 214 mt76 = container_of(led_cdev, struct mt76_dev, led_cdev); in mt7915_led_set_config() 215 dev = container_of(mt76, struct mt7915_dev, mt76); in mt7915_led_set_config() 230 if (dev->mt76.led_al) in mt7915_led_set_config() 307 memcpy(dev->mt76.alpha2, request->alpha2, sizeof(dev->mt76.alpha2)); in mt7915_regd_notifier() 308 dev->mt76.region = request->dfs_region; in mt7915_regd_notifier() [all …]
|
D | dma.c | 13 if (mtk_wed_device_active(&phy->dev->mt76.mmio.wed)) { in mt7915_init_tx_queues() 18 return mt76_connac_init_tx_queues(phy->mt76, idx, n_desc, ring_base, in mt7915_init_tx_queues() 26 dev = container_of(napi, struct mt7915_dev, mt76.tx_napi); in mt7915_poll_tx() 28 mt76_connac_tx_cleanup(&dev->mt76); in mt7915_poll_tx() 48 if (is_mt7915(&dev->mt76)) { in mt7915_dma_config() 91 if (!is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() 106 if (is_mt7915(&dev->mt76)) { in __mt7915_dma_prefetch() 126 struct mt76_dev *mdev = &dev->mt76; in mt7915_dma_disable() 209 struct mt76_dev *mdev = &dev->mt76; in mt7915_dma_enable() 322 if (mtk_wed_device_active(&dev->mt76.mmio.wed)) { in mt7915_dma_enable() [all …]
|
D | mcu.c | 12 switch (mt76_chip(&(_dev)->mt76)) { \ 56 enum nl80211_band band = msta->vif->phy->mt76->chandef.chan->band; in mt7915_mcu_set_sta_he_mcs() 97 if (is_mt7915(&dev->mt76) && nss > 1 && in mt7915_mcu_set_sta_he_mcs() 133 if (is_mt7915(&dev->mt76) && nss > 1 && in mt7915_mcu_set_sta_vht_mcs() 183 struct mt7915_dev *dev = container_of(mdev, struct mt7915_dev, mt76); in mt7915_mcu_send_message() 213 return mt76_mcu_send_msg(&dev->mt76, cmd, &req, sizeof(req), false); in mt7915_mcu_wa_cmd() 226 struct mt76_phy *mphy = &dev->mt76.phy; in mt7915_mcu_rx_csa_notify() 231 if ((c->band_idx && !dev->phy.band_idx) && dev->mt76.phys[MT_BAND1]) in mt7915_mcu_rx_csa_notify() 232 mphy = dev->mt76.phys[MT_BAND1]; in mt7915_mcu_rx_csa_notify() 242 struct mt76_phy *mphy = &dev->mt76.phy; in mt7915_mcu_rx_thermal_notify() [all …]
|
/Linux-v6.1/drivers/net/wireless/mediatek/mt76/mt7921/ |
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 …]
|
D | pci_mac.c | 13 struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); in mt7921e_tx_prepare_skb() 25 wcid = &dev->mt76.global_wcid; in mt7921e_tx_prepare_skb() 61 spin_lock_bh(&dev->mt76.token_lock); in mt7921_tx_token_put() 62 idr_for_each_entry(&dev->mt76.token, txwi, id) { in mt7921_tx_token_put() 64 dev->mt76.token_count--; in mt7921_tx_token_put() 66 spin_unlock_bh(&dev->mt76.token_lock); in mt7921_tx_token_put() 67 idr_destroy(&dev->mt76.token); in mt7921_tx_token_put() 83 wake_up(&dev->mt76.mcu.wait); in mt7921e_mac_reset() 84 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921e_mac_reset() 88 mt76_worker_disable(&dev->mt76.tx_worker); in mt7921e_mac_reset() [all …]
|
D | dma.c | 12 dev = container_of(napi, struct mt7921_dev, mt76.tx_napi); in mt7921_poll_tx() 16 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7921_poll_tx() 20 mt76_connac_tx_cleanup(&dev->mt76); in mt7921_poll_tx() 33 dev = container_of(napi->dev, struct mt7921_dev, mt76.napi_dev); in mt7921_poll_rx() 37 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7921_poll_rx() 147 mt76_queue_reset(dev, dev->mt76.q_mcu[i]); in mt7921_dma_reset() 149 mt76_for_each_q_rx(&dev->mt76, i) in mt7921_dma_reset() 150 mt76_queue_reset(dev, &dev->mt76.q_rx[i]); in mt7921_dma_reset() 152 mt76_tx_status_check(&dev->mt76, true); in mt7921_dma_reset() 163 if (!__mt76_poll_msec(&dev->mt76, MT_WFSYS_SW_RST_B, in mt7921_wfsys_reset() [all …]
|
D | main.c | 38 int nss = hweight8(phy->mt76->chainmask); in mt7921_init_he_caps() 151 if (is_mt7922(phy->mt76->dev)) { in mt7921_init_he_caps() 163 if (is_mt7922(phy->mt76->dev)) { in mt7921_init_he_caps() 180 &phy->mt76->sband_5g.sband; in mt7921_init_he_caps() 215 if (phy->mt76->cap.has_2ghz) { in mt7921_set_stream_he_caps() 219 band = &phy->mt76->sband_2g.sband; in mt7921_set_stream_he_caps() 224 if (phy->mt76->cap.has_5ghz) { in mt7921_set_stream_he_caps() 228 band = &phy->mt76->sband_5g.sband; in mt7921_set_stream_he_caps() 232 if (phy->mt76->cap.has_6ghz) { in mt7921_set_stream_he_caps() 236 band = &phy->mt76->sband_6g.sband; in mt7921_set_stream_he_caps() [all …]
|
D | usb_mac.c | 116 val = mt7921u_uhw_rr(&dev->mt76, MT_SSUSB_EPCTL_CSR_EP_RST_OPT); in mt7921u_epctl_rst_opt() 121 mt7921u_uhw_wr(&dev->mt76, MT_SSUSB_EPCTL_CSR_EP_RST_OPT, val); in mt7921u_epctl_rst_opt() 158 val = mt7921u_uhw_rr(&dev->mt76, MT_CBTOP_RGU_WF_SUBSYS_RST); in mt7921u_wfsys_reset() 160 mt7921u_uhw_wr(&dev->mt76, MT_CBTOP_RGU_WF_SUBSYS_RST, val); in mt7921u_wfsys_reset() 164 val = mt7921u_uhw_rr(&dev->mt76, MT_CBTOP_RGU_WF_SUBSYS_RST); in mt7921u_wfsys_reset() 166 mt7921u_uhw_wr(&dev->mt76, MT_CBTOP_RGU_WF_SUBSYS_RST, val); in mt7921u_wfsys_reset() 168 mt7921u_uhw_wr(&dev->mt76, MT_UDMA_CONN_INFRA_STATUS_SEL, 0); in mt7921u_wfsys_reset() 170 val = mt7921u_uhw_rr(&dev->mt76, MT_UDMA_CONN_INFRA_STATUS); in mt7921u_wfsys_reset() 187 wake_up(&dev->mt76.mcu.wait); in mt7921u_init_reset() 188 skb_queue_purge(&dev->mt76.mcu.res_q); in mt7921u_init_reset() [all …]
|
D | init.c | 38 memcpy(dev->mt76.alpha2, request->alpha2, sizeof(dev->mt76.alpha2)); in mt7921_regd_notifier() 39 dev->mt76.region = request->dfs_region; in mt7921_regd_notifier() 148 dev->mt76.rxfilter = mt76_rr(dev, MT_WF_RFCR(0)); in mt7921_mac_init() 150 return mt76_connac_mcu_set_rts_thresh(&dev->mt76, 0x92b, 0); in mt7921_mac_init() 192 dev_err(dev->mt76.dev, "hardware init failed\n"); in mt7921_init_hardware() 204 idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7921_WTBL_STA - 1); in mt7921_init_wcid() 208 dev->mt76.global_wcid.idx = idx; in mt7921_init_wcid() 209 dev->mt76.global_wcid.hw_key_idx = -1; in mt7921_init_wcid() 210 dev->mt76.global_wcid.tx_info |= MT_WCID_TX_INFO_SET; in mt7921_init_wcid() 211 rcu_assign_pointer(dev->mt76.wcid[idx], &dev->mt76.global_wcid); in mt7921_init_wcid() [all …]
|
D | mcu.c | 102 ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_QUERY(EFUSE_ACCESS), in mt7921_mcu_read_eeprom() 129 .bss_idx = mvif->mt76.idx, in mt7921_mcu_set_ipv6_ns_filter() 160 struct mt76_phy *mphy = &dev->mt76.phy; in mt7921_mcu_scan_event() 163 spin_lock_bh(&dev->mt76.lock); in mt7921_mcu_scan_event() 165 spin_unlock_bh(&dev->mt76.lock); in mt7921_mcu_scan_event() 192 struct mt76_phy *mphy = &dev->mt76.phy; in mt7921_mcu_connection_loss_event() 205 struct mt76_phy *mphy = &dev->mt76.phy; in mt7921_mcu_bss_event() 290 mt76_connac_mcu_coredump_event(&dev->mt76, skb, in mt7921_mcu_rx_unsolicited_event() 315 mt76_mcu_rx_event(&dev->mt76, skb); in mt7921_mcu_rx_event() 331 mt76_mcu_rx_event(&dev->mt76, skb); in mt7921_mcu_rx_event() [all …]
|
D | pci.c | 30 struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); in mt7921_rx_poll_complete() 62 intr &= dev->mt76.mmio.irqmask; in mt7921_irq_tasklet() 65 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); in mt7921_irq_tasklet() 83 mt76_set_irq_mask(&dev->mt76, MT_WFDMA0_HOST_INT_ENA, mask, 0); in mt7921_irq_tasklet() 86 napi_schedule(&dev->mt76.tx_napi); in mt7921_irq_tasklet() 89 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); in mt7921_irq_tasklet() 92 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt7921_irq_tasklet() 95 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN]); in mt7921_irq_tasklet() 109 mt76_unregister_device(&dev->mt76); in mt7921e_unregister_device() 110 mt76_for_each_q_rx(&dev->mt76, i) in mt7921e_unregister_device() [all …]
|
/Linux-v6.1/drivers/net/wireless/mediatek/mt76/mt7615/ |
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 …]
|
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 …]
|
D | pci_init.c | 45 if (is_mt7663(&dev->mt76)) { in mt7615_init_hardware() 58 idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7615_WTBL_STA - 1); in mt7615_init_hardware() 62 dev->mt76.global_wcid.idx = idx; in mt7615_init_hardware() 63 dev->mt76.global_wcid.hw_key_idx = -1; in mt7615_init_hardware() 64 rcu_assign_pointer(dev->mt76.wcid[idx], &dev->mt76.global_wcid); in mt7615_init_hardware() 74 struct mt76_dev *mt76; in mt7615_led_set_config() local 77 mt76 = container_of(led_cdev, struct mt76_dev, led_cdev); in mt7615_led_set_config() 78 dev = container_of(mt76, struct mt7615_dev, mt76); in mt7615_led_set_config() 87 addr = mt7615_reg_map(dev, MT_LED_STATUS_0(mt76->led_pin)); in mt7615_led_set_config() 89 addr = mt7615_reg_map(dev, MT_LED_STATUS_1(mt76->led_pin)); in mt7615_led_set_config() [all …]
|
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 …]
|
D | eeprom.c | 54 dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); in mt7615_efuse_init() 55 dev->mt76.otp.size = len; in mt7615_efuse_init() 56 if (!dev->mt76.otp.data) in mt7615_efuse_init() 59 buf = dev->mt76.otp.data; in mt7615_efuse_init() 75 ret = mt76_eeprom_init(&dev->mt76, MT7615_EEPROM_FULL_SIZE); in mt7615_eeprom_load() 99 u8 val, *eeprom = dev->mt76.eeprom.data; in mt7615_eeprom_parse_hw_band_cap() 101 if (is_mt7663(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() 108 if (is_mt7622(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() 114 if (is_mt7611(&dev->mt76)) { in mt7615_eeprom_parse_hw_band_cap() 141 u8 *eeprom = dev->mt76.eeprom.data; in mt7615_eeprom_parse_hw_cap() [all …]
|
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() 91 dev = container_of(napi->dev, struct mt7615_dev, mt76.napi_dev); in mt7615_poll_rx() 95 queue_work(dev->mt76.wq, &dev->pm.wake_work); in mt7615_poll_rx() 106 struct mt76_dev *mdev = &dev->mt76; in mt7615_wait_pdma_busy() [all …]
|
D | mmio.c | 70 if (is_mt7663(&dev->mt76)) { in mt7615_reg_map() 85 struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); in mt7615_rx_poll_complete() 113 intr &= dev->mt76.mmio.irqmask; in mt7615_irq_tasklet() 116 trace_dev_irq(&dev->mt76, intr, dev->mt76.mmio.irqmask); in mt7615_irq_tasklet() 121 mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, mask, 0); in mt7615_irq_tasklet() 124 napi_schedule(&dev->mt76.tx_napi); in mt7615_irq_tasklet() 127 napi_schedule(&dev->mt76.napi[0]); in mt7615_irq_tasklet() 130 napi_schedule(&dev->mt76.napi[1]); in mt7615_irq_tasklet() 135 if (is_mt7663(&dev->mt76)) { in mt7615_irq_tasklet() 148 queue_work(dev->mt76.wq, &dev->reset_work); in mt7615_irq_tasklet() [all …]
|
/Linux-v6.1/drivers/net/wireless/mediatek/mt76/mt7603/ |
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() 46 napi_schedule(&dev->mt76.napi[0]); in mt7603_irq_handler() 51 napi_schedule(&dev->mt76.napi[1]); in mt7603_irq_handler() 62 dev->bus_ops->wr(&dev->mt76, MT_MCU_PCIE_REMAP_2, base); in mt7603_reg_map()
|
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 …]
|
D | dma.c | 40 wcid = rcu_dereference(dev->mt76.wcid[idx]); in mt7603_rx_loopback_skb() 74 struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); in mt7603_queue_rx_skb() 83 mt76_mcu_rx_event(&dev->mt76, skb); in mt7603_queue_rx_skb() 96 mt76_mcu_rx_event(&dev->mt76, skb); in mt7603_queue_rx_skb() 100 mt76_rx(&dev->mt76, q, skb); in mt7603_queue_rx_skb() 131 dev = container_of(napi, struct mt7603_dev, mt76.tx_napi); in mt7603_poll_tx() 134 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt7603_poll_tx() 141 mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_WM], false); in mt7603_poll_tx() 147 mt76_worker_schedule(&dev->mt76.tx_worker); in mt7603_poll_tx() 163 mt76_dma_attach(&dev->mt76); in mt7603_dma_init() [all …]
|