Lines Matching full:vif

183 static inline u8 get_sta_index(struct ieee80211_vif *vif,  in get_sta_index()  argument
186 return NL80211_IFTYPE_STATION == vif->type ? in get_sta_index()
373 struct ieee80211_vif *vif = NULL; in wcn36xx_change_ps() local
377 vif = wcn36xx_priv_to_vif(tmp); in wcn36xx_change_ps()
379 if (vif->bss_conf.ps) /* ps allowed ? */ in wcn36xx_change_ps()
380 wcn36xx_pmc_enter_bmps_state(wcn, vif); in wcn36xx_change_ps()
382 wcn36xx_pmc_exit_bmps_state(wcn, vif); in wcn36xx_change_ps()
389 struct ieee80211_vif *vif = NULL; in wcn36xx_change_opchannel() local
393 vif = wcn36xx_priv_to_vif(tmp); in wcn36xx_change_opchannel()
394 wcn36xx_smd_switch_channel(wcn, vif, ch); in wcn36xx_change_opchannel()
447 struct ieee80211_vif *vif = NULL; in wcn36xx_configure_filter() local
457 vif = wcn36xx_priv_to_vif(tmp); in wcn36xx_configure_filter()
461 wcn36xx_smd_set_mc_list(wcn, vif, NULL); in wcn36xx_configure_filter()
462 else if (NL80211_IFTYPE_STATION == vif->type && tmp->sta_assoc) in wcn36xx_configure_filter()
463 wcn36xx_smd_set_mc_list(wcn, vif, fp); in wcn36xx_configure_filter()
512 struct ieee80211_vif *vif, in wcn36xx_set_key() argument
517 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_set_key()
572 if (NL80211_IFTYPE_STATION == vif->type) in wcn36xx_set_key()
574 vif, in wcn36xx_set_key()
584 get_sta_index(vif, sta_priv)); in wcn36xx_set_key()
603 get_sta_index(vif, sta_priv)); in wcn36xx_set_key()
614 if (vif->type == NL80211_IFTYPE_STATION) in wcn36xx_set_key()
633 get_sta_index(vif, sta_priv)); in wcn36xx_set_key()
649 struct ieee80211_vif *vif, in wcn36xx_hw_scan() argument
679 return wcn36xx_smd_start_hw_scan(wcn, vif, &hw_req->req); in wcn36xx_hw_scan()
683 struct ieee80211_vif *vif) in wcn36xx_cancel_hw_scan() argument
699 struct ieee80211_vif *vif, in wcn36xx_sw_scan_start() argument
703 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_sw_scan_start()
706 wcn->sw_scan_vif = vif; in wcn36xx_sw_scan_start()
715 struct ieee80211_vif *vif) in wcn36xx_sw_scan_complete() argument
809 struct ieee80211_vif *vif, in wcn36xx_bss_info_changed() argument
817 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_bss_info_changed()
819 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac bss info changed vif %p changed 0x%08x\n", in wcn36xx_bss_info_changed()
820 vif, changed); in wcn36xx_bss_info_changed()
839 wcn36xx_smd_set_link_st(wcn, bss_conf->bssid, vif->addr, in wcn36xx_bss_info_changed()
842 vif->addr, WCN36XX_HW_CHANNEL(wcn)); in wcn36xx_bss_info_changed()
843 wcn36xx_smd_config_bss(wcn, vif, NULL, in wcn36xx_bss_info_changed()
847 wcn36xx_smd_delete_bss(wcn, vif); in wcn36xx_bss_info_changed()
848 wcn36xx_smd_set_link_st(wcn, bss_conf->bssid, vif->addr, in wcn36xx_bss_info_changed()
873 "mac assoc bss %pM vif %pM AID=%d\n", in wcn36xx_bss_info_changed()
875 vif->addr, in wcn36xx_bss_info_changed()
886 sta = ieee80211_find_sta(vif, bss_conf->bssid); in wcn36xx_bss_info_changed()
897 vif->addr, in wcn36xx_bss_info_changed()
899 wcn36xx_smd_config_bss(wcn, vif, sta, in wcn36xx_bss_info_changed()
907 wcn36xx_smd_config_sta(wcn, vif, sta); in wcn36xx_bss_info_changed()
908 wcn36xx_enable_keep_alive_null_packet(wcn, vif); in wcn36xx_bss_info_changed()
911 "disassociated bss %pM vif %pM AID=%d\n", in wcn36xx_bss_info_changed()
913 vif->addr, in wcn36xx_bss_info_changed()
919 vif->addr, in wcn36xx_bss_info_changed()
926 skb = ieee80211_proberesp_get(hw, vif); in wcn36xx_bss_info_changed()
932 wcn36xx_smd_update_proberesp_tmpl(wcn, vif, skb); in wcn36xx_bss_info_changed()
945 wcn36xx_smd_config_bss(wcn, vif, NULL, in wcn36xx_bss_info_changed()
946 vif->addr, false); in wcn36xx_bss_info_changed()
947 skb = ieee80211_beacon_get_tim(hw, vif, &tim_off, in wcn36xx_bss_info_changed()
953 wcn36xx_smd_send_beacon(wcn, vif, skb, tim_off, 0); in wcn36xx_bss_info_changed()
956 if (vif->type == NL80211_IFTYPE_ADHOC || in wcn36xx_bss_info_changed()
957 vif->type == NL80211_IFTYPE_MESH_POINT) in wcn36xx_bss_info_changed()
962 wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr, in wcn36xx_bss_info_changed()
965 wcn36xx_smd_delete_bss(wcn, vif); in wcn36xx_bss_info_changed()
966 wcn36xx_smd_set_link_st(wcn, vif->addr, vif->addr, in wcn36xx_bss_info_changed()
989 struct ieee80211_vif *vif) in wcn36xx_remove_interface() argument
992 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_remove_interface()
993 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac remove interface vif %p\n", vif); in wcn36xx_remove_interface()
998 wcn36xx_smd_delete_sta_self(wcn, vif->addr); in wcn36xx_remove_interface()
1004 struct ieee80211_vif *vif) in wcn36xx_add_interface() argument
1007 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_add_interface()
1009 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac add interface vif %p type %d\n", in wcn36xx_add_interface()
1010 vif, vif->type); in wcn36xx_add_interface()
1012 if (!(NL80211_IFTYPE_STATION == vif->type || in wcn36xx_add_interface()
1013 NL80211_IFTYPE_AP == vif->type || in wcn36xx_add_interface()
1014 NL80211_IFTYPE_ADHOC == vif->type || in wcn36xx_add_interface()
1015 NL80211_IFTYPE_MESH_POINT == vif->type)) { in wcn36xx_add_interface()
1017 vif->type); in wcn36xx_add_interface()
1026 wcn36xx_smd_add_sta_self(wcn, vif); in wcn36xx_add_interface()
1033 static int wcn36xx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wcn36xx_sta_add() argument
1037 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_sta_add()
1039 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta add vif %p sta %pM\n", in wcn36xx_sta_add()
1040 vif, sta->addr); in wcn36xx_sta_add()
1045 sta_priv->vif = vif_priv; in wcn36xx_sta_add()
1052 if (NL80211_IFTYPE_STATION != vif->type) { in wcn36xx_sta_add()
1055 wcn36xx_smd_config_sta(wcn, vif, sta); in wcn36xx_sta_add()
1064 struct ieee80211_vif *vif, in wcn36xx_sta_remove() argument
1070 wcn36xx_dbg(WCN36XX_DBG_MAC, "mac sta remove vif %p sta %pM index %d\n", in wcn36xx_sta_remove()
1071 vif, sta->addr, sta_priv->sta_index); in wcn36xx_sta_remove()
1077 sta_priv->vif = NULL; in wcn36xx_sta_remove()
1089 struct ieee80211_vif *vif = NULL; in wcn36xx_get_first_assoc_vif() local
1093 vif = wcn36xx_priv_to_vif(vif_priv); in wcn36xx_get_first_assoc_vif()
1097 return vif; in wcn36xx_get_first_assoc_vif()
1103 struct ieee80211_vif *vif = NULL; in wcn36xx_suspend() local
1110 vif = wcn36xx_get_first_assoc_vif(wcn); in wcn36xx_suspend()
1111 if (vif) { in wcn36xx_suspend()
1112 ret = wcn36xx_smd_arp_offload(wcn, vif, true); in wcn36xx_suspend()
1115 ret = wcn36xx_smd_ipv6_ns_offload(wcn, vif, true); in wcn36xx_suspend()
1118 ret = wcn36xx_smd_gtk_offload(wcn, vif, true); in wcn36xx_suspend()
1134 struct ieee80211_vif *vif = NULL; in wcn36xx_resume() local
1139 vif = wcn36xx_get_first_assoc_vif(wcn); in wcn36xx_resume()
1140 if (vif) { in wcn36xx_resume()
1143 wcn36xx_smd_gtk_offload_get_info(wcn, vif); in wcn36xx_resume()
1144 wcn36xx_smd_gtk_offload(wcn, vif, false); in wcn36xx_resume()
1145 wcn36xx_smd_ipv6_ns_offload(wcn, vif, false); in wcn36xx_resume()
1146 wcn36xx_smd_arp_offload(wcn, vif, false); in wcn36xx_resume()
1154 struct ieee80211_vif *vif, in wcn36xx_set_rekey_data() argument
1158 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_set_rekey_data()
1174 struct ieee80211_vif *vif, in wcn36xx_ampdu_action() argument
1195 get_sta_index(vif, sta_priv)); in wcn36xx_ampdu_action()
1197 wcn36xx_smd_trigger_ba(wcn, get_sta_index(vif, sta_priv), tid, in wcn36xx_ampdu_action()
1201 wcn36xx_smd_del_ba(wcn, tid, 0, get_sta_index(vif, sta_priv)); in wcn36xx_ampdu_action()
1216 get_sta_index(vif, sta_priv)); in wcn36xx_ampdu_action()
1225 wcn36xx_smd_del_ba(wcn, tid, 1, get_sta_index(vif, sta_priv)); in wcn36xx_ampdu_action()
1226 ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); in wcn36xx_ampdu_action()
1239 struct ieee80211_vif *vif, in wcn36xx_ipv6_addr_change() argument
1242 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif); in wcn36xx_ipv6_addr_change()