/linux/drivers/net/wireless/intel/iwlwifi/mvm/ |
H A D | link.c | 84 struct ieee80211_bss_conf *link_conf) in iwl_mvm_set_link_mapping() argument 88 mvmvif->link[link_conf->link_id]; in iwl_mvm_set_link_mapping() 98 link_conf); in iwl_mvm_set_link_mapping() 105 struct ieee80211_bss_conf *link_conf) in iwl_mvm_add_link() argument 108 unsigned int link_id = link_conf->link_id; in iwl_mvm_add_link() 118 ret = iwl_mvm_set_link_mapping(mvm, vif, link_conf); in iwl_mvm_add_link() 130 cmd.spec_link_id = link_conf->link_id; in iwl_mvm_add_link() 134 memcpy(cmd.local_link_addr, link_conf->addr, ETH_ALEN); in iwl_mvm_add_link() 136 if (vif->type == NL80211_IFTYPE_ADHOC && link_conf->bssid) in iwl_mvm_add_link() 137 memcpy(cmd.ibss_bssid_addr, link_conf->bssid, ETH_ALEN); in iwl_mvm_add_link() [all …]
|
H A D | mld-mac80211.c | 289 struct ieee80211_bss_conf *link_conf, in __iwl_mvm_mld_assign_vif_chanctx() argument 297 unsigned int link_id = link_conf->link_id; in __iwl_mvm_mld_assign_vif_chanctx() 338 ret = iwl_mvm_link_changed(mvm, vif, link_conf, 0, false); in __iwl_mvm_mld_assign_vif_chanctx() 347 if (ieee80211_vif_link_active(vif, link_conf->link_id)) { in __iwl_mvm_mld_assign_vif_chanctx() 348 ret = iwl_mvm_link_changed(mvm, vif, link_conf, in __iwl_mvm_mld_assign_vif_chanctx() 358 link_conf, in __iwl_mvm_mld_assign_vif_chanctx() 368 ret = iwl_mvm_mld_add_snif_sta(mvm, vif, link_conf); in __iwl_mvm_mld_assign_vif_chanctx() 376 iwl_mvm_link_changed(mvm, vif, link_conf, LINK_CONTEXT_MODIFY_ACTIVE, in __iwl_mvm_mld_assign_vif_chanctx() 386 struct ieee80211_bss_conf *link_conf, in iwl_mvm_mld_assign_vif_chanctx() argument 395 ret = iwl_mvm_esr_non_bss_link(mvm, vif, link_conf->link_id, in iwl_mvm_mld_assign_vif_chanctx() [all …]
|
H A D | mld-sta.c | 210 struct ieee80211_bss_conf *link_conf) in iwl_mvm_mld_add_bcast_sta() argument 214 mvmvif->link[link_conf->link_id]; in iwl_mvm_mld_add_bcast_sta() 225 baddr = link_conf->bssid; in iwl_mvm_mld_add_bcast_sta() 249 struct ieee80211_bss_conf *link_conf) in iwl_mvm_mld_add_mcast_sta() argument 253 mvmvif->link[link_conf->link_id]; in iwl_mvm_mld_add_mcast_sta() 283 struct ieee80211_bss_conf *link_conf) in iwl_mvm_mld_add_snif_sta() argument 287 mvmvif->link[link_conf->link_id]; in iwl_mvm_mld_add_snif_sta() 367 struct ieee80211_bss_conf *link_conf) in iwl_mvm_mld_rm_bcast_sta() argument 370 struct iwl_mvm_vif_link_info *link = mvmvif->link[link_conf->link_id]; in iwl_mvm_mld_rm_bcast_sta() 400 struct ieee80211_bss_conf *link_conf) in iwl_mvm_mld_rm_mcast_sta() argument [all …]
|
H A D | mld-mac.c | 23 struct ieee80211_bss_conf *link_conf; in iwl_mvm_mld_mac_ctxt_cmd_common() local 60 for (link_id = 0; link_id < ARRAY_SIZE((vif)->link_conf); link_id++) { in iwl_mvm_mld_mac_ctxt_cmd_common() 61 link_conf = rcu_dereference(vif->link_conf[link_id]); in iwl_mvm_mld_mac_ctxt_cmd_common() 62 if (!link_conf) in iwl_mvm_mld_mac_ctxt_cmd_common() 65 if (link_conf->he_support) in iwl_mvm_mld_mac_ctxt_cmd_common() 71 if (!link_conf->he_support && link_conf->eht_support) in iwl_mvm_mld_mac_ctxt_cmd_common() 74 if (link_conf->eht_support) { in iwl_mvm_mld_mac_ctxt_cmd_common()
|
H A D | mac-ctxt.c | 430 struct ieee80211_bss_conf *link_conf, in iwl_mvm_set_fw_protection_flags() argument 435 u8 protection_mode = link_conf->ht_operation_mode & in iwl_mvm_set_fw_protection_flags() 437 bool ht_enabled = !!(link_conf->ht_operation_mode & in iwl_mvm_set_fw_protection_flags() 440 if (link_conf->use_cts_prot) in iwl_mvm_set_fw_protection_flags() 444 link_conf->use_cts_prot, in iwl_mvm_set_fw_protection_flags() 445 link_conf->ht_operation_mode); in iwl_mvm_set_fw_protection_flags() 464 if (link_conf->chanreq.oper.width > NL80211_CHAN_WIDTH_20) in iwl_mvm_set_fw_protection_flags() 475 struct ieee80211_bss_conf *link_conf, in iwl_mvm_set_fw_qos_params() argument 480 mvmvif->link[link_conf->link_id]; in iwl_mvm_set_fw_qos_params() 500 if (link_conf->qos) in iwl_mvm_set_fw_qos_params() [all …]
|
H A D | mac80211.c | 852 struct ieee80211_bss_conf *link_conf = in iwl_mvm_mac_tx() local 853 rcu_dereference(info->control.vif->link_conf[link_id]); in iwl_mvm_mac_tx() 856 if (WARN_ON(!link_sta || !link_conf)) in iwl_mvm_mac_tx() 862 memcpy(mgmt->sa, link_conf->addr, ETH_ALEN); in iwl_mvm_mac_tx() 863 memcpy(mgmt->bssid, link_conf->bssid, ETH_ALEN); in iwl_mvm_mac_tx() 1484 struct ieee80211_bss_conf *link_conf, in iwl_mvm_set_tx_power() argument 1488 u32 mac_id = iwl_mvm_vif_from_mac80211(link_conf->vif)->id; in iwl_mvm_set_tx_power() 1555 struct ieee80211_bss_conf *link_conf) in iwl_mvm_post_channel_switch() argument 1565 unsigned int link_id = link_conf->link_id; in iwl_mvm_post_channel_switch() 1619 struct ieee80211_bss_conf *link_conf) in iwl_mvm_abort_channel_switch() argument [all …]
|
H A D | coex.c | 354 struct ieee80211_bss_conf *link_conf; in iwl_mvm_bt_notif_per_link() local 363 link_conf = rcu_dereference(vif->link_conf[link_id]); in iwl_mvm_bt_notif_per_link() 368 if (!link_conf) in iwl_mvm_bt_notif_per_link() 371 chanctx_conf = rcu_dereference(link_conf->chanctx_conf); in iwl_mvm_bt_notif_per_link() 542 struct ieee80211_bss_conf *link_conf = in iwl_mvm_bt_coex_notif_iterator() local 543 rcu_dereference_check(vif->link_conf[link_id], in iwl_mvm_bt_coex_notif_iterator() 546 rcu_dereference_check(link_conf->chanctx_conf, in iwl_mvm_bt_coex_notif_iterator()
|
H A D | sta.h | 647 struct ieee80211_bss_conf *link_conf); 649 struct ieee80211_bss_conf *link_conf); 651 struct ieee80211_bss_conf *link_conf); 654 struct ieee80211_bss_conf *link_conf); 657 struct ieee80211_bss_conf *link_conf);
|
H A D | power.c | 285 static bool iwl_mvm_power_is_radar(struct ieee80211_bss_conf *link_conf) in iwl_mvm_power_is_radar() argument 289 chanctx_conf = rcu_dereference(link_conf->chanctx_conf); in iwl_mvm_power_is_radar() 302 struct ieee80211_bss_conf *link_conf; in iwl_mvm_power_config_skip_dtim() local 319 for_each_vif_active_link(vif, link_conf, link_id) { in iwl_mvm_power_config_skip_dtim() 320 unsigned int dtimper = link_conf->dtim_period ?: 1; in iwl_mvm_power_config_skip_dtim() 321 unsigned int dtimper_tu = dtimper * link_conf->beacon_int; in iwl_mvm_power_config_skip_dtim() 324 if (dtimper >= 10 || iwl_mvm_power_is_radar(link_conf)) { in iwl_mvm_power_config_skip_dtim() 527 struct ieee80211_bss_conf *link_conf; in iwl_mvm_power_uapsd_misbehav_ap_iterator() local 531 for_each_vif_active_link(vif, link_conf, link_id) { in iwl_mvm_power_uapsd_misbehav_ap_iterator()
|
H A D | mvm.h | 1868 struct ieee80211_bss_conf *link_conf, 2028 struct ieee80211_bss_conf *link_conf, 2032 struct ieee80211_bss_conf *link_conf, 2038 struct ieee80211_bss_conf *link_conf, 2064 struct ieee80211_bss_conf *link_conf); 2110 struct ieee80211_bss_conf *link_conf); 2112 struct ieee80211_bss_conf *link_conf); 2114 struct ieee80211_bss_conf *link_conf, 2117 struct ieee80211_bss_conf *link_conf); 2119 struct ieee80211_bss_conf *link_conf); [all …]
|
H A D | rs.h | 397 struct ieee80211_bss_conf *link_conf, 443 struct ieee80211_bss_conf *link_conf, 452 struct ieee80211_bss_conf *link_conf,
|
H A D | time-event.c | 972 struct ieee80211_bss_conf *link_conf = in iwl_mvm_rx_session_protect_notif() local 975 if (!link_conf) in iwl_mvm_rx_session_protect_notif() 978 notif_link_id = link_conf->link_id; in iwl_mvm_rx_session_protect_notif() 979 vif = link_conf->vif; in iwl_mvm_rx_session_protect_notif() 1058 struct ieee80211_bss_conf *link_conf; in iwl_mvm_roc_duration_and_delay() local 1066 for_each_vif_active_link(vif, link_conf, link_id) { in iwl_mvm_roc_duration_and_delay() 1069 link_conf->dtim_period * link_conf->beacon_int); in iwl_mvm_roc_duration_and_delay()
|
/linux/net/mac80211/ |
H A D | link.c | 24 struct ieee80211_bss_conf *link_conf) in ieee80211_link_init() argument 31 rcu_assign_pointer(sdata->vif.link_conf[link_id], link_conf); in ieee80211_link_init() 36 link->conf = link_conf; in ieee80211_link_init() 37 link_conf->link_id = link_id; in ieee80211_link_init() 38 link_conf->vif = &sdata->vif; in ieee80211_link_init() 41 link_conf->txpower = INT_MIN; in ieee80211_link_init() 57 ether_addr_copy(link_conf->addr, in ieee80211_link_init() 59 link_conf->bssid = link_conf->addr; in ieee80211_link_init() 234 BUILD_BUG_ON(sizeof(old) != sizeof(sdata->vif.link_conf)); in ieee80211_vif_update_links() 235 memcpy(old, sdata->vif.link_conf, sizeof(old)); in ieee80211_vif_update_links() [all …]
|
H A D | cfg.c | 147 struct ieee80211_bss_conf *link_conf) in ieee80211_set_ap_mbssid_options() argument 152 link_conf->bssid_index = 0; in ieee80211_set_ap_mbssid_options() 153 link_conf->nontransmitted = false; in ieee80211_set_ap_mbssid_options() 154 link_conf->ema_ap = false; in ieee80211_set_ap_mbssid_options() 155 link_conf->bssid_indicator = 0; in ieee80211_set_ap_mbssid_options() 168 link_conf->nontransmitted = true; in ieee80211_set_ap_mbssid_options() 169 link_conf->bssid_index = params->index; in ieee80211_set_ap_mbssid_options() 172 link_conf->ema_ap = true; in ieee80211_set_ap_mbssid_options() 979 struct ieee80211_bss_conf *link_conf, in ieee80211_set_fils_discovery() argument 988 fd = &link_conf->fils_discovery; in ieee80211_set_fils_discovery() [all …]
|
H A D | chan.c | 174 struct ieee80211_bss_conf *link_conf = link->conf; in ieee80211_chanctx_non_reserved_chandef() local 179 comp_def = ieee80211_chanreq_compatible(&link_conf->chanreq, in ieee80211_chanctx_non_reserved_chandef() 447 struct ieee80211_bss_conf *link_conf; in ieee80211_chan_bw_change() local 454 link_conf = link->conf; in ieee80211_chan_bw_change() 456 if (rcu_access_pointer(link_conf->chanctx_conf) != &ctx->conf) in ieee80211_chan_bw_change() 466 new_chandef = &link_conf->chanreq.oper; in ieee80211_chan_bw_change() 794 struct ieee80211_bss_conf *link_conf; in ieee80211_recalc_chanctx_chantype() local 799 link_conf = link->conf; in ieee80211_recalc_chanctx_chantype() 801 if (rcu_access_pointer(link_conf->chanctx_conf) != conf) in ieee80211_recalc_chanctx_chantype() 805 compat = &link_conf->chanreq; in ieee80211_recalc_chanctx_chantype() [all …]
|
H A D | ht.c | 143 struct ieee80211_bss_conf *link_conf; in ieee80211_ht_cap_ie_to_sta_ht_cap() local 256 link_conf = rcu_dereference(sdata->vif.link_conf[link_sta->link_id]); in ieee80211_ht_cap_ie_to_sta_ht_cap() 257 if (WARN_ON(!link_conf)) in ieee80211_ht_cap_ie_to_sta_ht_cap() 260 width = link_conf->chanreq.oper.width; in ieee80211_ht_cap_ie_to_sta_ht_cap()
|
/linux/drivers/net/wireless/mediatek/mt76/mt7925/ |
H A D | mcu.c | 124 struct ieee80211_bss_conf *link_conf) in mt7925_mcu_update_arp_filter() argument 126 struct ieee80211_vif *mvif = container_of((void *)link_conf->vif, in mt7925_mcu_update_arp_filter() 129 struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf); in mt7925_mcu_update_arp_filter() 1057 struct ieee80211_bss_conf *link_conf; in mt7925_mcu_sta_key_tlv() local 1059 link_conf = mt792x_vif_to_bss_conf(vif, wcid->link_id); in mt7925_mcu_sta_key_tlv() 1061 if (link_conf) in mt7925_mcu_sta_key_tlv() 1062 memcpy(sec->peer_addr, link_conf->bssid, ETH_ALEN); in mt7925_mcu_sta_key_tlv() 1133 struct ieee80211_bss_conf *link_conf; in mt7925_mcu_set_mlo_roc() local 1165 link_conf = mt792x_vif_to_bss_conf(vif, links[i].id); in mt7925_mcu_set_mlo_roc() 1166 if (WARN_ON_ONCE(!link_conf)) in mt7925_mcu_set_mlo_roc() [all …]
|
H A D | main.c | 350 struct ieee80211_bss_conf *link_conf, in mt7925_mac_link_bss_add() argument 353 struct mt792x_bss_conf *mconf = mt792x_link_conf_to_mconf(link_conf); in mt7925_mac_link_bss_add() 354 struct ieee80211_vif *vif = link_conf->vif; in mt7925_mac_link_bss_add() 375 ret = mt76_connac_mcu_uni_add_dev(&dev->mphy, link_conf, in mt7925_mac_link_bss_add() 581 struct ieee80211_bss_conf *link_conf; in mt7925_set_link_key() local 589 link_conf = mt792x_vif_to_bss_conf(vif, link_id); in mt7925_set_link_key() 622 mt7925_mcu_add_bss_info(phy, mconf->mt76.ctx, link_conf, in mt7925_set_link_key() 835 struct ieee80211_bss_conf *link_conf; in mt7925_mac_link_sta_add() local 866 link_conf = mt792x_vif_to_bss_conf(vif, link_id); in mt7925_mac_link_sta_add() 871 link_conf, link_sta, false); in mt7925_mac_link_sta_add() [all …]
|
H A D | mcu.h | 632 struct ieee80211_bss_conf *link_conf, 636 struct ieee80211_bss_conf *link_conf); 641 struct ieee80211_bss_conf *link_conf, 645 struct ieee80211_bss_conf *link_conf);
|
/linux/drivers/net/wireless/intel/iwlwifi/mvm/tests/ |
H A D | links.c | 46 static struct ieee80211_bss_conf link_conf = {.bss = &bss}; variable 195 link_conf.vif = vif; in KUNIT_ARRAY_PARAM_DESC() 196 link_conf.chanreq.oper = params->chandef; in KUNIT_ARRAY_PARAM_DESC() 222 ret = iwl_mvm_get_link_grade(&link_conf); in test_link_grading() 227 kunit_kfree(test, link_conf.vif); in test_link_grading() 402 conf = kunit_kzalloc(test, sizeof(*vif->link_conf[0]), GFP_KERNEL); in KUNIT_ARRAY_PARAM_DESC() 406 vif->link_conf[link_a.link_id] = (void __rcu *)conf; in KUNIT_ARRAY_PARAM_DESC() 408 conf = kunit_kzalloc(test, sizeof(*vif->link_conf[0]), GFP_KERNEL); in KUNIT_ARRAY_PARAM_DESC() 411 vif->link_conf[link_b.link_id] = (void __rcu *)conf; in KUNIT_ARRAY_PARAM_DESC()
|
/linux/drivers/net/wireless/silabs/wfx/ |
H A D | sta.h | 33 struct ieee80211_bss_conf *link_conf); 35 struct ieee80211_bss_conf *link_conf); 54 struct ieee80211_bss_conf *link_conf, 57 struct ieee80211_bss_conf *link_conf,
|
/linux/drivers/net/wireless/mediatek/mt76/ |
H A D | mt792x.h | 128 struct mt792x_bss_conf __rcu *link_conf[IEEE80211_MLD_MAX_NUM_LINKS]; member 251 return rcu_dereference_protected(mvif->link_conf[link_id], in mt792x_vif_to_link() 271 mt792x_link_conf_to_mconf(struct ieee80211_bss_conf *link_conf) in mt792x_link_conf_to_mconf() argument 273 struct ieee80211_vif *vif = link_conf->vif; in mt792x_link_conf_to_mconf() 276 return mt792x_vif_to_link(mvif, link_conf->link_id); in mt792x_link_conf_to_mconf() 371 struct ieee80211_bss_conf *link_conf, 375 struct ieee80211_bss_conf *link_conf,
|
H A D | mt792x_core.c | 89 conf = rcu_dereference(vif->link_conf[link_id]); in mt792x_tx() 144 struct ieee80211_bss_conf *link_conf; in mt792x_mac_link_bss_remove() local 147 link_conf = mt792x_vif_to_bss_conf(vif, mconf->link_id); in mt792x_mac_link_bss_remove() 150 mt76_connac_mcu_uni_add_dev(&dev->mphy, link_conf, &mlink->wcid, false); in mt792x_mac_link_bss_remove() 299 struct ieee80211_bss_conf *link_conf, in mt792x_assign_vif_chanctx() argument 317 struct ieee80211_bss_conf *link_conf, in mt792x_unassign_vif_chanctx() argument
|
/linux/drivers/net/wireless/realtek/rtw89/ |
H A D | mac80211.c | 772 struct ieee80211_bss_conf *link_conf) in rtw89_ops_start_ap() argument 781 rtwvif_link = rtwvif->links[link_conf->link_id]; in rtw89_ops_start_ap() 785 __func__, link_conf->link_id); in rtw89_ops_start_ap() 798 ether_addr_copy(rtwvif_link->bssid, link_conf->bssid); in rtw89_ops_start_ap() 817 struct ieee80211_bss_conf *link_conf) in rtw89_ops_stop_ap() argument 825 rtwvif_link = rtwvif->links[link_conf->link_id]; in rtw89_ops_stop_ap() 829 __func__, link_conf->link_id); in rtw89_ops_stop_ap() 1340 struct ieee80211_bss_conf *link_conf, in rtw89_ops_assign_vif_chanctx() argument 1350 rtwvif_link = rtwvif->links[link_conf->link_id]; in rtw89_ops_assign_vif_chanctx() 1354 __func__, link_conf->link_id); in rtw89_ops_assign_vif_chanctx() [all …]
|
/linux/drivers/net/wireless/virtual/ |
H A D | mac80211_hwsim.c | 1354 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) { in mac80211_hwsim_addr_iter() 1357 conf = rcu_dereference(vif->link_conf[i]); in mac80211_hwsim_addr_iter() 1642 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) { in mac80211_hwsim_tx_iter() 1646 conf = rcu_dereference(vif->link_conf[i]); in mac80211_hwsim_tx_iter() 1901 for (i = 0; i < ARRAY_SIZE(vif->link_conf); i++) { in mac80211_hwsim_select_tx_link() 1906 link_id = (sp->last_link + i + 1) % ARRAY_SIZE(vif->link_conf); in mac80211_hwsim_select_tx_link() 1918 bss_conf = rcu_dereference(vif->link_conf[link_id]); in mac80211_hwsim_select_tx_link() 1966 bss_conf = rcu_dereference(txi->control.vif->link_conf[link]); in mac80211_hwsim_tx() 2151 struct ieee80211_bss_conf *link_conf, in mac80211_hwsim_link_add_debugfs() argument 2157 &vp->skip_beacons[link_conf->link_id]); in mac80211_hwsim_link_add_debugfs() [all …]
|