Lines Matching full:mt76
22 int i, nss = hweight8(phy->mt76->antenna_mask); in mt7925_init_he_caps()
162 enum nl80211_chan_width width = phy->mt76->chandef.width; in mt7925_init_eht_caps()
163 int nss = hweight8(phy->mt76->antenna_mask); in mt7925_init_eht_caps()
164 int sts = hweight16(phy->mt76->chainmask); in mt7925_init_eht_caps()
241 struct wiphy *wiphy = phy->mt76->hw->wiphy; in mt7925_init_mlo_caps()
297 if (phy->mt76->cap.has_2ghz) in mt7925_set_stream_he_eht_caps()
298 __mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_2g.sband, in mt7925_set_stream_he_eht_caps()
301 if (phy->mt76->cap.has_5ghz) in mt7925_set_stream_he_eht_caps()
302 __mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_5g.sband, in mt7925_set_stream_he_eht_caps()
305 if (phy->mt76->cap.has_6ghz) in mt7925_set_stream_he_eht_caps()
306 __mt7925_set_stream_he_eht_caps(phy, &phy->mt76->sband_6g.sband, in mt7925_set_stream_he_eht_caps()
312 struct mt76_phy *mphy = phy->mt76; in __mt7925_start()
367 mconf->mt76.idx = MT792x_MAX_INTERFACES; in mt7925_mac_link_bss_add()
369 mconf->mt76.idx = __ffs64(~dev->mt76.vif_mask); in mt7925_mac_link_bss_add()
371 if (mconf->mt76.idx >= MT792x_MAX_INTERFACES) { in mt7925_mac_link_bss_add()
377 mconf->mt76.omac_idx = ieee80211_vif_is_mld(vif) ? in mt7925_mac_link_bss_add()
378 0 : mconf->mt76.idx; in mt7925_mac_link_bss_add()
379 mconf->mt76.band_idx = 0xff; in mt7925_mac_link_bss_add()
380 mconf->mt76.wmm_idx = ieee80211_vif_is_mld(vif) ? in mt7925_mac_link_bss_add()
381 0 : mconf->mt76.idx % MT76_CONNAC_MAX_WMM_SETS; in mt7925_mac_link_bss_add()
382 mconf->mt76.link_idx = hweight16(mvif->valid_links); in mt7925_mac_link_bss_add()
384 if (mvif->phy->mt76->chandef.chan->band != NL80211_BAND_2GHZ) in mt7925_mac_link_bss_add()
385 mconf->mt76.basic_rates_idx = MT792x_BASIC_RATES_TBL + 4; in mt7925_mac_link_bss_add()
387 mconf->mt76.basic_rates_idx = MT792x_BASIC_RATES_TBL; in mt7925_mac_link_bss_add()
389 dev->mt76.vif_mask |= BIT_ULL(mconf->mt76.idx); in mt7925_mac_link_bss_add()
390 mvif->phy->omac_mask |= BIT_ULL(mconf->mt76.omac_idx); in mt7925_mac_link_bss_add()
392 idx = MT792x_WTBL_RESERVED - mconf->mt76.idx; in mt7925_mac_link_bss_add()
403 rcu_assign_pointer(dev->mt76.wcid[idx], &mlink->wcid); in mt7925_mac_link_bss_add()
405 ret = mt76_connac_mcu_uni_add_dev(&dev->mphy, link_conf, &mconf->mt76, in mt7925_mac_link_bss_add()
461 if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) in mt7925_roc_abort_sync()
475 if (!test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) in mt7925_roc_work()
479 ieee80211_iterate_active_interfaces(phy->mt76->hw, in mt7925_roc_work()
483 ieee80211_remain_on_channel_expired(phy->mt76->hw); in mt7925_roc_work()
495 if (test_and_clear_bit(MT76_STATE_ROC, &phy->mt76->state)) in mt7925_abort_roc()
510 if (test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state)) in mt7925_set_roc()
518 clear_bit(MT76_STATE_ROC, &phy->mt76->state); in mt7925_set_roc()
524 clear_bit(MT76_STATE_ROC, &phy->mt76->state); in mt7925_set_roc()
538 if (WARN_ON_ONCE(test_and_set_bit(MT76_STATE_ROC, &phy->mt76->state))) in mt7925_set_mlo_roc()
545 clear_bit(MT76_STATE_ROC, &phy->mt76->state); in mt7925_set_mlo_roc()
551 clear_bit(MT76_STATE_ROC, &phy->mt76->state); in mt7925_set_mlo_roc()
631 if (cmd == SET_KEY && !mconf->mt76.cipher) { in mt7925_set_link_key()
634 mconf->mt76.cipher = mt7925_mcu_get_cipher(key->cipher); in mt7925_set_link_key()
635 mt7925_mcu_add_bss_info(phy, mconf->mt76.ctx, link_conf, in mt7925_set_link_key()
646 mt76_wcid_key_setup(&dev->mt76, wcid, in mt7925_set_link_key()
649 err = mt7925_mcu_add_key(&dev->mt76, vif, &mlink->bip, in mt7925_set_link_key()
658 err = mt7925_mcu_add_key(&dev->mt76, vif, &mvif->wep_sta->deflink.bip, in mt7925_set_link_key()
846 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_link_sta_add()
859 idx = mt76_wcid_alloc(dev->mt76.wcid_mask, MT792x_WTBL_STA - 1); in mt7925_mac_link_sta_add()
875 rcu_assign_pointer(dev->mt76.wcid[wcid->idx], wcid); in mt7925_mac_link_sta_add()
893 mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, in mt7925_mac_link_sta_add()
896 mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, in mt7925_mac_link_sta_add()
945 mlink = devm_kzalloc(dev->mt76.dev, sizeof(*mlink), GFP_KERNEL); in mt7925_mac_sta_add_links()
959 mt7925_mac_link_sta_add(&dev->mt76, vif, link_sta); in mt7925_mac_sta_add_links()
968 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_sta_add()
1043 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_set_links()
1077 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_link_sta_assoc()
1097 mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, in mt7925_mac_link_sta_assoc()
1137 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_link_sta_remove()
1166 mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, link_conf, in mt7925_mac_link_sta_remove()
1183 struct mt76_dev *mdev = &dev->mt76; in mt7925_mac_sta_remove_links()
1211 mt7925_mcu_add_bss_info(&dev->phy, mconf->mt76.ctx, link_conf, in mt7925_mac_sta_remove_links()
1227 mt7925_mac_link_sta_remove(&dev->mt76, vif, link_sta); in mt7925_mac_sta_remove_links()
1250 struct mt792x_dev *dev = container_of(mdev, struct mt792x_dev, mt76); in mt7925_mac_sta_remove()
1305 mt76_rx_aggr_start(&dev->mt76, &msta->deflink.wcid, tid, ssn, in mt7925_ampdu_action()
1310 mt76_rx_aggr_stop(&dev->mt76, &msta->deflink.wcid, tid); in mt7925_ampdu_action()
1394 struct mt76_dev *mdev = &phy->dev->mt76; in mt7925_scan_work()
1399 spin_lock_bh(&phy->dev->mt76.lock); in mt7925_scan_work()
1401 spin_unlock_bh(&phy->dev->mt76.lock); in mt7925_scan_work()
1415 if (test_and_clear_bit(MT76_HW_SCANNING, &phy->mt76->state)) { in mt7925_scan_work()
1419 ieee80211_scan_completed(phy->mt76->hw, &info); in mt7925_scan_work()
1437 ieee80211_sched_scan_results(phy->mt76->hw); in mt7925_scan_work()
1529 phy->mt76->antenna_mask = tx_ant; in mt7925_set_antenna()
1530 phy->mt76->chainmask = tx_ant; in mt7925_set_antenna()
1532 mt76_set_stream_caps(phy->mt76, true); in mt7925_set_antenna()
1549 cancel_delayed_work_sync(&phy->mt76->mac_work); in mt7925_suspend()
1556 clear_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7925_suspend()
1574 set_bit(MT76_STATE_RUNNING, &phy->mt76->state); in mt7925_resume()
1580 ieee80211_queue_delayed_work(hw, &phy->mt76->mac_work, in mt7925_resume()
1657 .bss_idx = mconf->mt76.idx, in __mt7925_ipv6_addr_change()
1681 skb = __mt76_mcu_msg_alloc(&dev->mt76, NULL, sizeof(req_hdr), in __mt7925_ipv6_addr_change()
1690 ieee80211_queue_work(dev->mt76.hw, &dev->ipv6_ns_work); in __mt7925_ipv6_addr_change()
1734 err = mt7925_mcu_set_clc(dev, dev->mt76.alpha2, in mt7925_set_sar_specs()
1788 err = mt7925_mcu_add_bss_info(&dev->phy, mvif->bss_conf.mt76.ctx, in mt7925_start_ap()
1819 mt7925_mcu_add_bss_info(&dev->phy, mvif->bss_conf.mt76.ctx, link_conf, in mt7925_stop_ap()
1868 if (mconf && mconf->mt76.ctx == ctx) in mt7925_change_chanctx()
1880 mt7925_mcu_set_chctx(mvif->phy->mt76, &mconf->mt76, in mt7925_change_chanctx()
1884 mt7925_mcu_set_eht_pp(mvif->phy->mt76, &mconf->mt76, in mt7925_change_chanctx()
1903 mvif->bss_conf.mt76.ctx->def.chan, duration, in mt7925_mgd_prepare_tx()
1942 mt7925_mcu_update_arp_filter(&dev->mt76, bss_conf); in mt7925_vif_cfg_changed()
1992 mconf->mt76.mcast_rates_idx = in mt7925_link_info_changed()
1996 mconf->mt76.basic_rates_idx = in mt7925_link_info_changed()
2001 mconf->mt76.beacon_rates_idx = in mt7925_link_info_changed()
2021 mt7925_mcu_set_eht_pp(mvif->phy->mt76, &mconf->mt76, in mt7925_link_info_changed()
2057 devm_kfree(dev->mt76.dev, mconf); in mt7925_change_vif_links()
2058 devm_kfree(dev->mt76.dev, mlink); in mt7925_change_vif_links()
2071 mconf = devm_kzalloc(dev->mt76.dev, sizeof(*mconf), in mt7925_change_vif_links()
2073 mlink = devm_kzalloc(dev->mt76.dev, sizeof(*mlink), in mt7925_change_vif_links()
2126 devm_kfree(dev->mt76.dev, mconfs[link_id]); in mt7925_change_vif_links()
2128 devm_kfree(dev->mt76.dev, mlinks[link_id]); in mt7925_change_vif_links()
2175 mutex_lock(&dev->mt76.mutex); in mt7925_assign_vif_chanctx()
2189 mconf->mt76.ctx = ctx; in mt7925_assign_vif_chanctx()
2191 mutex_unlock(&dev->mt76.mutex); in mt7925_assign_vif_chanctx()
2206 mutex_lock(&dev->mt76.mutex); in mt7925_unassign_vif_chanctx()
2220 mconf->mt76.ctx = NULL; in mt7925_unassign_vif_chanctx()
2221 mutex_unlock(&dev->mt76.mutex); in mt7925_unassign_vif_chanctx()