Lines Matching refs:vif

249 	if (WARN_ON(arvif->vif->type != NL80211_IFTYPE_AP &&  in ath10k_install_peer_wep_keys()
250 arvif->vif->type != NL80211_IFTYPE_ADHOC)) in ath10k_install_peer_wep_keys()
264 switch (arvif->vif->type) { in ath10k_install_peer_wep_keys()
306 if (arvif->vif->type != NL80211_IFTYPE_ADHOC) in ath10k_install_peer_wep_keys()
448 if (!memcmp(peer->addr, arvif->vif->addr, ETH_ALEN)) in ath10k_mac_vif_update_wep_key()
569 int ath10k_mac_vif_chan(struct ieee80211_vif *vif, in ath10k_mac_vif_chan() argument
575 conf = rcu_dereference(vif->chanctx_conf); in ath10k_mac_vif_chan()
1303 arg.ssid = arvif->vif->bss_conf.ssid; in ath10k_vdev_start_restart()
1304 arg.ssid_len = arvif->vif->bss_conf.ssid_len; in ath10k_vdev_start_restart()
1415 struct ieee80211_vif *vif = arvif->vif; in ath10k_mac_setup_bcn_tmpl() local
1427 bcn = ieee80211_beacon_get_template(hw, vif, &offs); in ath10k_mac_setup_bcn_tmpl()
1465 struct ieee80211_vif *vif = arvif->vif; in ath10k_mac_setup_prb_tmpl() local
1475 prb = ieee80211_proberesp_get(hw, vif); in ath10k_mac_setup_prb_tmpl()
1523 if (WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) in ath10k_mac_vif_fix_hidden_ssid()
1710 struct ieee80211_vif *vif = arvif->vif; in ath10k_mac_vif_setup_ps() local
1720 if (arvif->vif->type != NL80211_IFTYPE_STATION) in ath10k_mac_vif_setup_ps()
1748 vif->bss_conf.beacon_int) / 1000; in ath10k_mac_vif_setup_ps()
1810 struct ieee80211_vif *vif = arvif->vif; in ath10k_mac_vif_ap_csa_count_down() local
1821 if (!vif->csa_active) in ath10k_mac_vif_ap_csa_count_down()
1827 if (!ieee80211_csa_is_complete(vif)) { in ath10k_mac_vif_ap_csa_count_down()
1828 ieee80211_csa_update_counter(vif); in ath10k_mac_vif_ap_csa_count_down()
1840 ieee80211_csa_finish(vif); in ath10k_mac_vif_ap_csa_count_down()
1856 struct ieee80211_vif *vif) in ath10k_mac_handle_beacon_iter() argument
1860 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_handle_beacon_iter()
1862 if (vif->type != NL80211_IFTYPE_STATION) in ath10k_mac_handle_beacon_iter()
1865 if (!ether_addr_equal(mgmt->bssid, vif->bss_conf.bssid)) in ath10k_mac_handle_beacon_iter()
1880 struct ieee80211_vif *vif) in ath10k_mac_handle_beacon_miss_iter() argument
1883 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_handle_beacon_miss_iter()
1893 ieee80211_beacon_loss(vif); in ath10k_mac_handle_beacon_miss_iter()
1916 struct ieee80211_vif *vif = arvif->vif; in ath10k_mac_vif_sta_connection_loss_work() local
1921 ieee80211_connection_loss(vif); in ath10k_mac_vif_sta_connection_loss_work()
1929 struct ieee80211_vif *vif) in ath10k_peer_assoc_h_listen_intval() argument
1939 if (vif->type == NL80211_IFTYPE_STATION) in ath10k_peer_assoc_h_listen_intval()
1946 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_basic() argument
1950 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_basic()
1955 if (vif->type == NL80211_IFTYPE_STATION) in ath10k_peer_assoc_h_basic()
1956 aid = vif->bss_conf.aid; in ath10k_peer_assoc_h_basic()
1964 arg->peer_listen_intval = ath10k_peer_assoc_h_listen_intval(ar, vif); in ath10k_peer_assoc_h_basic()
1966 arg->peer_caps = vif->bss_conf.assoc_capability; in ath10k_peer_assoc_h_basic()
1970 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_crypto() argument
1973 struct ieee80211_bss_conf *info = &vif->bss_conf; in ath10k_peer_assoc_h_crypto()
1981 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) in ath10k_peer_assoc_h_crypto()
2015 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_rates() argument
2019 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_rates()
2031 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) in ath10k_peer_assoc_h_rates()
2077 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_ht() argument
2082 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_ht()
2093 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) in ath10k_peer_assoc_h_ht()
2301 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_vht() argument
2306 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_vht()
2312 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) in ath10k_peer_assoc_h_vht()
2360 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_qos() argument
2364 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_qos()
2377 if (vif->bss_conf.qos) in ath10k_peer_assoc_h_qos()
2399 struct ieee80211_vif *vif, in ath10k_peer_assoc_h_phymode() argument
2403 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_peer_assoc_h_phymode()
2410 if (WARN_ON(ath10k_mac_vif_chan(vif, &def))) in ath10k_peer_assoc_h_phymode()
2473 struct ieee80211_vif *vif, in ath10k_peer_assoc_prepare() argument
2481 ath10k_peer_assoc_h_basic(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2482 ath10k_peer_assoc_h_crypto(ar, vif, arg); in ath10k_peer_assoc_prepare()
2483 ath10k_peer_assoc_h_rates(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2484 ath10k_peer_assoc_h_ht(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2485 ath10k_peer_assoc_h_vht(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2486 ath10k_peer_assoc_h_qos(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2487 ath10k_peer_assoc_h_phymode(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2520 struct ieee80211_vif *vif, in ath10k_mac_vif_recalc_txbf() argument
2523 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_vif_recalc_txbf()
2586 struct ieee80211_vif *vif, in ath10k_bss_assoc() argument
2590 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_bss_assoc()
2604 ap_sta = ieee80211_find_sta(vif, bss_conf->bssid); in ath10k_bss_assoc()
2617 ret = ath10k_peer_assoc_prepare(ar, vif, ap_sta, &peer_arg); in ath10k_bss_assoc()
2641 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); in ath10k_bss_assoc()
2680 struct ieee80211_vif *vif) in ath10k_bss_disassoc() argument
2683 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_bss_disassoc()
2699 ret = ath10k_mac_vif_recalc_txbf(ar, vif, vht_cap); in ath10k_bss_disassoc()
2712 struct ieee80211_vif *vif, in ath10k_station_assoc() argument
2716 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_station_assoc()
2722 ret = ath10k_peer_assoc_prepare(ar, vif, sta, &peer_arg); in ath10k_station_assoc()
2780 struct ieee80211_vif *vif, in ath10k_station_disassoc() argument
2783 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_station_disassoc()
2999 struct ieee80211_vif *vif) in ath10k_mac_tx_unlock_iter() argument
3002 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_tx_unlock_iter()
3086 struct ieee80211_vif *vif) in ath10k_mac_handle_tx_pause_iter() argument
3088 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_handle_tx_pause_iter()
3129 static u8 ath10k_tx_h_get_vdev_id(struct ath10k *ar, struct ieee80211_vif *vif) in ath10k_tx_h_get_vdev_id() argument
3131 if (vif) in ath10k_tx_h_get_vdev_id()
3132 return ath10k_vif_to_arvif(vif)->vdev_id; in ath10k_tx_h_get_vdev_id()
3142 ath10k_tx_h_get_txmode(struct ath10k *ar, struct ieee80211_vif *vif, in ath10k_tx_h_get_txmode() argument
3148 if (!vif || vif->type == NL80211_IFTYPE_MONITOR) in ath10k_tx_h_get_txmode()
3192 static bool ath10k_tx_h_use_hwcrypto(struct ieee80211_vif *vif, in ath10k_tx_h_use_hwcrypto() argument
3199 if (vif) in ath10k_tx_h_use_hwcrypto()
3200 return !ath10k_vif_to_arvif(vif)->nohwcrypt; in ath10k_tx_h_use_hwcrypto()
3260 struct ieee80211_vif *vif, in ath10k_tx_h_add_p2p_noa_ie() argument
3264 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_tx_h_add_p2p_noa_ie()
3635 struct ieee80211_vif *vif = info->control.vif; in ath10k_tx() local
3647 ATH10K_SKB_CB(skb)->htt.nohwcrypt = !ath10k_tx_h_use_hwcrypto(vif, skb); in ath10k_tx()
3648 ATH10K_SKB_CB(skb)->vdev_id = ath10k_tx_h_get_vdev_id(ar, vif); in ath10k_tx()
3649 ATH10K_SKB_CB(skb)->txmode = ath10k_tx_h_get_txmode(ar, vif, sta, skb); in ath10k_tx()
3656 ath10k_tx_h_add_p2p_noa_ie(ar, vif, skb); in ath10k_tx()
3657 ath10k_tx_h_seq_no(vif, skb); in ath10k_tx()
4286 struct ieee80211_vif *vif) in ath10k_add_interface() argument
4289 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_add_interface()
4297 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; in ath10k_add_interface()
4304 arvif->vif = vif; in ath10k_add_interface()
4338 switch (vif->type) { in ath10k_add_interface()
4346 if (vif->p2p) in ath10k_add_interface()
4363 if (vif->p2p) in ath10k_add_interface()
4379 vif->cab_queue = arvif->vdev_id % (IEEE80211_MAX_QUEUES - 1); in ath10k_add_interface()
4380 for (i = 0; i < ARRAY_SIZE(vif->hw_queue); i++) in ath10k_add_interface()
4381 vif->hw_queue[i] = arvif->vdev_id % (IEEE80211_MAX_QUEUES - 1); in ath10k_add_interface()
4399 if (vif->type == NL80211_IFTYPE_ADHOC || in ath10k_add_interface()
4400 vif->type == NL80211_IFTYPE_MESH_POINT || in ath10k_add_interface()
4401 vif->type == NL80211_IFTYPE_AP) { in ath10k_add_interface()
4427 arvif->vdev_subtype, vif->addr); in ath10k_add_interface()
4462 if (ar->cfg_tx_chainmask && (vif->type != NL80211_IFTYPE_MONITOR)) { in ath10k_add_interface()
4478 ret = ath10k_peer_create(ar, arvif->vdev_id, vif->addr, in ath10k_add_interface()
4536 arvif->txpower = vif->bss_conf.txpower; in ath10k_add_interface()
4543 if (vif->type == NL80211_IFTYPE_MONITOR) { in ath10k_add_interface()
4563 ath10k_wmi_peer_delete(ar, arvif->vdev_id, vif->addr); in ath10k_add_interface()
4591 struct ieee80211_vif *vif) in ath10k_remove_interface() argument
4594 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_remove_interface()
4617 vif->addr); in ath10k_remove_interface()
4639 vif->addr); in ath10k_remove_interface()
4651 if (vif->type == NL80211_IFTYPE_MONITOR) { in ath10k_remove_interface()
4699 struct ieee80211_vif *vif, in ath10k_bss_info_changed() argument
4704 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_bss_info_changed()
4711 ath10k_control_ibss(arvif, info, vif->addr); in ath10k_bss_info_changed()
4744 if (ieee80211_vif_is_mesh(vif)) { in ath10k_bss_info_changed()
4775 vif->type == NL80211_IFTYPE_AP) { in ath10k_bss_info_changed()
4850 ath10k_bss_assoc(hw, vif, info); in ath10k_bss_info_changed()
4853 ath10k_bss_disassoc(hw, vif); in ath10k_bss_info_changed()
4868 arvif->ps = vif->bss_conf.ps; in ath10k_bss_info_changed()
4880 struct ieee80211_vif *vif, in ath10k_hw_scan() argument
4884 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_hw_scan()
4958 struct ieee80211_vif *vif) in ath10k_cancel_hw_scan() argument
5012 struct ieee80211_vif *vif, struct ieee80211_sta *sta, in ath10k_set_key() argument
5016 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_set_key()
5041 peer_addr = vif->bss_conf.bssid; in ath10k_set_key()
5043 peer_addr = vif->addr; in ath10k_set_key()
5086 if (vif->type == NL80211_IFTYPE_ADHOC && in ath10k_set_key()
5111 if (is_wep && !sta && vif->type == NL80211_IFTYPE_STATION) { in ath10k_set_key()
5151 struct ieee80211_vif *vif, in ath10k_set_default_unicast_key() argument
5155 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_set_default_unicast_key()
5202 if (WARN_ON(ath10k_mac_vif_chan(arvif->vif, &def))) in ath10k_sta_rc_update_wk()
5264 err = ath10k_station_assoc(ar, arvif->vif, sta, true); in ath10k_sta_rc_update_wk()
5314 struct ieee80211_vif *sta_vif = arsta->arvif->vif; in ath10k_mac_tdls_vif_stations_count_iter()
5321 struct ieee80211_vif *vif) in ath10k_mac_tdls_vif_stations_count() argument
5325 data.curr_vif = vif; in ath10k_mac_tdls_vif_stations_count()
5334 struct ieee80211_vif *vif) in ath10k_mac_tdls_vifs_count_iter() argument
5336 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_tdls_vifs_count_iter()
5339 if (vif->type != NL80211_IFTYPE_STATION) in ath10k_mac_tdls_vifs_count_iter()
5342 if (ath10k_mac_tdls_vif_stations_count(arvif->ar->hw, vif) > 0) in ath10k_mac_tdls_vifs_count_iter()
5358 struct ieee80211_vif *vif, in ath10k_sta_state() argument
5364 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_sta_state()
5419 num_tdls_stations = ath10k_mac_tdls_vif_stations_count(hw, vif); in ath10k_sta_state()
5481 if (ath10k_mac_tdls_vif_stations_count(hw, vif)) in ath10k_sta_state()
5493 (vif->type == NL80211_IFTYPE_AP || in ath10k_sta_state()
5494 vif->type == NL80211_IFTYPE_MESH_POINT || in ath10k_sta_state()
5495 vif->type == NL80211_IFTYPE_ADHOC)) { in ath10k_sta_state()
5502 ret = ath10k_station_assoc(ar, vif, sta, false); in ath10k_sta_state()
5515 ret = ath10k_station_assoc(ar, vif, sta, false); in ath10k_sta_state()
5529 (vif->type == NL80211_IFTYPE_AP || in ath10k_sta_state()
5530 vif->type == NL80211_IFTYPE_MESH_POINT || in ath10k_sta_state()
5531 vif->type == NL80211_IFTYPE_ADHOC)) { in ath10k_sta_state()
5538 ret = ath10k_station_disassoc(ar, vif, sta); in ath10k_sta_state()
5548 static int ath10k_conf_tx_uapsd(struct ath10k *ar, struct ieee80211_vif *vif, in ath10k_conf_tx_uapsd() argument
5551 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_conf_tx_uapsd()
5655 struct ieee80211_vif *vif, u16 ac, in ath10k_conf_tx() argument
5659 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_conf_tx()
5715 ret = ath10k_conf_tx_uapsd(ar, vif, ac, params->uapsd); in ath10k_conf_tx()
5727 struct ieee80211_vif *vif, in ath10k_remain_on_channel() argument
5733 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_remain_on_channel()
5871 static void ath10k_flush(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in ath10k_flush() argument
6195 struct ieee80211_vif *vif, in ath10k_mac_op_set_bitrate_mask() argument
6198 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_mac_op_set_bitrate_mask()
6211 if (ath10k_mac_vif_chan(vif, &def)) in ath10k_mac_op_set_bitrate_mask()
6270 struct ieee80211_vif *vif, in ath10k_sta_rc_update() argument
6342 static u64 ath10k_get_tsf(struct ieee80211_hw *hw, struct ieee80211_vif *vif) in ath10k_get_tsf() argument
6353 struct ieee80211_vif *vif, in ath10k_ampdu_action() argument
6359 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_ampdu_action()
6454 arvif = ath10k_vif_to_arvif(vifs[i].vif); in ath10k_mac_update_vif_chan()
6487 arvif = ath10k_vif_to_arvif(vifs[i].vif); in ath10k_mac_update_vif_chan()
6579 struct ieee80211_vif *vif) in ath10k_mac_change_chanctx_cnt_iter() argument
6583 if (rcu_access_pointer(vif->chanctx_conf) != arg->ctx) in ath10k_mac_change_chanctx_cnt_iter()
6591 struct ieee80211_vif *vif) in ath10k_mac_change_chanctx_fill_iter() argument
6596 ctx = rcu_access_pointer(vif->chanctx_conf); in ath10k_mac_change_chanctx_fill_iter()
6603 arg->vifs[arg->next_vif].vif = vif; in ath10k_mac_change_chanctx_fill_iter()
6668 struct ieee80211_vif *vif, in ath10k_mac_op_assign_vif_chanctx() argument
6672 struct ath10k_vif *arvif = (void *)vif->drv_priv; in ath10k_mac_op_assign_vif_chanctx()
6689 arvif->vdev_id, vif->addr, in ath10k_mac_op_assign_vif_chanctx()
6703 if (vif->type == NL80211_IFTYPE_MONITOR) { in ath10k_mac_op_assign_vif_chanctx()
6704 ret = ath10k_wmi_vdev_up(ar, arvif->vdev_id, 0, vif->addr); in ath10k_mac_op_assign_vif_chanctx()
6729 struct ieee80211_vif *vif, in ath10k_mac_op_unassign_vif_chanctx() argument
6733 struct ath10k_vif *arvif = (void *)vif->drv_priv; in ath10k_mac_op_unassign_vif_chanctx()
6744 if (vif->type == NL80211_IFTYPE_MONITOR) { in ath10k_mac_op_unassign_vif_chanctx()
7100 struct ieee80211_vif *vif) in ath10k_get_arvif_iter() argument
7103 struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif); in ath10k_get_arvif_iter()