Lines Matching full:vif
84 struct ieee80211_vif *vif = NULL; in wfx_configure_filter() local
119 vif = wvif_to_vif(wvif); in wfx_configure_filter()
121 if (*total_flags & FIF_PROBE_REQ && vif->type == NL80211_IFTYPE_AP) { in wfx_configure_filter()
139 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_get_ps_timeout() local
141 WARN(!vif->cfg.assoc && enable_ps, in wfx_get_ps_timeout()
155 if (chan0 && chan1 && vif->type != NL80211_IFTYPE_AP) { in wfx_get_ps_timeout()
160 if (vif->cfg.assoc && vif->cfg.ps) in wfx_get_ps_timeout()
173 *enable_ps = vif->cfg.ps; in wfx_get_ps_timeout()
174 if (vif->cfg.assoc && vif->cfg.ps) in wfx_get_ps_timeout()
182 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_update_pm() local
186 if (!vif->cfg.assoc) in wfx_update_pm()
200 int wfx_conf_tx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_conf_tx() argument
205 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_conf_tx()
213 if (vif->type == NL80211_IFTYPE_STATION && in wfx_conf_tx()
237 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_event_report_rssi() local
242 if (rcpi_rssi <= vif->bss_conf.cqm_rssi_thold) in wfx_event_report_rssi()
246 ieee80211_cqm_rssi_notify(vif, cqm_evt, rcpi_rssi, GFP_KERNEL); in wfx_event_report_rssi()
253 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_beacon_loss_work() local
254 struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; in wfx_beacon_loss_work()
256 ieee80211_beacon_loss(vif); in wfx_beacon_loss_work()
260 void wfx_set_default_unicast_key(struct ieee80211_hw *hw, struct ieee80211_vif *vif, int idx) in wfx_set_default_unicast_key() argument
262 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_set_default_unicast_key()
284 int wfx_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) in wfx_sta_add() argument
286 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_sta_add()
291 if (vif->type == NL80211_IFTYPE_STATION) in wfx_sta_add()
295 if (vif->type == NL80211_IFTYPE_STATION && !sta->tdls) in wfx_sta_add()
306 int wfx_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) in wfx_sta_remove() argument
308 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_sta_remove()
322 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_upload_ap_templates() local
325 skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0); in wfx_upload_ap_templates()
331 skb = ieee80211_proberesp_get(wvif->wdev->hw, vif); in wfx_upload_ap_templates()
341 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_set_mfp_ap() local
342 struct sk_buff *skb = ieee80211_beacon_get(wvif->wdev->hw, vif, 0); in wfx_set_mfp_ap()
381 int wfx_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_start_ap() argument
384 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_start_ap()
391 wvif = (struct wfx_vif *)vif->drv_priv; in wfx_start_ap()
393 ret = wfx_hif_start(wvif, &vif->bss_conf, wvif->channel); in wfx_start_ap()
399 void wfx_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_stop_ap() argument
402 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_stop_ap()
408 wvif = (struct wfx_vif *)vif->drv_priv; in wfx_stop_ap()
414 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_join() local
415 struct ieee80211_bss_conf *conf = &vif->bss_conf; in wfx_join()
426 if (!bss && !vif->cfg.ibss_joined) { in wfx_join()
447 ieee80211_connection_loss(vif); in wfx_join()
461 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_join_finalize() local
467 if (info->bssid && !vif->cfg.ibss_joined) in wfx_join_finalize()
468 sta = ieee80211_find_sta(vif, info->bssid); in wfx_join_finalize()
480 wfx_hif_set_bss_params(wvif, vif->cfg.aid, 7); in wfx_join_finalize()
485 int wfx_join_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) in wfx_join_ibss() argument
487 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_join_ibss()
494 void wfx_leave_ibss(struct ieee80211_hw *hw, struct ieee80211_vif *vif) in wfx_leave_ibss() argument
496 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_leave_ibss()
514 void wfx_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_bss_info_changed() argument
518 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_bss_info_changed()
526 if (vif->type == NL80211_IFTYPE_STATION) in wfx_bss_info_changed()
531 if (vif->cfg.assoc || vif->cfg.ibss_joined) in wfx_bss_info_changed()
533 else if (!vif->cfg.assoc && vif->type == NL80211_IFTYPE_STATION) in wfx_bss_info_changed()
540 if (vif->type != NL80211_IFTYPE_STATION) in wfx_bss_info_changed()
549 __be32 *arp_addr = &vif->cfg.arp_addr_list[i]; in wfx_bss_info_changed()
551 if (vif->cfg.arp_addr_cnt > HIF_MAX_ARP_IP_ADDRTABLE_ENTRIES) in wfx_bss_info_changed()
553 if (i >= vif->cfg.arp_addr_cnt) in wfx_bss_info_changed()
589 struct ieee80211_vif *vif = wvif_to_vif(wvif); in wfx_update_tim() local
594 skb = ieee80211_beacon_get_tim(wvif->wdev->hw, vif, &tim_offset, in wfx_update_tim()
631 dev_warn(wdev->dev, "%s: received event for non-existent vif\n", __func__); in wfx_set_tim()
656 int wfx_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_ampdu_action() argument
684 int wfx_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_assign_vif_chanctx() argument
688 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_assign_vif_chanctx()
697 void wfx_unassign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, in wfx_unassign_vif_chanctx() argument
701 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_unassign_vif_chanctx()
713 int wfx_add_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) in wfx_add_interface() argument
717 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_add_interface()
719 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | in wfx_add_interface()
725 switch (vif->type) { in wfx_add_interface()
752 for (i = 0; i < ARRAY_SIZE(wdev->vif); i++) { in wfx_add_interface()
753 if (!wdev->vif[i]) { in wfx_add_interface()
754 wdev->vif[i] = vif; in wfx_add_interface()
759 WARN(i == ARRAY_SIZE(wdev->vif), "try to instantiate more vif than supported"); in wfx_add_interface()
761 wfx_hif_set_macaddr(wvif, vif->addr); in wfx_add_interface()
776 void wfx_remove_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif) in wfx_remove_interface() argument
779 struct wfx_vif *wvif = (struct wfx_vif *)vif->drv_priv; in wfx_remove_interface()
792 wdev->vif[wvif->id] = NULL; in wfx_remove_interface()