Searched refs:mt76 (Results 1 - 25 of 130) sorted by relevance

123456

/linux-master/drivers/net/wireless/mediatek/
H A DMakefile3 obj-$(CONFIG_MT76_CORE) += mt76/
/linux-master/drivers/net/wireless/mediatek/mt76/mt7921/
H A Dsdio_mac.c35 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 Dpci_mac.c13 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 Dsdio_mcu.c19 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 Dcore.c8 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 Deeprom.c51 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 Dpci_mac.c13 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 Dpci_mcu.c11 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 Deeprom.c10 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 Dmain.c20 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 Ddma.c14 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 Dmt76x02_mmio.c16 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 DMakefile2 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 Dmt792x_dma.c15 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 Dpci_init.c45 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 Dpci_mac.c65 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 Dsdio_mcu.c21 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 Dmain.c24 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 Deeprom.c50 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 Dmcu.c73 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 Dusb_mcu.c20 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 Ddma.c40 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 Deeprom.c12 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 Dmain.c18 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 Dmain.c16 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);

Completed in 246 milliseconds

123456