mt76 52 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_is_usb(dev) ((dev)->mt76.bus->type == MT76_BUS_USB) mt76 53 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_is_mmio(dev) ((dev)->mt76.bus->type == MT76_BUS_MMIO) mt76 544 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_rr(dev, ...) (dev)->mt76.bus->rr(&((dev)->mt76), __VA_ARGS__) mt76 545 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_wr(dev, ...) (dev)->mt76.bus->wr(&((dev)->mt76), __VA_ARGS__) mt76 546 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_rmw(dev, ...) (dev)->mt76.bus->rmw(&((dev)->mt76), __VA_ARGS__) mt76 547 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_wr_copy(dev, ...) (dev)->mt76.bus->write_copy(&((dev)->mt76), __VA_ARGS__) mt76 548 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_rr_copy(dev, ...) (dev)->mt76.bus->read_copy(&((dev)->mt76), __VA_ARGS__) mt76 549 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_wr_rp(dev, ...) (dev)->mt76.bus->wr_rp(&((dev)->mt76), __VA_ARGS__) mt76 550 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_rd_rp(dev, ...) (dev)->mt76.bus->rd_rp(&((dev)->mt76), __VA_ARGS__) mt76 552 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_mcu_send_msg(dev, ...) (dev)->mt76.mcu_ops->mcu_send_msg(&((dev)->mt76), __VA_ARGS__) mt76 554 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_mcu_restart(dev, ...) (dev)->mt76.mcu_ops->mcu_restart(&((dev)->mt76)) mt76 569 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_hw(dev) (dev)->mt76.hw mt76 574 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_poll(dev, ...) __mt76_poll(&((dev)->mt76), __VA_ARGS__) mt76 579 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_poll_msec(dev, ...) __mt76_poll_msec(&((dev)->mt76), __VA_ARGS__) mt76 594 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76xx_chip(dev) mt76_chip(&((dev)->mt76)) mt76 595 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76xx_rev(dev) mt76_rev(&((dev)->mt76)) mt76 597 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_init_queues(dev) (dev)->mt76.queue_ops->init(&((dev)->mt76)) mt76 598 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_queue_alloc(dev, ...) (dev)->mt76.queue_ops->alloc(&((dev)->mt76), __VA_ARGS__) mt76 599 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_tx_queue_skb_raw(dev, ...) (dev)->mt76.queue_ops->tx_queue_skb_raw(&((dev)->mt76), __VA_ARGS__) mt76 600 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_tx_queue_skb(dev, ...) (dev)->mt76.queue_ops->tx_queue_skb(&((dev)->mt76), __VA_ARGS__) mt76 601 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_queue_rx_reset(dev, ...) (dev)->mt76.queue_ops->rx_reset(&((dev)->mt76), __VA_ARGS__) mt76 602 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_queue_tx_cleanup(dev, ...) (dev)->mt76.queue_ops->tx_cleanup(&((dev)->mt76), __VA_ARGS__) mt76 603 drivers/net/wireless/mediatek/mt76/mt76.h #define mt76_queue_kick(dev, ...) (dev)->mt76.queue_ops->kick(&((dev)->mt76), __VA_ARGS__) mt76 19 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (!(dev->mt76.beacon_mask & BIT(mvif->idx))) mt76 32 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c dev->mt76.q_tx[MT_TXQ_CAB].q->hw_idx) | mt76 51 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (!(dev->mt76.beacon_mask & BIT(mvif->idx))) mt76 81 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c q = dev->mt76.q_tx[MT_TXQ_BEACON].q; mt76 94 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c mt76_csa_check(&dev->mt76); mt76 95 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (dev->mt76.csa_complete) mt76 98 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c q = dev->mt76.q_tx[MT_TXQ_CAB].q; mt76 139 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (dev->mt76.q_tx[MT_TXQ_BEACON].q->queued > mt76 140 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c hweight8(dev->mt76.beacon_mask)) mt76 150 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c dev->mt76.beacon_mask |= BIT(idx); mt76 152 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c dev->mt76.beacon_mask &= ~BIT(idx); mt76 155 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (!dev->mt76.beacon_mask || (!intval && idx < 0)) { mt76 162 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c dev->mt76.beacon_int = intval; mt76 180 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c ((dev->mt76.beacon_mask >> 1) * mt76 184 drivers/net/wireless/mediatek/mt76/mt7603/beacon.c if (dev->mt76.beacon_mask & ~BIT(0)) mt76 7 drivers/net/wireless/mediatek/mt76/mt7603/core.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 20 drivers/net/wireless/mediatek/mt76/mt7603/core.c if (!test_bit(MT76_STATE_INITIALIZED, &dev->mt76.state)) mt76 23 drivers/net/wireless/mediatek/mt76/mt7603/core.c intr &= dev->mt76.mmio.irqmask; mt76 30 drivers/net/wireless/mediatek/mt76/mt7603/core.c tasklet_schedule(&dev->mt76.pre_tbtt_tasklet); mt76 32 drivers/net/wireless/mediatek/mt76/mt7603/core.c if ((hwintr & MT_HW_INT3_TBTT0) && dev->mt76.csa_complete) mt76 33 drivers/net/wireless/mediatek/mt76/mt7603/core.c mt76_csa_finish(&dev->mt76); mt76 38 drivers/net/wireless/mediatek/mt76/mt7603/core.c napi_schedule(&dev->mt76.tx_napi); mt76 43 drivers/net/wireless/mediatek/mt76/mt7603/core.c napi_schedule(&dev->mt76.napi[0]); mt76 48 drivers/net/wireless/mediatek/mt76/mt7603/core.c napi_schedule(&dev->mt76.napi[1]); mt76 59 drivers/net/wireless/mediatek/mt76/mt7603/core.c dev->bus_ops->wr(&dev->mt76, MT_MCU_PCIE_REMAP_2, base); mt76 48 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c mutex_lock(&dev->mt76.mutex); mt76 52 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c dev->mt76.region == NL80211_DFS_ETSI; mt76 55 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c mutex_unlock(&dev->mt76.mutex); mt76 76 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c dir = mt76_register_debugfs(&dev->mt76); mt76 82 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "reset", dir, mt76 84 drivers/net/wireless/mediatek/mt76/mt7603/debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "radio", dir, mt76 14 drivers/net/wireless/mediatek/mt76/mt7603/dma.c hwq = devm_kzalloc(dev->mt76.dev, sizeof(*hwq), GFP_KERNEL); mt76 53 drivers/net/wireless/mediatek/mt76/mt7603/dma.c wcid = rcu_dereference(dev->mt76.wcid[idx]); mt76 86 drivers/net/wireless/mediatek/mt76/mt7603/dma.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 95 drivers/net/wireless/mediatek/mt76/mt7603/dma.c mt76_mcu_rx_event(&dev->mt76, skb); mt76 108 drivers/net/wireless/mediatek/mt76/mt7603/dma.c mt76_mcu_rx_event(&dev->mt76, skb); mt76 112 drivers/net/wireless/mediatek/mt76/mt7603/dma.c mt76_rx(&dev->mt76, q, skb); mt76 143 drivers/net/wireless/mediatek/mt76/mt7603/dma.c dev = container_of(napi, struct mt7603_dev, mt76.tx_napi); mt76 155 drivers/net/wireless/mediatek/mt76/mt7603/dma.c tasklet_schedule(&dev->mt76.tx_tasklet); mt76 171 drivers/net/wireless/mediatek/mt76/mt7603/dma.c mt76_dma_attach(&dev->mt76); mt76 183 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[i], mt76 190 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_PSD], mt76 195 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_MCU], mt76 200 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_BEACON], mt76 205 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_CAB], mt76 210 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_rx_queue(dev, &dev->mt76.q_rx[MT_RXQ_MCU], 1, mt76 215 drivers/net/wireless/mediatek/mt76/mt7603/dma.c ret = mt7603_init_rx_queue(dev, &dev->mt76.q_rx[MT_RXQ_MAIN], 0, mt76 225 drivers/net/wireless/mediatek/mt76/mt7603/dma.c netif_tx_napi_add(&dev->mt76.napi_dev, &dev->mt76.tx_napi, mt76 227 drivers/net/wireless/mediatek/mt76/mt7603/dma.c napi_enable(&dev->mt76.tx_napi); mt76 239 drivers/net/wireless/mediatek/mt76/mt7603/dma.c tasklet_kill(&dev->mt76.tx_tasklet); mt76 240 drivers/net/wireless/mediatek/mt76/mt7603/dma.c mt76_dma_cleanup(&dev->mt76); mt76 50 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); mt76 51 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c dev->mt76.otp.size = len; mt76 52 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c if (!dev->mt76.otp.data) mt76 55 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c buf = dev->mt76.otp.data; mt76 103 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c u8 *eeprom = dev->mt76.eeprom.data; mt76 125 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c ret = mt76_eeprom_init(&dev->mt76, MT7603_EEPROM_SIZE); mt76 153 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c if (dev->mt76.otp.data) { mt76 154 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c if (mt7603_check_eeprom(&dev->mt76) == 0) mt76 155 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c mt7603_apply_cal_free_data(dev, dev->mt76.otp.data); mt76 157 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c memcpy(dev->mt76.eeprom.data, dev->mt76.otp.data, mt76 161 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c dev->mt76.cap.has_2ghz = true; mt76 162 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c memcpy(dev->mt76.macaddr, dev->mt76.eeprom.data + MT_EE_MAC_ADDR, mt76 165 drivers/net/wireless/mediatek/mt76/mt7603/eeprom.c mt76_eeprom_override(&dev->mt76); mt76 114 drivers/net/wireless/mediatek/mt76/mt7603/init.c int rx_chains = dev->mt76.antenna_mask; mt76 224 drivers/net/wireless/mediatek/mt76/mt7603/init.c rcu_assign_pointer(dev->mt76.wcid[MT7603_WTBL_RESERVED], mt76 285 drivers/net/wireless/mediatek/mt76/mt7603/init.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 357 drivers/net/wireless/mediatek/mt76/mt7603/init.c static void mt7603_led_set_config(struct mt76_dev *mt76, u8 delay_on, mt76 360 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt7603_dev *dev = container_of(mt76, struct mt7603_dev, mt76 361 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt76); mt76 368 drivers/net/wireless/mediatek/mt76/mt7603/init.c addr = mt7603_reg_map(dev, MT_LED_STATUS_0(mt76->led_pin)); mt76 370 drivers/net/wireless/mediatek/mt76/mt7603/init.c addr = mt7603_reg_map(dev, MT_LED_STATUS_1(mt76->led_pin)); mt76 373 drivers/net/wireless/mediatek/mt76/mt7603/init.c val = MT_LED_CTRL_REPLAY(mt76->led_pin) | mt76 374 drivers/net/wireless/mediatek/mt76/mt7603/init.c MT_LED_CTRL_KICK(mt76->led_pin); mt76 375 drivers/net/wireless/mediatek/mt76/mt7603/init.c if (mt76->led_al) mt76 376 drivers/net/wireless/mediatek/mt76/mt7603/init.c val |= MT_LED_CTRL_POLARITY(mt76->led_pin); mt76 385 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt76_dev *mt76 = container_of(led_cdev, struct mt76_dev, mt76 392 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt7603_led_set_config(mt76, delta_on, delta_off); mt76 399 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt76_dev *mt76 = container_of(led_cdev, struct mt76_dev, mt76 403 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt7603_led_set_config(mt76, 0, 0xff); mt76 405 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt7603_led_set_config(mt76, 0xff, 0); mt76 418 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 426 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 434 drivers/net/wireless/mediatek/mt76/mt7603/init.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 447 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.region = request->dfs_region; mt76 449 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.region == NL80211_DFS_ETSI; mt76 472 drivers/net/wireless/mediatek/mt76/mt7603/init.c u8 *eeprom = (u8 *)dev->mt76.eeprom.data; mt76 494 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.txpower_cur = target_power; mt76 499 drivers/net/wireless/mediatek/mt76/mt7603/init.c if (dev->mt76.antenna_mask & BIT(1)) mt76 516 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->bus_ops = dev->mt76.bus; mt76 517 drivers/net/wireless/mediatek/mt76/mt7603/init.c bus_ops = devm_kmemdup(dev->mt76.dev, dev->bus_ops, sizeof(*bus_ops), mt76 525 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.bus = bus_ops; mt76 529 drivers/net/wireless/mediatek/mt76/mt7603/init.c INIT_DELAYED_WORK(&dev->mt76.mac_work, mt7603_mac_work); mt76 530 drivers/net/wireless/mediatek/mt76/mt7603/init.c tasklet_init(&dev->mt76.pre_tbtt_tasklet, mt7603_pre_tbtt_tasklet, mt76 534 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.antenna_mask = 3; mt76 536 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.antenna_mask = 1; mt76 560 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.led_cdev.brightness_set = mt7603_led_set_brightness; mt76 561 drivers/net/wireless/mediatek/mt76/mt7603/init.c dev->mt76.led_cdev.blink_set = mt7603_led_set_blink; mt76 576 drivers/net/wireless/mediatek/mt76/mt7603/init.c ret = mt76_register_device(&dev->mt76, true, mt7603_rates, mt76 582 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt7603_init_txpower(dev, &dev->mt76.sband_2g.sband); mt76 589 drivers/net/wireless/mediatek/mt76/mt7603/init.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 590 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt76_unregister_device(&dev->mt76); mt76 593 drivers/net/wireless/mediatek/mt76/mt7603/init.c mt76_free_device(&dev->mt76); mt76 46 drivers/net/wireless/mediatek/mt76/mt7603/mac.c if (dev->mt76.chandef.chan->band == NL80211_BAND_5GHZ) mt76 379 drivers/net/wireless/mediatek/mt76/mt7603/mac.c if (idx >= ARRAY_SIZE(dev->mt76.wcid)) mt76 382 drivers/net/wireless/mediatek/mt76/mt7603/mac.c wcid = rcu_dereference(dev->mt76.wcid[idx]); mt76 415 drivers/net/wireless/mediatek/mt76/mt7603/mac.c sband = (i & 1) ? &dev->mt76.sband_5g.sband : &dev->mt76.sband_2g.sband; mt76 486 drivers/net/wireless/mediatek/mt76/mt7603/mac.c i = mt76_get_rate(&dev->mt76, sband, i, cck); mt76 508 drivers/net/wireless/mediatek/mt76/mt7603/mac.c status->chains = dev->mt76.antenna_mask; mt76 567 drivers/net/wireless/mediatek/mt76/mt7603/mac.c int band = dev->mt76.chandef.chan->band; mt76 788 drivers/net/wireless/mediatek/mt76/mt7603/mac.c struct mt76_queue *q = dev->mt76.q_tx[qid].q; mt76 912 drivers/net/wireless/mediatek/mt76/mt7603/mac.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 933 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_lock_bh(&dev->mt76.lock); mt76 937 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_unlock_bh(&dev->mt76.lock); mt76 1012 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_lock_bh(&dev->mt76.lock); mt76 1018 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_unlock_bh(&dev->mt76.lock); mt76 1055 drivers/net/wireless/mediatek/mt76/mt7603/mac.c if (dev->mt76.chandef.chan->band == NL80211_BAND_5GHZ) mt76 1056 drivers/net/wireless/mediatek/mt76/mt7603/mac.c sband = &dev->mt76.sband_5g.sband; mt76 1058 drivers/net/wireless/mediatek/mt76/mt7603/mac.c sband = &dev->mt76.sband_2g.sband; mt76 1060 drivers/net/wireless/mediatek/mt76/mt7603/mac.c final_rate = mt76_get_rate(&dev->mt76, sband, final_rate, mt76 1085 drivers/net/wireless/mediatek/mt76/mt7603/mac.c struct mt76_dev *mdev = &dev->mt76; mt76 1128 drivers/net/wireless/mediatek/mt76/mt7603/mac.c if (wcidx >= ARRAY_SIZE(dev->mt76.wcid)) mt76 1133 drivers/net/wireless/mediatek/mt76/mt7603/mac.c wcid = rcu_dereference(dev->mt76.wcid[wcidx]); mt76 1156 drivers/net/wireless/mediatek/mt76/mt7603/mac.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 1277 drivers/net/wireless/mediatek/mt76/mt7603/mac.c int beacon_int = dev->mt76.beacon_int; mt76 1278 drivers/net/wireless/mediatek/mt76/mt7603/mac.c u32 mask = dev->mt76.mmio.irqmask; mt76 1281 drivers/net/wireless/mediatek/mt76/mt7603/mac.c ieee80211_stop_queues(dev->mt76.hw); mt76 1282 drivers/net/wireless/mediatek/mt76/mt7603/mac.c set_bit(MT76_RESET, &dev->mt76.state); mt76 1285 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mt76_txq_schedule_all(&dev->mt76); mt76 1287 drivers/net/wireless/mediatek/mt76/mt7603/mac.c tasklet_disable(&dev->mt76.tx_tasklet); mt76 1288 drivers/net/wireless/mediatek/mt76/mt7603/mac.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 1289 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_disable(&dev->mt76.napi[0]); mt76 1290 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_disable(&dev->mt76.napi[1]); mt76 1291 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_disable(&dev->mt76.tx_napi); mt76 1293 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mutex_lock(&dev->mt76.mutex); mt76 1319 drivers/net/wireless/mediatek/mt76/mt7603/mac.c for (i = 0; i < ARRAY_SIZE(dev->mt76.q_tx); i++) mt76 1322 drivers/net/wireless/mediatek/mt76/mt7603/mac.c for (i = 0; i < ARRAY_SIZE(dev->mt76.q_rx); i++) mt76 1332 drivers/net/wireless/mediatek/mt76/mt7603/mac.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 1333 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mutex_unlock(&dev->mt76.mutex); mt76 1335 drivers/net/wireless/mediatek/mt76/mt7603/mac.c tasklet_enable(&dev->mt76.tx_tasklet); mt76 1336 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_enable(&dev->mt76.tx_napi); mt76 1337 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_schedule(&dev->mt76.tx_napi); mt76 1339 drivers/net/wireless/mediatek/mt76/mt7603/mac.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 1342 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_enable(&dev->mt76.napi[0]); mt76 1343 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_schedule(&dev->mt76.napi[0]); mt76 1345 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_enable(&dev->mt76.napi[1]); mt76 1346 drivers/net/wireless/mediatek/mt76/mt7603/mac.c napi_schedule(&dev->mt76.napi[1]); mt76 1348 drivers/net/wireless/mediatek/mt76/mt7603/mac.c ieee80211_wake_queues(dev->mt76.hw); mt76 1349 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mt76_txq_schedule_all(&dev->mt76); mt76 1398 drivers/net/wireless/mediatek/mt76/mt7603/mac.c q = dev->mt76.q_tx[i].q; mt76 1464 drivers/net/wireless/mediatek/mt76/mt7603/mac.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 1469 drivers/net/wireless/mediatek/mt76/mt7603/mac.c if (!test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 1472 drivers/net/wireless/mediatek/mt76/mt7603/mac.c state = mt76_channel_state(&dev->mt76, dev->mt76.chandef.chan); mt76 1475 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_lock_bh(&dev->mt76.cc_lock); mt76 1479 drivers/net/wireless/mediatek/mt76/mt7603/mac.c dev->mt76.survey_time)); mt76 1480 drivers/net/wireless/mediatek/mt76/mt7603/mac.c dev->mt76.survey_time = cur_time; mt76 1481 drivers/net/wireless/mediatek/mt76/mt7603/mac.c spin_unlock_bh(&dev->mt76.cc_lock); mt76 1643 drivers/net/wireless/mediatek/mt76/mt7603/mac.c min_signal = mt76_get_min_avg_rssi(&dev->mt76); mt76 1680 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mt76.mac_work.work); mt76 1683 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mt76_tx_status_check(&dev->mt76, NULL, false); mt76 1685 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mutex_lock(&dev->mt76.mutex); mt76 1688 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mt7603_update_channel(&dev->mt76); mt76 1728 drivers/net/wireless/mediatek/mt76/mt7603/mac.c mutex_unlock(&dev->mt76.mutex); mt76 1733 drivers/net/wireless/mediatek/mt76/mt7603/mac.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 17 drivers/net/wireless/mediatek/mt76/mt7603/main.c dev->mt76.survey_time = ktime_get_boottime(); mt76 18 drivers/net/wireless/mediatek/mt76/mt7603/main.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 19 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt7603_mac_work(&dev->mt76.mac_work.work); mt76 29 drivers/net/wireless/mediatek/mt76/mt7603/main.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 30 drivers/net/wireless/mediatek/mt76/mt7603/main.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 44 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 76 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_txq_init(&dev->mt76, vif->txq); mt76 77 drivers/net/wireless/mediatek/mt76/mt7603/main.c rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid); mt76 80 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 98 drivers/net/wireless/mediatek/mt76/mt7603/main.c rcu_assign_pointer(dev->mt76.wcid[idx], NULL); mt76 99 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_txq_remove(&dev->mt76, vif->txq); mt76 101 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 103 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 129 drivers/net/wireless/mediatek/mt76/mt7603/main.c u8 *rssi_data = (u8 *)dev->mt76.eeprom.data; mt76 134 drivers/net/wireless/mediatek/mt76/mt7603/main.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 135 drivers/net/wireless/mediatek/mt76/mt7603/main.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 137 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 138 drivers/net/wireless/mediatek/mt76/mt7603/main.c set_bit(MT76_RESET, &dev->mt76.state); mt76 141 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_set_channel(&dev->mt76); mt76 147 drivers/net/wireless/mediatek/mt76/mt7603/main.c dev->mt76.chandef = *def; mt76 171 drivers/net/wireless/mediatek/mt76/mt7603/main.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 173 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_txq_schedule_all(&dev->mt76); mt76 175 drivers/net/wireless/mediatek/mt76/mt7603/main.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 185 drivers/net/wireless/mediatek/mt76/mt7603/main.c dev->mt76.survey_time = ktime_get_boottime(); mt76 191 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt7603_beacon_set_timer(dev, -1, dev->mt76.beacon_int); mt76 192 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 194 drivers/net/wireless/mediatek/mt76/mt7603/main.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 197 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt7603_mac_work(&dev->mt76.mac_work.work); mt76 216 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 225 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 278 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 305 drivers/net/wireless/mediatek/mt76/mt7603/main.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 307 drivers/net/wireless/mediatek/mt76/mt7603/main.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 310 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 317 drivers/net/wireless/mediatek/mt76/mt7603/main.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 323 drivers/net/wireless/mediatek/mt76/mt7603/main.c idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7603_WTBL_STA - 1); mt76 345 drivers/net/wireless/mediatek/mt76/mt7603/main.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 354 drivers/net/wireless/mediatek/mt76/mt7603/main.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 379 drivers/net/wireless/mediatek/mt76/mt7603/main.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 383 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_stop_tx_queues(&dev->mt76, sta, true); mt76 489 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_wcid_key_setup(&dev->mt76, wcid, key); mt76 503 drivers/net/wireless/mediatek/mt76/mt7603/main.c queue = dev->mt76.q_tx[queue].q->hw_idx; mt76 510 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_lock(&dev->mt76.mutex); mt76 534 drivers/net/wireless/mediatek/mt76/mt7603/main.c mutex_unlock(&dev->mt76.mutex); mt76 566 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, ssn, mt76 571 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_rx_aggr_stop(&dev->mt76, &msta->wcid, tid); mt76 606 drivers/net/wireless/mediatek/mt76/mt7603/main.c spin_lock_bh(&dev->mt76.lock); mt76 620 drivers/net/wireless/mediatek/mt76/mt7603/main.c spin_unlock_bh(&dev->mt76.lock); mt76 653 drivers/net/wireless/mediatek/mt76/mt7603/main.c mt76_tx(&dev->mt76, control->sta, wcid, skb); mt76 21 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c struct mt76_dev *mdev = &dev->mt76; mt76 60 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 79 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c skb = mt76_mcu_get_response(&dev->mt76, expires); mt76 118 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_TARGET_ADDRESS_LEN_REQ, mt76 131 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_FW_SCATTER, mt76 154 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_FW_START_REQ, mt76 186 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c ret = request_firmware(&fw, firmware, dev->mt76.dev); mt76 191 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Invalid firmware\n"); mt76 199 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_info(dev->mt76.dev, "Firmware Version: %.10s\n", hdr->fw_ver); mt76 200 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_info(dev->mt76.dev, "Build Time: %.15s\n", hdr->build_date); mt76 213 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_info(dev->mt76.dev, "Firmware already running...\n"); mt76 218 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Timeout waiting for ROM code to become ready\n"); mt76 226 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Download request failed\n"); mt76 232 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Failed to send firmware to device\n"); mt76 238 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Failed to start firmware\n"); mt76 243 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_err(dev->mt76.dev, "Timeout waiting for firmware to initialize\n"); mt76 255 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c snprintf(dev->mt76.hw->wiphy->fw_version, mt76 256 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c sizeof(dev->mt76.hw->wiphy->fw_version), mt76 258 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev_info(dev->mt76.dev, "firmware init done\n"); mt76 273 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev->mt76.mcu_ops = &mt7603_mcu_ops; mt76 279 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c __mt76_mcu_restart(&dev->mt76); mt76 280 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c skb_queue_purge(&dev->mt76.mmio.mcu.res_q); mt76 362 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c u8 *req, *eep = (u8 *)dev->mt76.eeprom.data; mt76 380 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EFUSE_BUFFER_MODE, mt76 400 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c .center_channel = dev->mt76.chandef.chan->hw_value, mt76 401 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c #define EEP_VAL(n) ((u8 *)dev->mt76.eeprom.data)[n] mt76 419 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c u8 *eep = (u8 *)dev->mt76.eeprom.data; mt76 427 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_TX_POWER_CTRL, mt76 433 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 435 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c int n_chains = hweight8(dev->mt76.antenna_mask); mt76 455 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c if (dev->mt76.chandef.width == NL80211_CHAN_WIDTH_40) { mt76 464 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c if (dev->mt76.antenna_mask == 3) mt76 468 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c dev->mt76.txpower_cur = tx_power; mt76 473 drivers/net/wireless/mediatek/mt76/mt7603/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_CHANNEL_SWITCH, mt76 98 drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h struct mt76_dev mt76; /* must be first */ mt76 186 drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, 0, mask); mt76 191 drivers/net/wireless/mediatek/mt76/mt7603/mt7603.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, mask, 0); mt76 40 drivers/net/wireless/mediatek/mt76/mt7603/pci.c dev = container_of(mdev, struct mt7603_dev, mt76); mt76 66 drivers/net/wireless/mediatek/mt76/mt7603/pci.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 33 drivers/net/wireless/mediatek/mt76/mt7603/soc.c dev = container_of(mdev, struct mt7603_dev, mt76); mt76 59 drivers/net/wireless/mediatek/mt76/mt7603/soc.c struct mt7603_dev *dev = container_of(mdev, struct mt7603_dev, mt76); mt76 68 drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c dir = mt76_register_debugfs(&dev->mt76); mt76 73 drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "radio", dir, mt76 87 drivers/net/wireless/mediatek/mt76/mt7615/debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "temperature", dir, mt76 21 drivers/net/wireless/mediatek/mt76/mt7615/dma.c hwq = devm_kzalloc(dev->mt76.dev, sizeof(*hwq), GFP_KERNEL); mt76 30 drivers/net/wireless/mediatek/mt76/mt7615/dma.c q = &dev->mt76.q_tx[i]; mt76 45 drivers/net/wireless/mediatek/mt76/mt7615/dma.c hwq = devm_kzalloc(dev->mt76.dev, sizeof(*hwq), GFP_KERNEL); mt76 62 drivers/net/wireless/mediatek/mt76/mt7615/dma.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 83 drivers/net/wireless/mediatek/mt76/mt7615/dma.c mt76_rx(&dev->mt76, q, skb); mt76 102 drivers/net/wireless/mediatek/mt76/mt7615/dma.c dev = container_of(napi, struct mt7615_dev, mt76.tx_napi); mt76 113 drivers/net/wireless/mediatek/mt76/mt7615/dma.c tasklet_schedule(&dev->mt76.tx_tasklet); mt76 122 drivers/net/wireless/mediatek/mt76/mt7615/dma.c mt76_dma_attach(&dev->mt76); mt76 155 drivers/net/wireless/mediatek/mt76/mt7615/dma.c ret = mt7615_init_mcu_queue(dev, &dev->mt76.q_tx[MT_TXQ_MCU], mt76 161 drivers/net/wireless/mediatek/mt76/mt7615/dma.c ret = mt7615_init_mcu_queue(dev, &dev->mt76.q_tx[MT_TXQ_FWDL], mt76 168 drivers/net/wireless/mediatek/mt76/mt7615/dma.c ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MCU], 1, mt76 174 drivers/net/wireless/mediatek/mt76/mt7615/dma.c ret = mt76_queue_alloc(dev, &dev->mt76.q_rx[MT_RXQ_MAIN], 0, mt76 186 drivers/net/wireless/mediatek/mt76/mt7615/dma.c netif_tx_napi_add(&dev->mt76.napi_dev, &dev->mt76.tx_napi, mt76 188 drivers/net/wireless/mediatek/mt76/mt7615/dma.c napi_enable(&dev->mt76.tx_napi); mt76 212 drivers/net/wireless/mediatek/mt76/mt7615/dma.c tasklet_kill(&dev->mt76.tx_tasklet); mt76 213 drivers/net/wireless/mediatek/mt76/mt7615/dma.c mt76_dma_cleanup(&dev->mt76); mt76 53 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, len, GFP_KERNEL); mt76 54 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.otp.size = len; mt76 55 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c if (!dev->mt76.otp.data) mt76 58 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c buf = dev->mt76.otp.data; mt76 74 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c ret = mt76_eeprom_init(&dev->mt76, MT7615_EEPROM_SIZE); mt76 95 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c u8 val, *eeprom = dev->mt76.eeprom.data; mt76 101 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.cap.has_5ghz = true; mt76 104 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.cap.has_2ghz = true; mt76 107 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.cap.has_2ghz = true; mt76 108 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c dev->mt76.cap.has_5ghz = true; mt76 175 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c u8 *eeprom = dev->mt76.eeprom.data; mt76 176 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c u8 *otp = dev->mt76.otp.data; mt76 201 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c ret = mt7615_check_eeprom(&dev->mt76); mt76 202 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c if (ret && dev->mt76.otp.data) mt76 203 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c memcpy(dev->mt76.eeprom.data, dev->mt76.otp.data, mt76 209 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c memcpy(dev->mt76.macaddr, dev->mt76.eeprom.data + MT_EE_MAC_ADDR, mt76 212 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c mt76_eeprom_override(&dev->mt76); mt76 71 drivers/net/wireless/mediatek/mt76/mt7615/eeprom.h u8 *eep = dev->mt76.eeprom.data; mt76 107 drivers/net/wireless/mediatek/mt76/mt7615/init.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 120 drivers/net/wireless/mediatek/mt76/mt7615/init.c idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7615_WTBL_STA - 1); mt76 124 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.global_wcid.idx = idx; mt76 125 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.global_wcid.hw_key_idx = -1; mt76 126 drivers/net/wireless/mediatek/mt76/mt7615/init.c rcu_assign_pointer(dev->mt76.wcid[idx], &dev->mt76.global_wcid); mt76 184 drivers/net/wireless/mediatek/mt76/mt7615/init.c int i, n_chains = hweight8(dev->mt76.antenna_mask), target_chains; mt76 185 drivers/net/wireless/mediatek/mt76/mt7615/init.c u8 *eep = (u8 *)dev->mt76.eeprom.data; mt76 228 drivers/net/wireless/mediatek/mt76/mt7615/init.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 230 drivers/net/wireless/mediatek/mt76/mt7615/init.c if (request->dfs_region == dev->mt76.region) mt76 233 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.region = request->dfs_region; mt76 256 drivers/net/wireless/mediatek/mt76/mt7615/init.c INIT_DELAYED_WORK(&dev->mt76.mac_work, mt7615_mac_work); mt76 274 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.sband_2g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; mt76 275 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.sband_5g.sband.ht_cap.cap |= IEEE80211_HT_CAP_LDPC_CODING; mt76 276 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.sband_5g.sband.vht_cap.cap |= mt76 281 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.chainmask = 0x404; mt76 282 drivers/net/wireless/mediatek/mt76/mt7615/init.c dev->mt76.antenna_mask = 0xf; mt76 291 drivers/net/wireless/mediatek/mt76/mt7615/init.c ret = mt76_register_device(&dev->mt76, true, mt7615_rates, mt76 296 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt7615_init_txpower(dev, &dev->mt76.sband_2g.sband); mt76 297 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt7615_init_txpower(dev, &dev->mt76.sband_5g.sband); mt76 309 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt76_unregister_device(&dev->mt76); mt76 315 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt7615_txp_skb_unmap(&dev->mt76, txwi); mt76 318 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt76_put_txwi(&dev->mt76, txwi); mt76 323 drivers/net/wireless/mediatek/mt76/mt7615/init.c mt76_free_device(&dev->mt76); mt76 27 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (idx >= ARRAY_SIZE(dev->mt76.wcid)) mt76 30 drivers/net/wireless/mediatek/mt76/mt7615/mac.c wcid = rcu_dereference(dev->mt76.wcid[idx]); mt76 56 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (!test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 66 drivers/net/wireless/mediatek/mt76/mt7615/mac.c status->freq = dev->mt76.chandef.chan->center_freq; mt76 67 drivers/net/wireless/mediatek/mt76/mt7615/mac.c status->band = dev->mt76.chandef.chan->band; mt76 69 drivers/net/wireless/mediatek/mt76/mt7615/mac.c sband = &dev->mt76.sband_5g.sband; mt76 71 drivers/net/wireless/mediatek/mt76/mt7615/mac.c sband = &dev->mt76.sband_2g.sband; mt76 138 drivers/net/wireless/mediatek/mt76/mt7615/mac.c i = mt76_get_rate(&dev->mt76, sband, i, cck); mt76 178 drivers/net/wireless/mediatek/mt76/mt7615/mac.c status->chains = dev->mt76.antenna_mask; mt76 185 drivers/net/wireless/mediatek/mt76/mt7615/mac.c for (i = 1; i < hweight8(dev->mt76.antenna_mask); i++) { mt76 236 drivers/net/wireless/mediatek/mt76/mt7615/mac.c dev = container_of(mdev, struct mt7615_dev, mt76); mt76 279 drivers/net/wireless/mediatek/mt76/mt7615/mac.c int band = dev->mt76.chandef.chan->band; mt76 739 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_lock_bh(&dev->mt76.lock); mt76 757 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_unlock_bh(&dev->mt76.lock); mt76 768 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 779 drivers/net/wireless/mediatek/mt76/mt7615/mac.c wcid = &dev->mt76.global_wcid; mt76 784 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_lock_bh(&dev->mt76.lock); mt76 788 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_unlock_bh(&dev->mt76.lock); mt76 895 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_lock_bh(&dev->mt76.lock); mt76 900 drivers/net/wireless/mediatek/mt76/mt7615/mac.c spin_unlock_bh(&dev->mt76.lock); mt76 937 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (dev->mt76.chandef.chan->band == NL80211_BAND_5GHZ) mt76 938 drivers/net/wireless/mediatek/mt76/mt7615/mac.c sband = &dev->mt76.sband_5g.sband; mt76 940 drivers/net/wireless/mediatek/mt76/mt7615/mac.c sband = &dev->mt76.sband_2g.sband; mt76 942 drivers/net/wireless/mediatek/mt76/mt7615/mac.c final_rate = mt76_get_rate(&dev->mt76, sband, final_rate, mt76 976 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct mt76_dev *mdev = &dev->mt76; mt76 1019 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (wcidx >= ARRAY_SIZE(dev->mt76.wcid)) mt76 1024 drivers/net/wireless/mediatek/mt76/mt7615/mac.c wcid = rcu_dereference(dev->mt76.wcid[wcidx]); mt76 1047 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct mt76_dev *mdev = &dev->mt76; mt76 1095 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mutex_lock(&dev->mt76.mutex); mt76 1104 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (is_mt7622(&dev->mt76)) { mt76 1119 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mutex_unlock(&dev->mt76.mutex); mt76 1139 drivers/net/wireless/mediatek/mt76/mt7615/mac.c signal = mt76_get_min_avg_rssi(&dev->mt76); mt76 1242 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 1270 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mutex_lock(&dev->mt76.mutex); mt76 1271 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mt7615_update_channel(&dev->mt76); mt76 1276 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mutex_unlock(&dev->mt76.mutex); mt76 1278 drivers/net/wireless/mediatek/mt76/mt7615/mac.c mt76_tx_status_check(&dev->mt76, NULL, false); mt76 1279 drivers/net/wireless/mediatek/mt76/mt7615/mac.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 1285 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 1314 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 1341 drivers/net/wireless/mediatek/mt76/mt7615/mac.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 1344 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (dev->mt76.region == NL80211_DFS_UNSET) mt76 1347 drivers/net/wireless/mediatek/mt76/mt7615/mac.c if (test_bit(MT76_SCANNING, &dev->mt76.state)) mt76 19 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.survey_time = ktime_get_boottime(); mt76 20 drivers/net/wireless/mediatek/mt76/mt7615/main.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 21 drivers/net/wireless/mediatek/mt76/mt7615/main.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 31 drivers/net/wireless/mediatek/mt76/mt7615/main.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 32 drivers/net/wireless/mediatek/mt76/mt7615/main.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 74 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 103 drivers/net/wireless/mediatek/mt76/mt7615/main.c rcu_assign_pointer(dev->mt76.wcid[idx], &mvif->sta.wcid); mt76 106 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_txq_init(&dev->mt76, vif->txq); mt76 109 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 125 drivers/net/wireless/mediatek/mt76/mt7615/main.c rcu_assign_pointer(dev->mt76.wcid[idx], NULL); mt76 126 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_txq_remove(&dev->mt76, vif->txq); mt76 128 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 131 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 138 drivers/net/wireless/mediatek/mt76/mt7615/main.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 140 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 141 drivers/net/wireless/mediatek/mt76/mt7615/main.c set_bit(MT76_RESET, &dev->mt76.state); mt76 145 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_set_channel(&dev->mt76); mt76 153 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.survey_time = ktime_get_boottime(); mt76 158 drivers/net/wireless/mediatek/mt76/mt7615/main.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 159 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 161 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_txq_schedule_all(&dev->mt76); mt76 162 drivers/net/wireless/mediatek/mt76/mt7615/main.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 212 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_wcid_key_setup(&dev->mt76, wcid, mt76 229 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 236 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.rxfilter |= MT_WF_RFCR_DROP_OTHER_UC; mt76 238 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.rxfilter &= ~MT_WF_RFCR_DROP_OTHER_UC; mt76 240 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_wr(dev, MT_WF_RFCR, dev->mt76.rxfilter); mt76 243 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 270 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.rxfilter &= ~(_hw); \ mt76 271 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.rxfilter |= !(flags & FIF_##_flag) * (_hw); \ mt76 274 drivers/net/wireless/mediatek/mt76/mt7615/main.c dev->mt76.rxfilter &= ~(MT_WF_RFCR_DROP_OTHER_BSS | mt76 298 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_wr(dev, MT_WF_RFCR, dev->mt76.rxfilter); mt76 308 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 324 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 334 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 336 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 342 drivers/net/wireless/mediatek/mt76/mt7615/main.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 347 drivers/net/wireless/mediatek/mt76/mt7615/main.c idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT7615_WTBL_STA - 1); mt76 364 drivers/net/wireless/mediatek/mt76/mt7615/main.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 373 drivers/net/wireless/mediatek/mt76/mt7615/main.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 388 drivers/net/wireless/mediatek/mt76/mt7615/main.c spin_lock_bh(&dev->mt76.lock); mt76 400 drivers/net/wireless/mediatek/mt76/mt7615/main.c spin_unlock_bh(&dev->mt76.lock); mt76 410 drivers/net/wireless/mediatek/mt76/mt7615/main.c struct mt76_wcid *wcid = &dev->mt76.global_wcid; mt76 426 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_tx(&dev->mt76, control->sta, wcid, skb); mt76 433 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_lock(&dev->mt76.mutex); mt76 435 drivers/net/wireless/mediatek/mt76/mt7615/main.c mutex_unlock(&dev->mt76.mutex); mt76 460 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, ssn, mt76 465 drivers/net/wireless/mediatek/mt76/mt7615/main.c mt76_rx_aggr_stop(&dev->mt76, &msta->wcid, tid); mt76 60 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c seq = ++dev->mt76.mmio.mcu.msg_seq & 0xf; mt76 62 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c seq = ++dev->mt76.mmio.mcu.msg_seq & 0xf; mt76 107 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c if (test_bit(MT76_STATE_MCU_RUNNING, &dev->mt76.state)) mt76 146 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 195 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ieee80211_radar_detected(dev->mt76.hw); mt76 199 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ieee80211_iterate_active_interfaces_atomic(dev->mt76.hw, mt76 234 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c mt76_mcu_rx_event(&dev->mt76, skb); mt76 250 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_TARGET_ADDRESS_LEN_REQ, mt76 263 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_FW_SCATTER, mt76 287 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_FW_START_REQ, mt76 305 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_PATCH_SEM_CONTROL, mt76 318 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, -MCU_CMD_PATCH_FINISH_REQ, mt76 327 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Timeout for driver own\n"); mt76 347 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to get patch semaphore\n"); mt76 351 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = request_firmware(&fw, MT7615_ROM_PATCH, dev->mt76.dev); mt76 356 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Invalid firmware\n"); mt76 363 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_info(dev->mt76.dev, "HW/SW Version: 0x%x, Build Time: %.16s\n", mt76 371 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Download request failed\n"); mt76 377 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to send firmware to device\n"); mt76 383 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to start patch\n"); mt76 394 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to release patch semaphore\n"); mt76 431 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Download request failed\n"); mt76 437 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to send firmware to device\n"); mt76 453 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = request_firmware(&fw, MT7615_FIRMWARE_N9, dev->mt76.dev); mt76 458 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Invalid firmware\n"); mt76 466 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_info(dev->mt76.dev, "N9 Firmware Version: %.10s, Build Time: %.15s\n", mt76 476 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to start N9 firmware\n"); mt76 482 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = request_firmware(&fw, MT7615_FIRMWARE_CR4, dev->mt76.dev); mt76 487 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Invalid firmware\n"); mt76 495 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_info(dev->mt76.dev, "CR4 Firmware Version: %.10s, Build Time: %.15s\n", mt76 504 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Failed to start CR4 firmware\n"); mt76 520 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Firmware is not ready for download\n"); mt76 535 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Timeout for initializing firmware\n"); mt76 541 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_dbg(dev->mt76.dev, "Firmware init done\n"); mt76 554 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev->mt76.mcu_ops = &mt7615_mcu_ops, mt76 564 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c set_bit(MT76_STATE_MCU_RUNNING, &dev->mt76.state); mt76 571 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c __mt76_mcu_restart(&dev->mt76); mt76 573 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c skb_queue_purge(&dev->mt76.mmio.mcu.res_q); mt76 587 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c u8 *req, *eep = (u8 *)dev->mt76.eeprom.data; mt76 597 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EFUSE_BUFFER_MODE, mt76 615 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_MAC_INIT_CTRL, mt76 634 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_PROTECT_CTRL, mt76 671 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_EDCA_UPDATE, mt76 701 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_PM_STATE_CTRL, mt76 740 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_DEV_INFO_UPDATE, mt76 889 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_BSS_INFO_UPDATE, mt76 925 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 940 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 979 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 992 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 1002 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 1038 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_STA_REC_UPDATE, mt76 1090 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_STA_REC_UPDATE, mt76 1098 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c struct mt76_wcid *wcid = &dev->mt76.global_wcid; mt76 1128 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev_err(dev->mt76.dev, "Bcn size limit exceed\n"); mt76 1147 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_BCN_OFFLOAD, mt76 1153 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c int i, ret, n_chains = hweight8(dev->mt76.antenna_mask); mt76 1154 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 1156 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c u8 *req, *data, *eep = (u8 *)dev->mt76.eeprom.data; mt76 1195 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c dev->mt76.txpower_cur = tx_power; mt76 1209 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_TX_POWER_CTRL, mt76 1234 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_CTRL, mt76 1265 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RDD_PATTERN, mt76 1271 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 1294 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c .tx_streams = (dev->mt76.chainmask >> 8) & 0xf, mt76 1295 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c .rx_streams_mask = dev->mt76.antenna_mask, mt76 1306 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c switch (dev->mt76.chandef.width) { mt76 1333 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_CHANNEL_SWITCH, mt76 1338 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_SET_RX_PATH, mt76 1424 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 1458 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_STA_REC_UPDATE, mt76 1525 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 1530 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_STA_REC_UPDATE, mt76 1585 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c ret = __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_STA_REC_UPDATE, mt76 1590 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_WTBL_UPDATE, mt76 1603 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c return __mt76_mcu_send_msg(&dev->mt76, MCU_EXT_CMD_GET_TEMP, &req, mt76 80 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h struct mt76_dev mt76; /* must be first */ mt76 212 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h enum nl80211_chan_width width = dev->mt76.chandef.width; mt76 213 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h u32 freq = dev->mt76.chandef.chan->center_freq; mt76 223 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, 0, mask); mt76 228 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, mask, 0); mt76 33 drivers/net/wireless/mediatek/mt76/mt7615/pci.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 46 drivers/net/wireless/mediatek/mt76/mt7615/pci.c if (!test_bit(MT76_STATE_INITIALIZED, &dev->mt76.state)) mt76 49 drivers/net/wireless/mediatek/mt76/mt7615/pci.c intr &= dev->mt76.mmio.irqmask; mt76 53 drivers/net/wireless/mediatek/mt76/mt7615/pci.c napi_schedule(&dev->mt76.tx_napi); mt76 58 drivers/net/wireless/mediatek/mt76/mt7615/pci.c napi_schedule(&dev->mt76.napi[0]); mt76 63 drivers/net/wireless/mediatek/mt76/mt7615/pci.c napi_schedule(&dev->mt76.napi[1]); mt76 109 drivers/net/wireless/mediatek/mt76/mt7615/pci.c dev = container_of(mdev, struct mt7615_dev, mt76); mt76 110 drivers/net/wireless/mediatek/mt76/mt7615/pci.c mt76_mmio_init(&dev->mt76, pcim_iomap_table(pdev)[0]); mt76 134 drivers/net/wireless/mediatek/mt76/mt7615/pci.c struct mt7615_dev *dev = container_of(mdev, struct mt7615_dev, mt76); mt76 40 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_err(dev->mt76.dev, mt76 54 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_dbg(dev->mt76.dev, "2GHz %d 5GHz %d\n", mt76 55 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev->mt76.cap.has_2ghz, dev->mt76.cap.has_5ghz); mt76 58 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev->mt76.cap.has_2ghz = false; mt76 59 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_dbg(dev->mt76.dev, "mask out 2GHz support\n"); mt76 63 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev->mt76.cap.has_5ghz = false; mt76 64 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_dbg(dev->mt76.dev, "mask out 5GHz support\n"); mt76 71 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_err(dev->mt76.dev, mt76 79 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_err(dev->mt76.dev, "invalid tx-rx stream\n"); mt76 112 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 132 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 238 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c target_power = (data & 0xff) - dev->mt76.rate_power.ofdm[7]; mt76 289 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c val = get_unaligned_le16(dev->mt76.eeprom.data); mt76 291 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c val = get_unaligned_le16(dev->mt76.eeprom.data + mt76 299 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_err(dev->mt76.dev, "EEPROM data check failed: %04x\n", mt76 309 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c found = mt76_eeprom_init(&dev->mt76, MT76X0_EEPROM_SIZE); mt76 320 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c return mt76x02_get_efuse_data(dev, 0, dev->mt76.eeprom.data, mt76 339 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_warn(dev->mt76.dev, mt76 342 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c dev_info(dev->mt76.dev, "EEPROM ver:%02hhx fae:%02hhx\n", mt76 345 drivers/net/wireless/mediatek/mt76/mt76x0/eeprom.c mt76x02_mac_setaddr(dev, dev->mt76.eeprom.data + MT_EE_MAC_ADDR); mt76 58 drivers/net/wireless/mediatek/mt76/mt76x0/init.c dev_err(dev->mt76.dev, "PLL and XTAL check failed\n"); mt76 167 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (!mt76x02_wait_for_wpdma(&dev->mt76, 200000)) mt76 170 drivers/net/wireless/mediatek/mt76/mt76x0/init.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 174 drivers/net/wireless/mediatek/mt76/mt76x0/init.c return !mt76x02_wait_for_wpdma(&dev->mt76, 50) ? -ETIMEDOUT : 0; mt76 191 drivers/net/wireless/mediatek/mt76/mt76x0/init.c dev_warn(dev->mt76.dev, "Warning: MAC TX did not stop!\n"); mt76 209 drivers/net/wireless/mediatek/mt76/mt76x0/init.c dev_warn(dev->mt76.dev, "Warning: MAC RX did not stop!\n"); mt76 217 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (!mt76x02_wait_for_wpdma(&dev->mt76, 1000)) mt76 221 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 231 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (!mt76x02_wait_for_txrx_idle(&dev->mt76)) mt76 238 drivers/net/wireless/mediatek/mt76/mt76x0/init.c dev->mt76.rxfilter = mt76_rr(dev, MT_RX_FILTR_CFG); mt76 287 drivers/net/wireless/mediatek/mt76/mt76x0/init.c ret = mt76_register_device(&dev->mt76, true, mt76x02_rates, mt76 292 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (dev->mt76.cap.has_5ghz) { mt76 294 drivers/net/wireless/mediatek/mt76/mt76x0/init.c mt76x0_vht_cap_mask(&dev->mt76.sband_5g.sband); mt76 295 drivers/net/wireless/mediatek/mt76/mt76x0/init.c mt76x0_init_txpower(dev, &dev->mt76.sband_5g.sband); mt76 298 drivers/net/wireless/mediatek/mt76/mt76x0/init.c if (dev->mt76.cap.has_2ghz) mt76 299 drivers/net/wireless/mediatek/mt76/mt76x0/init.c mt76x0_init_txpower(dev, &dev->mt76.sband_2g.sband); mt76 19 drivers/net/wireless/mediatek/mt76/mt76x0/main.c mt76_set_channel(&dev->mt76); mt76 34 drivers/net/wireless/mediatek/mt76/mt76x0/main.c mt76_txq_schedule_all(&dev->mt76); mt76 41 drivers/net/wireless/mediatek/mt76/mt76x0/main.c mutex_lock(&dev->mt76.mutex); mt76 50 drivers/net/wireless/mediatek/mt76/mt76x0/main.c dev->mt76.txpower_conf = hw->conf.power_level * 2; mt76 52 drivers/net/wireless/mediatek/mt76/mt76x0/main.c if (test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 58 drivers/net/wireless/mediatek/mt76/mt76x0/main.c dev->mt76.rxfilter |= MT_RX_FILTR_CFG_PROMISC; mt76 60 drivers/net/wireless/mediatek/mt76/mt76x0/main.c dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_PROMISC; mt76 62 drivers/net/wireless/mediatek/mt76/mt76x0/main.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 65 drivers/net/wireless/mediatek/mt76/mt76x0/main.c mutex_unlock(&dev->mt76.mutex); mt76 36 drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h return mt76_chip(&dev->mt76) == 0x7610; mt76 41 drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0.h return mt76_chip(&dev->mt76) == 0x7630; mt76 19 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->mt76.mac_work, mt76 21 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->cal_work, mt76 23 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 31 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 35 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c dev_warn(dev->mt76.dev, "TX DMA did not stop\n"); mt76 42 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c dev_warn(dev->mt76.dev, "TX DMA did not stop\n"); mt76 50 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 104 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 122 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c if (mt76_chip(&dev->mt76) == 0x7610) { mt76 148 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 191 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 217 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c clear_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 218 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 229 drivers/net/wireless/mediatek/mt76/mt76x0/pci.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 15 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c bool is_combo_chip = mt76_chip(&dev->mt76) != 0x7610; mt76 28 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c err = request_firmware(&fw, firmware, dev->mt76.dev); mt76 51 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_info(dev->mt76.dev, "Firmware Version: %d.%d.%02d\n", mt76 55 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_dbg(dev->mt76.dev, mt76 61 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_err(dev->mt76.dev, mt76 74 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_dbg(dev->mt76.dev, "loading FW - ILM %u\n", ilm_len); mt76 80 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_dbg(dev->mt76.dev, "loading FW - IVB %u\n", mt76 88 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_dbg(dev->mt76.dev, "loading FW - DLM %u\n", dlm_len); mt76 100 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_err(dev->mt76.dev, "Firmware failed to start\n"); mt76 106 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev_dbg(dev->mt76.dev, "Firmware running!\n"); mt76 123 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c dev->mt76.mcu_ops = &mt76x0e_mcu_ops; mt76 129 drivers/net/wireless/mediatek/mt76/mt76x0/pci_mcu.c set_bit(MT76_STATE_MCU_RUNNING, &dev->mt76.state); mt76 26 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c if (test_bit(MT76_REMOVED, &dev->mt76.state)) mt76 53 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev_err(dev->mt76.dev, "Error: RF write %d:%d failed:%d!!\n", mt76 65 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c if (test_bit(MT76_REMOVED, &dev->mt76.state)) mt76 96 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev_err(dev->mt76.dev, "Error: RF read %d:%d failed:%d!!\n", mt76 112 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c &dev->mt76.state)); mt76 130 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c &dev->mt76.state)); mt76 197 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev_err(dev->mt76.dev, "Error: BBP is not ready\n"); mt76 201 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev_dbg(dev->mt76.dev, "BBP version %08x\n", val); mt76 450 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c if (dev->mt76.cap.has_2ghz) mt76 454 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c if (dev->mt76.cap.has_5ghz) { mt76 505 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 546 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 601 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c *target_power = cur_power + dev->mt76.rate_power.cck[tx_rate]; mt76 638 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c *target_power = cur_power + dev->mt76.rate_power.ofdm[index]; mt76 648 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c *target_power = cur_power + dev->mt76.rate_power.vht[tx_rate]; mt76 657 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c *target_power = cur_power + dev->mt76.rate_power.ht[tx_rate]; mt76 699 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 844 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c struct mt76_rate_power *t = &dev->mt76.rate_power; mt76 847 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c mt76x0_get_tx_power_per_rate(dev, dev->mt76.chandef.chan, t); mt76 848 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c mt76x0_get_power_info(dev, dev->mt76.chandef.chan, &info); mt76 851 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c mt76x02_limit_rate_power(t, dev->mt76.txpower_conf); mt76 852 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev->mt76.txpower_cur = mt76x02_get_max_rate_power(t); mt76 861 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 937 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c bool scan = test_bit(MT76_SCANNING, &dev->mt76.state); mt76 1013 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->cal_work, mt76 1041 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev->mt76.chandef.chan->hw_value); mt76 1061 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c if ((dev->mt76.chandef.chan->flags & IEEE80211_CHAN_RADAR) && mt76 1073 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c dev->cal.avg_rssi_all = mt76_get_min_avg_rssi(&dev->mt76); mt76 1111 drivers/net/wireless/mediatek/mt76/mt76x0/phy.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->cal_work, mt76 62 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c dev_dbg(dev->mt76.dev, "MCU not ready\n"); mt76 74 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c clear_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 76 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c mt76u_queues_deinit(&dev->mt76); mt76 83 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 85 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 86 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c mt76u_stop_tx(&dev->mt76); mt76 89 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c if (test_bit(MT76_REMOVED, &dev->mt76.state)) mt76 93 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c dev_warn(dev->mt76.dev, "TX DMA did not stop\n"); mt76 98 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c dev_warn(dev->mt76.dev, "RX DMA did not stop\n"); mt76 111 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->mt76.mac_work, mt76 113 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c ieee80211_queue_delayed_work(dev->mt76.hw, &dev->cal_work, mt76 115 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 149 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 180 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c struct ieee80211_hw *hw = dev->mt76.hw; mt76 183 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c err = mt76u_alloc_queues(&dev->mt76); mt76 196 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c if (dev->mt76.usb.sg_en) mt76 201 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 234 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 289 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c bool initialized = test_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 294 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c ieee80211_unregister_hw(dev->mt76.hw); mt76 300 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c ieee80211_free_hw(dev->mt76.hw); mt76 308 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c mt76u_stop_rx(&dev->mt76); mt76 309 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c clear_bit(MT76_STATE_MCU_RUNNING, &dev->mt76.state); mt76 320 drivers/net/wireless/mediatek/mt76/mt76x0/usb.c ret = mt76u_resume_rx(&dev->mt76); mt76 30 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_dbg(dev->mt76.dev, "loading FW - ILM %u + IVB %u\n", mt76 39 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_dbg(dev->mt76.dev, "loading FW - DLM %u\n", dlm_len); mt76 47 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c err = mt76u_vendor_request(&dev->mt76, MT_VEND_DEV_MODE, mt76 54 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_err(dev->mt76.dev, "Firmware failed to start\n"); mt76 59 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_dbg(dev->mt76.dev, "Firmware running!\n"); mt76 75 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c err = firmware_request_nowarn(fw, MT7610E_FIRMWARE, dev->mt76.dev); mt76 77 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_info(dev->mt76.dev, "%s not found, switching to %s", mt76 80 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev->mt76.dev); mt76 118 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_dbg(dev->mt76.dev, mt76 158 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c dev_err(dev->mt76.dev, "Invalid firmware image\n"); mt76 171 drivers/net/wireless/mediatek/mt76/mt76x0/usb_mcu.c set_bit(MT76_STATE_MCU_RUNNING, &dev->mt76.state); mt76 73 drivers/net/wireless/mediatek/mt76/mt76x02.h struct mt76_dev mt76; /* must be first */ mt76 207 drivers/net/wireless/mediatek/mt76/mt76x02.h return mt76_chip(&dev->mt76) == 0x7610 || mt76 208 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_chip(&dev->mt76) == 0x7630 || mt76 209 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_chip(&dev->mt76) == 0x7650; mt76 214 drivers/net/wireless/mediatek/mt76/mt76x02.h return mt76_chip(&dev->mt76) == 0x7612 || mt76 215 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_chip(&dev->mt76) == 0x7632 || mt76 216 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_chip(&dev->mt76) == 0x7662 || mt76 217 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_chip(&dev->mt76) == 0x7602; mt76 222 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, 0, mask); mt76 227 drivers/net/wireless/mediatek/mt76/mt76x02.h mt76_set_irq_mask(&dev->mt76, MT_INT_MASK_CSR, mask, 0); mt76 111 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c u8 old_mask = dev->mt76.beacon_mask; mt76 115 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c if (!dev->mt76.beacon_mask) mt76 119 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c dev->mt76.beacon_mask |= BIT(mvif->idx); mt76 121 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c dev->mt76.beacon_mask &= ~BIT(mvif->idx); mt76 125 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c if (!!old_mask == !!dev->mt76.beacon_mask) mt76 128 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c if (dev->mt76.beacon_mask) mt76 138 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c mt76x02_beacon_enable(dev, !!dev->mt76.beacon_mask); mt76 147 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c u32 timer_val = dev->mt76.beacon_int << 4; mt76 181 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c if (!(dev->mt76.beacon_mask & BIT(mvif->idx))) mt76 201 drivers/net/wireless/mediatek/mt76/mt76x02_beacon.c if (!(dev->mt76.beacon_mask & BIT(mvif->idx))) mt76 112 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c enum nl80211_dfs_regions region = dev->mt76.region; mt76 114 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c mutex_lock(&dev->mt76.mutex); mt76 121 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c mutex_unlock(&dev->mt76.mutex); mt76 142 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c dir = mt76_register_debugfs(&dev->mt76); mt76 152 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "txpower", dir, mt76 155 drivers/net/wireless/mediatek/mt76/mt76x02_debugfs.c debugfs_create_devm_seqfile(dev->mt76.dev, "agc", dir, read_agc); mt76 169 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c seq = devm_kzalloc(dev->mt76.dev, sizeof(*seq), GFP_ATOMIC); mt76 275 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c switch (dev->mt76.region) { mt76 310 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c if (dev->mt76.chandef.chan->center_freq >= 5250 && mt76 311 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c dev->mt76.chandef.chan->center_freq <= 5350) { mt76 449 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c switch (dev->mt76.region) { mt76 619 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c if (test_bit(MT76_SCANNING, &dev->mt76.state)) mt76 632 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c ieee80211_radar_detected(dev->mt76.hw); mt76 660 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c ieee80211_radar_detected(dev->mt76.hw); mt76 677 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c switch (dev->mt76.region) { mt76 705 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c switch (dev->mt76.chandef.width) { mt76 717 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c switch (dev->mt76.region) { mt76 725 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c if (dev->mt76.chandef.chan->center_freq >= 5250 && mt76 726 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c dev->mt76.chandef.chan->center_freq <= 5350) mt76 825 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c struct cfg80211_chan_def *chandef = &dev->mt76.chandef; mt76 828 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c dev->mt76.region != NL80211_DFS_UNSET) { mt76 842 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c if (mt76_chip(&dev->mt76) == 0x7610 || mt76 843 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c mt76_chip(&dev->mt76) == 0x7630) mt76 861 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c dev->mt76.region = NL80211_DFS_UNSET; mt76 873 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c mutex_lock(&dev->mt76.mutex); mt76 874 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c if (dev->mt76.region != region) { mt76 881 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c dev->mt76.region = region; mt76 885 drivers/net/wireless/mediatek/mt76/mt76x02_dfs.c mutex_unlock(&dev->mt76.mutex); mt76 49 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c if (field + len > dev->mt76.eeprom.size) mt76 52 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c memcpy(dest, dev->mt76.eeprom.data + field, len); mt76 78 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c dev->mt76.cap.has_5ghz = true; mt76 81 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c dev->mt76.cap.has_2ghz = true; mt76 84 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c dev->mt76.cap.has_2ghz = true; mt76 85 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.c dev->mt76.cap.has_5ghz = true; mt76 171 drivers/net/wireless/mediatek/mt76/mt76x02_eeprom.h return get_unaligned_le16(dev->mt76.eeprom.data + field); mt76 182 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c int band = dev->mt76.chandef.chan->band; mt76 185 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c r = &dev->mt76.hw->wiphy->bands[band]->bitrates[rate->idx]; mt76 326 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c u8 ccmp_pn[8], nstreams = dev->mt76.chainmask & 0xf; mt76 368 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c txpwr_adj = mt76x02_tx_get_txpwr_adj(dev, dev->mt76.txpower_conf, mt76 372 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (nstreams > 1 && mt76_rev(&dev->mt76) >= MT76XX_REV_E4) mt76 374 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c else if (nstreams > 1 && mt76_rev(&dev->mt76) >= MT76XX_REV_E3 && mt76 469 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev->mt76.chandef.chan->band); mt76 475 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev->mt76.chandef.chan->band); mt76 479 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev->mt76.chandef.chan->band); mt76 521 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c struct mt76_dev *mdev = &dev->mt76; mt76 529 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (stat->wcid < ARRAY_SIZE(dev->mt76.wcid)) mt76 530 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c wcid = rcu_dereference(dev->mt76.wcid[stat->wcid]); mt76 628 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c u8 n_rxstream = dev->mt76.chainmask & 0xf; mt76 670 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c ether_addr_copy(dev->mt76.macaddr, addr); mt76 672 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (!is_valid_ether_addr(dev->mt76.macaddr)) { mt76 673 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c eth_random_addr(dev->mt76.macaddr); mt76 674 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev_info(dev->mt76.dev, mt76 676 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev->mt76.macaddr); mt76 679 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76_wr(dev, MT_MAC_ADDR_DW0, get_unaligned_le32(dev->mt76.macaddr)); mt76 681 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c get_unaligned_le16(dev->mt76.macaddr + 4) | mt76 685 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c get_unaligned_le32(dev->mt76.macaddr)); mt76 687 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c get_unaligned_le16(dev->mt76.macaddr + 4) | mt76 718 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c int pad_len = 0, nstreams = dev->mt76.chainmask & 0xf; mt76 724 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (!test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 738 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c sta = mt76x02_rx_get_sta(&dev->mt76, wcid); mt76 787 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c status->freq = dev->mt76.chandef.chan->center_freq; mt76 788 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c status->band = dev->mt76.chandef.chan->band; mt76 802 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (!test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 829 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 949 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 953 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c state = mt76_channel_state(&dev->mt76, dev->mt76.chandef.chan); mt76 958 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c spin_lock_bh(&dev->mt76.cc_lock); mt76 961 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c spin_unlock_bh(&dev->mt76.cc_lock); mt76 972 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c dev_err(dev->mt76.dev, "mac specific condition occurred\n"); mt76 1011 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 1092 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76.mac_work.work); mt76 1095 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mutex_lock(&dev->mt76.mutex); mt76 1097 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76x02_update_channel(&dev->mt76); mt76 1105 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c if (!dev->mt76.beacon_mask) mt76 1111 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mutex_unlock(&dev->mt76.mutex); mt76 1113 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c mt76_tx_status_check(&dev->mt76, NULL, false); mt76 1115 drivers/net/wireless/mediatek/mt76/mt76x02_mac.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 16 drivers/net/wireless/mediatek/mt76/mt76x02_mcu.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 47 drivers/net/wireless/mediatek/mt76/mt76x02_mcu.c skb = mt76_mcu_get_response(&dev->mt76, expires); mt76 144 drivers/net/wireless/mediatek/mt76/mt76x02_mcu.c while ((skb = skb_dequeue(&dev->mt76.mmio.mcu.res_q)) != NULL) mt76 157 drivers/net/wireless/mediatek/mt76/mt76x02_mcu.c snprintf(dev->mt76.hw->wiphy->fw_version, mt76 158 drivers/net/wireless/mediatek/mt76/mt76x02_mcu.c sizeof(dev->mt76.hw->wiphy->fw_version), mt76 17 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c struct mt76_queue *q = dev->mt76.q_tx[MT_TXQ_PSD].q; mt76 31 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_csa_check(&dev->mt76); mt76 33 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c if (dev->mt76.csa_complete) mt76 63 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 65 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 106 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c hwq = devm_kzalloc(dev->mt76.dev, sizeof(*hwq), GFP_KERNEL); mt76 154 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_txq_schedule_all(&dev->mt76); mt76 160 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76.tx_napi); mt76 174 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_schedule(&dev->mt76.tx_tasklet); mt76 189 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c status_fifo = devm_kzalloc(dev->mt76.dev, fifo_size, GFP_KERNEL); mt76 193 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_init(&dev->mt76.tx_tasklet, mt76x02_tx_tasklet, mt76 195 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_init(&dev->mt76.pre_tbtt_tasklet, mt76x02_pre_tbtt_tasklet, mt76 201 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_dma_attach(&dev->mt76); mt76 206 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ret = mt76x02_init_tx_queue(dev, &dev->mt76.q_tx[i], mt76 213 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ret = mt76x02_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_PSD], mt76 218 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ret = mt76x02_init_tx_queue(dev, &dev->mt76.q_tx[MT_TXQ_MCU], mt76 223 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ret = mt76x02_init_rx_queue(dev, &dev->mt76.q_rx[MT_RXQ_MCU], 1, mt76 228 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c q = &dev->mt76.q_rx[MT_RXQ_MAIN]; mt76 239 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c netif_tx_napi_add(&dev->mt76.napi_dev, &dev->mt76.tx_napi, mt76 241 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_enable(&dev->mt76.tx_napi); mt76 251 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 264 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c if (!test_bit(MT76_STATE_INITIALIZED, &dev->mt76.state)) mt76 267 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c trace_dev_irq(dev, intr, dev->mt76.mmio.irqmask); mt76 269 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c intr &= dev->mt76.mmio.irqmask; mt76 273 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_schedule(&dev->mt76.napi[0]); mt76 278 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_schedule(&dev->mt76.napi[1]); mt76 282 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_schedule(&dev->mt76.pre_tbtt_tasklet); mt76 286 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c if (dev->mt76.csa_complete) mt76 287 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_csa_finish(&dev->mt76); mt76 289 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_queue_kick(dev, dev->mt76.q_tx[MT_TXQ_PSD].q); mt76 297 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_schedule(&dev->mt76.tx_napi); mt76 314 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76x02_wait_for_wpdma(&dev->mt76, 1000); mt76 327 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_kill(&dev->mt76.tx_tasklet); mt76 328 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_dma_cleanup(&dev->mt76); mt76 347 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 364 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c q = dev->mt76.q_tx[i].q; mt76 369 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c prev_dma_idx = dev->mt76.tx_dma_idx[i]; mt76 371 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c dev->mt76.tx_dma_idx[i] = dma_idx; mt76 402 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c lockdep_assert_held(&dev->mt76.mutex); mt76 404 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 407 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ieee80211_iter_keys_rcu(dev->mt76.hw, NULL, mt76x02_key_sync, NULL); mt76 410 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c for (i = 0; i < ARRAY_SIZE(dev->mt76.wcid); i++) { mt76 417 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c wcid = rcu_dereference_protected(dev->mt76.wcid[i], mt76 418 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c lockdep_is_held(&dev->mt76.mutex)); mt76 428 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c __mt76_sta_remove(&dev->mt76, vif, sta); mt76 433 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c dev->mt76.beacon_mask = 0; mt76 438 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c u32 mask = dev->mt76.mmio.irqmask; mt76 439 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c bool restart = dev->mt76.mcu_ops->mcu_restart; mt76 442 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ieee80211_stop_queues(dev->mt76.hw); mt76 443 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c set_bit(MT76_RESET, &dev->mt76.state); mt76 445 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 446 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_disable(&dev->mt76.tx_tasklet); mt76 447 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_disable(&dev->mt76.tx_napi); mt76 449 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) mt76 450 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_disable(&dev->mt76.napi[i]); mt76 452 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mutex_lock(&dev->mt76.mutex); mt76 457 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c if (dev->mt76.beacon_mask) mt76 478 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c for (i = 0; i < ARRAY_SIZE(dev->mt76.q_tx); i++) mt76 481 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c for (i = 0; i < ARRAY_SIZE(dev->mt76.q_rx); i++) mt76 489 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c if (dev->mt76.beacon_mask && !restart) mt76 496 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mutex_unlock(&dev->mt76.mutex); mt76 498 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 500 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_enable(&dev->mt76.tx_tasklet); mt76 501 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_enable(&dev->mt76.tx_napi); mt76 502 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_schedule(&dev->mt76.tx_napi); mt76 504 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 506 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) { mt76 507 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_enable(&dev->mt76.napi[i]); mt76 508 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c napi_schedule(&dev->mt76.napi[i]); mt76 513 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ieee80211_restart_hw(dev->mt76.hw); mt76 515 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c ieee80211_wake_queues(dev->mt76.hw); mt76 516 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mt76_txq_schedule_all(&dev->mt76); mt76 537 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mutex_lock(&dev->mt76.mmio.mcu.mutex); mt76 539 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c mutex_unlock(&dev->mt76.mmio.mcu.mutex); mt76 543 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c memset(dev->mt76.tx_dma_idx, 0xff, mt76 544 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c sizeof(dev->mt76.tx_dma_idx)); mt76 19 drivers/net/wireless/mediatek/mt76/mt76x02_phy.c switch (dev->mt76.chainmask & 0xf) { mt76 38 drivers/net/wireless/mediatek/mt76/mt76x02_phy.c txpath = (dev->mt76.chainmask >> 8) & 0xf; mt76 95 drivers/net/wireless/mediatek/mt76/mt76x02_phy.c struct mt76_rate_power *t = &dev->mt76.rate_power; mt76 14 drivers/net/wireless/mediatek/mt76/mt76x02_phy.h switch (dev->mt76.chandef.width) { mt76 27 drivers/net/wireless/mediatek/mt76/mt76x02_phy.h switch (dev->mt76.chandef.width) { mt76 17 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct mt76_wcid *wcid = &dev->mt76.global_wcid; mt76 31 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c mt76_tx(&dev->mt76, control->sta, wcid, skb); mt76 38 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 43 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c mt76_mcu_rx_event(&dev->mt76, skb); mt76 66 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c max_txpwr = dev->mt76.rate_power.vht[8]; mt76 72 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c max_txpwr = dev->mt76.rate_power.ht[idx & 0xf]; mt76 75 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c max_txpwr = dev->mt76.rate_power.ht[rate->idx & 0xf]; mt76 77 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c enum nl80211_band band = dev->mt76.chandef.chan->band; mt76 81 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct wiphy *wiphy = dev->mt76.hw->wiphy; mt76 82 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct mt76_rate_power *rp = &dev->mt76.rate_power; mt76 90 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c max_txpwr = dev->mt76.rate_power.ofdm[rate->idx & 0x7]; mt76 99 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c txpwr = min_t(s8, txpwr, dev->mt76.txpower_conf); mt76 116 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c dev->mt76.rate_power.ofdm[4]); mt76 126 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 143 drivers/net/wireless/mediatek/mt76/mt76x02_txrx.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 68 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 143 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c dev_dbg(dev->mt76.dev, "TSF: %llu us TBTT %u us\n", tsf, tbtt); mt76 146 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c time = ((1000000000ull * dev->mt76.beacon_int) >> 10); mt76 174 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c if (!dev->mt76.beacon_mask) mt76 186 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c nbeacons = hweight8(dev->mt76.beacon_mask); mt76 209 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c if (en && dev->mt76.beacon_mask && mt76 220 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c if (WARN_ON_ONCE(!dev->mt76.beacon_int)) mt76 254 drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c if (!test_bit(MT76_REMOVED, &dev->mt76.state)) mt76 221 drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c mt76u_vendor_request(&dev->mt76, MT_VEND_DEV_MODE, mt76 243 drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c mt76u_single_wr(&dev->mt76, MT_VEND_WRITE_FCE, mt76 246 drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c mt76u_single_wr(&dev->mt76, MT_VEND_WRITE_FCE, mt76 251 drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c err = mt76u_bulk_msg(&dev->mt76, data, data_len, NULL, 1000); mt76 253 drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c dev_err(dev->mt76.dev, "firmware upload failed: %d\n", err); mt76 96 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76); mt76 148 drivers/net/wireless/mediatek/mt76/mt76x02_util.c INIT_DELAYED_WORK(&dev->mt76.mac_work, mt76x02_mac_work); mt76 181 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.led_cdev.brightness_set = mt76 183 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.led_cdev.blink_set = mt76x02_led_set_blink; mt76 195 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.global_wcid.idx = 255; mt76 196 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.global_wcid.hw_key_idx = -1; mt76 200 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.sband_2g.sband.ht_cap.cap |= mt76 202 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.sband_5g.sband.ht_cap.cap |= mt76 204 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.chainmask = 0x202; mt76 205 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.antenna_mask = 3; mt76 207 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.chainmask = 0x101; mt76 208 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.antenna_mask = 1; mt76 222 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.rxfilter &= ~(_hw); \ mt76 223 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.rxfilter |= !(flags & FIF_##_flag) * (_hw); \ mt76 226 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_lock(&dev->mt76.mutex); mt76 228 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_OTHER_BSS; mt76 241 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 243 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_unlock(&dev->mt76.mutex); mt76 250 drivers/net/wireless/mediatek/mt76/mt76x02_util.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 257 drivers/net/wireless/mediatek/mt76/mt76x02_util.c idx = mt76_wcid_alloc(dev->mt76.wcid_mask, ARRAY_SIZE(dev->mt76.wcid)); mt76 278 drivers/net/wireless/mediatek/mt76/mt76x02_util.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 302 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_txq_init(&dev->mt76, vif->txq); mt76 313 drivers/net/wireless/mediatek/mt76/mt76x02_util.c (((vif->addr[0] ^ dev->mt76.macaddr[0]) & ~GENMASK(4, 1)) || mt76 314 drivers/net/wireless/mediatek/mt76/mt76x02_util.c memcmp(vif->addr + 1, dev->mt76.macaddr + 1, ETH_ALEN - 1))) mt76 318 drivers/net/wireless/mediatek/mt76/mt76x02_util.c idx = 1 + (((dev->mt76.macaddr[0] ^ vif->addr[0]) >> 2) & 7); mt76 352 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_txq_remove(&dev->mt76, vif->txq); mt76 376 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_rx_aggr_start(&dev->mt76, &msta->wcid, tid, mt76 381 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_rx_aggr_stop(&dev->mt76, &msta->wcid, tid); mt76 469 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_wcid_key_setup(&dev->mt76, wcid, key); mt76 492 drivers/net/wireless/mediatek/mt76/mt76x02_util.c qid = dev->mt76.q_tx[queue].q->hw_idx; mt76 552 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_lock(&dev->mt76.mutex); mt76 555 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_unlock(&dev->mt76.mutex); mt76 566 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_lock(&dev->mt76.mutex); mt76 568 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_unlock(&dev->mt76.mutex); mt76 610 drivers/net/wireless/mediatek/mt76/mt76x02_util.c clear_bit(MT76_SCANNING, &dev->mt76.state); mt76 622 drivers/net/wireless/mediatek/mt76/mt76x02_util.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 626 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mt76_stop_tx_queues(&dev->mt76, sta, true); mt76 640 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_lock(&dev->mt76.mutex); mt76 653 drivers/net/wireless/mediatek/mt76/mt76x02_util.c dev->mt76.beacon_int = info->beacon_int; mt76 669 drivers/net/wireless/mediatek/mt76/mt76x02_util.c mutex_unlock(&dev->mt76.mutex); mt76 682 drivers/net/wireless/mediatek/mt76/mt76x02_util.c memcpy(addr, dev->mt76.macaddr, ETH_ALEN); mt76 16 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c void *src = dev->mt76.eeprom.data + MT_EE_MAC_ADDR; mt76 18 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c memcpy(dev->mt76.macaddr, src, ETH_ALEN); mt76 79 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c u8 *eeprom = dev->mt76.eeprom.data; mt76 120 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c u16 val = get_unaligned_le16(dev->mt76.eeprom.data); mt76 123 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c val = get_unaligned_le16(dev->mt76.eeprom.data + MT_EE_PCI_ID); mt76 130 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dev_err(dev->mt76.dev, "EEPROM data check failed: %04x\n", val); mt76 142 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c ret = mt76_eeprom_init(&dev->mt76, MT7662_EEPROM_SIZE); mt76 150 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dev->mt76.otp.data = devm_kzalloc(dev->mt76.dev, MT7662_EEPROM_SIZE, mt76 152 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dev->mt76.otp.size = MT7662_EEPROM_SIZE; mt76 153 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c if (!dev->mt76.otp.data) mt76 156 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c efuse = dev->mt76.otp.data; mt76 167 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c memcpy(dev->mt76.eeprom.data, efuse, MT7662_EEPROM_SIZE); mt76 251 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 458 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c enum nl80211_band band = dev->mt76.chandef.chan->band; mt76 500 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c mt76_eeprom_override(&dev->mt76); mt76 501 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.c dev->mt76.macaddr[0] &= ~BIT(1); mt76 56 drivers/net/wireless/mediatek/mt76/mt76x2/eeprom.h if (dev->mt76.chandef.chan->band == NL80211_BAND_2GHZ) mt76 32 drivers/net/wireless/mediatek/mt76/mt76x2/mcu.c .chainmask = cpu_to_le16(dev->mt76.chainmask), mt76 28 drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h return mt76_chip(&dev->mt76) == 0x7612; mt76 33 drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2.h struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 57 drivers/net/wireless/mediatek/mt76/mt76x2/pci.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 97 drivers/net/wireless/mediatek/mt76/mt76x2/pci.c struct mt76x02_dev *dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 71 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c const u8 *macaddr = dev->mt76.macaddr; mt76 75 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 260 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c dev->mt76.rxfilter = mt76_rr(dev, MT_RX_FILTR_CFG); mt76 266 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 283 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 292 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 312 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c ret = mt76_register_device(&dev->mt76, true, mt76x02_rates, mt76 318 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c mt76x2_init_txpower(dev, &dev->mt76.sband_2g.sband); mt76 319 drivers/net/wireless/mediatek/mt76/mt76x2/pci_init.c mt76x2_init_txpower(dev, &dev->mt76.sband_5g.sband); mt76 22 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 27 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 36 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 46 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c tasklet_disable(&dev->mt76.pre_tbtt_tasklet); mt76 49 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_lock(&dev->mt76.mutex); mt76 50 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c set_bit(MT76_RESET, &dev->mt76.state); mt76 52 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mt76_set_channel(&dev->mt76); mt76 65 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 66 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_unlock(&dev->mt76.mutex); mt76 69 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c tasklet_enable(&dev->mt76.pre_tbtt_tasklet); mt76 71 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mt76_txq_schedule_all(&dev->mt76); mt76 82 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_lock(&dev->mt76.mutex); mt76 86 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.rxfilter |= MT_RX_FILTR_CFG_PROMISC; mt76 88 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_PROMISC; mt76 90 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 94 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.txpower_conf = hw->conf.power_level * 2; mt76 97 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.txpower_conf -= 6; mt76 99 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c if (test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) { mt76 101 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mt76x02_tx_set_txpwr_auto(dev, dev->mt76.txpower_conf); mt76 105 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_unlock(&dev->mt76.mutex); mt76 130 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_lock(&dev->mt76.mutex); mt76 132 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.chainmask = (tx_ant == 3) ? 0x202 : 0x101; mt76 133 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c dev->mt76.antenna_mask = tx_ant; mt76 135 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mt76_set_stream_caps(&dev->mt76, true); mt76 138 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_unlock(&dev->mt76.mutex); mt76 148 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_lock(&dev->mt76.mutex); mt76 149 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c *tx_ant = dev->mt76.antenna_mask; mt76 150 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c *rx_ant = dev->mt76.antenna_mask; mt76 151 drivers/net/wireless/mediatek/mt76/mt76x2/pci_main.c mutex_unlock(&dev->mt76.mutex); mt76 25 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_err(dev->mt76.dev, mt76 39 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "ROM patch already applied\n"); mt76 43 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c ret = request_firmware(&fw, MT7662_ROM_PATCH, dev->mt76.dev); mt76 49 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_err(dev->mt76.dev, "Failed to load firmware\n"); mt76 54 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "ROM patch build: %.15s\n", hdr->build_time); mt76 68 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_err(dev->mt76.dev, "Failed to load ROM patch\n"); mt76 89 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c ret = request_firmware(&fw, MT7662_FIRMWARE, dev->mt76.dev); mt76 106 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "Firmware Version: %d.%d.%02d\n", mt76 110 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "Build: %x\n", val); mt76 111 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "Build Time: %.16s\n", hdr->build_time); mt76 139 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_err(dev->mt76.dev, "Firmware failed to start\n"); mt76 145 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_info(dev->mt76.dev, "Firmware running!\n"); mt76 152 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev_err(dev->mt76.dev, "Invalid firmware\n"); mt76 163 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 185 drivers/net/wireless/mediatek/mt76/mt76x2/pci_mcu.c dev->mt76.mcu_ops = &mt76x2_mcu_ops; mt76 15 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 38 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 77 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c switch (dev->mt76.antenna_mask) { mt76 121 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c bool scan = test_bit(MT76_SCANNING, &dev->mt76.state); mt76 287 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c mutex_lock(&dev->mt76.mutex); mt76 294 drivers/net/wireless/mediatek/mt76/mt76x2/pci_phy.c mutex_unlock(&dev->mt76.mutex); mt76 139 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c enum nl80211_chan_width width = dev->mt76.chandef.width; mt76 140 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 155 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c mt76x02_limit_rate_power(&t, dev->mt76.txpower_conf); mt76 156 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->mt76.txpower_cur = mt76x02_get_max_rate_power(&t); mt76 178 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->mt76.rate_power = t; mt76 205 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 255 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->mt76.chandef.width >= NL80211_CHAN_WIDTH_40) mt76 259 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->mt76.chandef.chan->band == NL80211_BAND_2GHZ && mt76 260 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->mt76.chandef.width < NL80211_CHAN_WIDTH_40) mt76 270 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c if (dev->mt76.chandef.chan->flags & IEEE80211_CHAN_RADAR) mt76 283 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c dev->cal.avg_rssi_all = mt76_get_min_avg_rssi(&dev->mt76); mt76 300 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c if (dev->mt76.chandef.width == NL80211_CHAN_WIDTH_80) { mt76 318 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c if (dev->mt76.chandef.chan->band == NL80211_BAND_2GHZ) mt76 322 drivers/net/wireless/mediatek/mt76/mt76x2/phy.c else if (dev->mt76.chandef.width == NL80211_CHAN_WIDTH_80) mt76 48 drivers/net/wireless/mediatek/mt76/mt76x2/usb.c dev = container_of(mdev, struct mt76x02_dev, mt76); mt76 87 drivers/net/wireless/mediatek/mt76/mt76x2/usb.c set_bit(MT76_REMOVED, &dev->mt76.state); mt76 101 drivers/net/wireless/mediatek/mt76/mt76x2/usb.c mt76u_stop_rx(&dev->mt76); mt76 111 drivers/net/wireless/mediatek/mt76/mt76x2/usb.c err = mt76u_resume_rx(&dev->mt76); mt76 110 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c dev->mt76.eeprom.data = devm_kzalloc(dev->mt76.dev, mt76 113 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c dev->mt76.eeprom.size = MT7612U_EEPROM_SIZE; mt76 114 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c if (!dev->mt76.eeprom.data) mt76 119 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c put_unaligned_le32(val, dev->mt76.eeprom.data + i); mt76 133 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 146 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c if (!mt76x02_wait_for_mac(&dev->mt76)) mt76 159 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c mt76x02_mac_setaddr(dev, dev->mt76.eeprom.data + MT_EE_MAC_ADDR); mt76 160 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c dev->mt76.rxfilter = mt76_rr(dev, MT_RX_FILTR_CFG); mt76 162 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c if (!mt76x02_wait_for_txrx_idle(&dev->mt76)) mt76 209 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c err = mt76u_alloc_queues(&dev->mt76); mt76 217 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c err = mt76_register_device(&dev->mt76, true, mt76x02_rates, mt76 223 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c if (dev->mt76.usb.sg_en) mt76 228 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c set_bit(MT76_STATE_INITIALIZED, &dev->mt76.state); mt76 231 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c mt76x2_init_txpower(dev, &dev->mt76.sband_2g.sband); mt76 232 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c mt76x2_init_txpower(dev, &dev->mt76.sband_5g.sband); mt76 244 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c cancel_delayed_work_sync(&dev->mt76.mac_work); mt76 252 drivers/net/wireless/mediatek/mt76/mt76x2/usb_init.c mt76u_queues_deinit(&dev->mt76); mt76 110 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c mt76x02_wait_for_wpdma(&dev->mt76, 1000); mt76 113 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 128 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c if (test_bit(MT76_REMOVED, &dev->mt76.state)) mt76 188 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mac.c dev_warn(dev->mt76.dev, "MAC RX failed to stop\n"); mt76 17 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c ieee80211_queue_delayed_work(mt76_hw(dev), &dev->mt76.mac_work, mt76 19 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c set_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 28 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c clear_bit(MT76_STATE_RUNNING, &dev->mt76.state); mt76 29 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mt76u_stop_tx(&dev->mt76); mt76 42 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mutex_lock(&dev->mt76.mutex); mt76 43 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c set_bit(MT76_RESET, &dev->mt76.state); mt76 45 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mt76_set_channel(&dev->mt76); mt76 57 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c clear_bit(MT76_RESET, &dev->mt76.state); mt76 58 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mutex_unlock(&dev->mt76.mutex); mt76 61 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mt76_txq_schedule_all(&dev->mt76); mt76 72 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mutex_lock(&dev->mt76.mutex); mt76 76 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c dev->mt76.rxfilter |= MT_RX_FILTR_CFG_PROMISC; mt76 78 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c dev->mt76.rxfilter &= ~MT_RX_FILTR_CFG_PROMISC; mt76 79 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mt76_wr(dev, MT_RX_FILTR_CFG, dev->mt76.rxfilter); mt76 83 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c dev->mt76.txpower_conf = hw->conf.power_level * 2; mt76 86 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c dev->mt76.txpower_conf -= 6; mt76 88 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c if (test_bit(MT76_STATE_RUNNING, &dev->mt76.state)) mt76 92 drivers/net/wireless/mediatek/mt76/mt76x2/usb_main.c mutex_unlock(&dev->mt76.mutex); mt76 23 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c mt76u_vendor_request(&dev->mt76, MT_VEND_DEV_MODE, mt76 30 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c struct mt76_usb *usb = &dev->mt76.usb; mt76 38 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c mt76u_vendor_request(&dev->mt76, MT_VEND_DEV_MODE, mt76 45 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c struct mt76_usb *usb = &dev->mt76.usb; mt76 52 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c mt76u_vendor_request(&dev->mt76, MT_VEND_DEV_MODE, mt76 67 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_err(dev->mt76.dev, mt76 81 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_info(dev->mt76.dev, "ROM patch already applied\n"); mt76 85 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c err = request_firmware(&fw, MT7662_ROM_PATCH, dev->mt76.dev); mt76 90 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_err(dev->mt76.dev, "failed to load firmware\n"); mt76 96 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_info(dev->mt76.dev, "ROM patch build: %.15s\n", hdr->build_time); mt76 133 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_err(dev->mt76.dev, "failed to load ROM patch\n"); mt76 151 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c err = request_firmware(&fw, MT7662_FIRMWARE, dev->mt76.dev); mt76 170 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_info(dev->mt76.dev, "Firmware Version: %d.%d.%02d\n", mt76 174 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_info(dev->mt76.dev, "Build: %x\n", val); mt76 175 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_info(dev->mt76.dev, "Build Time: %.16s\n", hdr->build_time); mt76 219 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_err(dev->mt76.dev, "firmware failed to start\n"); mt76 228 drivers/net/wireless/mediatek/mt76/mt76x2/usb_mcu.c dev_dbg(dev->mt76.dev, "firmware running\n"); mt76 13 drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c struct ieee80211_channel *chan = dev->mt76.chandef.chan; mt76 48 drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c mutex_lock(&dev->mt76.mutex); mt76 54 drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c mutex_unlock(&dev->mt76.mutex); mt76 85 drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c bool scan = test_bit(MT76_SCANNING, &dev->mt76.state); mt76 188 drivers/net/wireless/mediatek/mt76/mt76x2/usb_phy.c chan = dev->mt76.chandef.chan; mt76 13 drivers/net/wireless/mediatek/mt76/trace.h #define TRACE_SYSTEM mt76