Lines Matching refs:vif
781 iwl_mvm_ampdu_check_trigger(struct iwl_mvm *mvm, struct ieee80211_vif *vif, in iwl_mvm_ampdu_check_trigger() argument
794 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) in iwl_mvm_ampdu_check_trigger()
828 struct ieee80211_vif *vif, in iwl_mvm_mac_ampdu_action() argument
886 ret = iwl_mvm_sta_tx_agg_start(mvm, vif, sta, tid, ssn); in iwl_mvm_mac_ampdu_action()
889 ret = iwl_mvm_sta_tx_agg_stop(mvm, vif, sta, tid); in iwl_mvm_mac_ampdu_action()
893 ret = iwl_mvm_sta_tx_agg_flush(mvm, vif, sta, tid); in iwl_mvm_mac_ampdu_action()
896 ret = iwl_mvm_sta_tx_agg_oper(mvm, vif, sta, tid, buf_size); in iwl_mvm_mac_ampdu_action()
910 iwl_mvm_ampdu_check_trigger(mvm, vif, sta, tid, in iwl_mvm_mac_ampdu_action()
926 struct ieee80211_vif *vif) in iwl_mvm_cleanup_iterator() argument
929 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_cleanup_iterator()
1623 static int iwl_mvm_set_tx_power(struct iwl_mvm *mvm, struct ieee80211_vif *vif, in iwl_mvm_set_tx_power() argument
1629 cpu_to_le32(iwl_mvm_vif_from_mac80211(vif)->id), in iwl_mvm_set_tx_power()
1644 struct ieee80211_vif *vif) in iwl_mvm_mac_add_interface() argument
1647 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_add_interface()
1675 ret = iwl_mvm_mac_ctxt_init(mvm, vif); in iwl_mvm_mac_add_interface()
1680 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) in iwl_mvm_mac_add_interface()
1694 if (vif->type == NL80211_IFTYPE_AP || in iwl_mvm_mac_add_interface()
1695 vif->type == NL80211_IFTYPE_ADHOC) { in iwl_mvm_mac_add_interface()
1696 ret = iwl_mvm_alloc_bcast_sta(mvm, vif); in iwl_mvm_mac_add_interface()
1702 iwl_mvm_vif_dbgfs_register(mvm, vif); in iwl_mvm_mac_add_interface()
1708 ret = iwl_mvm_mac_ctxt_add(mvm, vif); in iwl_mvm_mac_add_interface()
1717 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); in iwl_mvm_mac_add_interface()
1722 vif->type == NL80211_IFTYPE_STATION && !vif->p2p) { in iwl_mvm_mac_add_interface()
1724 vif->driver_flags |= IEEE80211_VIF_BEACON_FILTER | in iwl_mvm_mac_add_interface()
1733 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_mac_add_interface()
1742 ret = iwl_mvm_binding_add_vif(mvm, vif); in iwl_mvm_mac_add_interface()
1746 ret = iwl_mvm_add_bcast_sta(mvm, vif); in iwl_mvm_mac_add_interface()
1752 mvm->p2p_device_vif = vif; in iwl_mvm_mac_add_interface()
1755 iwl_mvm_vif_dbgfs_register(mvm, vif); in iwl_mvm_mac_add_interface()
1759 iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_mac_add_interface()
1765 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | in iwl_mvm_mac_add_interface()
1770 iwl_mvm_mac_ctxt_remove(mvm, vif); in iwl_mvm_mac_add_interface()
1772 if (vif->type != NL80211_IFTYPE_P2P_DEVICE) in iwl_mvm_mac_add_interface()
1775 iwl_mvm_mac_ctxt_release(mvm, vif); in iwl_mvm_mac_add_interface()
1785 struct ieee80211_vif *vif) in iwl_mvm_prepare_mac_removal() argument
1787 u32 tfd_msk = iwl_mvm_mac_get_queues_mask(vif); in iwl_mvm_prepare_mac_removal()
1819 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_prepare_mac_removal()
1838 struct ieee80211_vif *vif) in iwl_mvm_mac_remove_interface() argument
1841 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_remove_interface()
1843 iwl_mvm_prepare_mac_removal(mvm, vif); in iwl_mvm_mac_remove_interface()
1849 vif->driver_flags &= ~(IEEE80211_VIF_BEACON_FILTER | in iwl_mvm_mac_remove_interface()
1853 iwl_mvm_vif_dbgfs_clean(mvm, vif); in iwl_mvm_mac_remove_interface()
1859 if (vif->type == NL80211_IFTYPE_AP || in iwl_mvm_mac_remove_interface()
1860 vif->type == NL80211_IFTYPE_ADHOC) { in iwl_mvm_mac_remove_interface()
1862 if (vif == mvm->noa_vif) { in iwl_mvm_mac_remove_interface()
1867 iwl_mvm_dealloc_bcast_sta(mvm, vif); in iwl_mvm_mac_remove_interface()
1871 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_mac_remove_interface()
1873 iwl_mvm_rm_bcast_sta(mvm, vif); in iwl_mvm_mac_remove_interface()
1874 iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_mac_remove_interface()
1879 if (mvm->vif_count && vif->type != NL80211_IFTYPE_P2P_DEVICE) in iwl_mvm_mac_remove_interface()
1883 iwl_mvm_mac_ctxt_remove(mvm, vif); in iwl_mvm_mac_remove_interface()
1886 iwl_mvm_mac_ctxt_release(mvm, vif); in iwl_mvm_mac_remove_interface()
1901 struct ieee80211_vif *vif) in iwl_mvm_mc_iface_iterator() argument
1912 if (vif->type != NL80211_IFTYPE_STATION || in iwl_mvm_mc_iface_iterator()
1913 !vif->bss_conf.assoc) in iwl_mvm_mc_iface_iterator()
1917 memcpy(cmd->bssid, vif->bss_conf.bssid, ETH_ALEN); in iwl_mvm_mc_iface_iterator()
2002 struct ieee80211_vif *vif, in iwl_mvm_config_iface_filter() argument
2013 if (vif->type != NL80211_IFTYPE_STATION || !vif->bss_conf.assoc || in iwl_mvm_config_iface_filter()
2014 !vif->p2p) in iwl_mvm_config_iface_filter()
2018 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in iwl_mvm_config_iface_filter()
2030 iwl_mvm_set_bcast_filter(struct ieee80211_vif *vif, in iwl_mvm_set_bcast_filter() argument
2047 if (vif->bss_conf.arp_addr_cnt != 1) { in iwl_mvm_set_bcast_filter()
2052 attr->val = vif->bss_conf.arp_addr_list[0]; in iwl_mvm_set_bcast_filter()
2055 attr->val = *(__be32 *)&vif->addr[2]; in iwl_mvm_set_bcast_filter()
2066 struct ieee80211_vif *vif) in iwl_mvm_bcast_filter_iterator() argument
2071 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_bcast_filter_iterator()
2084 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p || in iwl_mvm_bcast_filter_iterator()
2085 !vif->bss_conf.assoc) in iwl_mvm_bcast_filter_iterator()
2104 iwl_mvm_set_bcast_filter(vif, in iwl_mvm_bcast_filter_iterator()
2158 struct ieee80211_vif *vif) in iwl_mvm_configure_bcast_filter() argument
2173 struct ieee80211_vif *vif) in iwl_mvm_configure_bcast_filter() argument
2180 struct ieee80211_vif *vif, in iwl_mvm_bss_info_changed_station() argument
2184 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_bss_info_changed_station()
2193 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); in iwl_mvm_bss_info_changed_station()
2204 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, mvmvif->bssid); in iwl_mvm_bss_info_changed_station()
2206 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); in iwl_mvm_bss_info_changed_station()
2242 u32 dur = (11 * vif->bss_conf.beacon_int) / 10; in iwl_mvm_bss_info_changed_station()
2243 iwl_mvm_protect_session(mvm, vif, dur, dur, in iwl_mvm_bss_info_changed_station()
2247 iwl_mvm_sf_update(mvm, vif, false); in iwl_mvm_bss_info_changed_station()
2248 iwl_mvm_power_vif_assoc(mvm, vif); in iwl_mvm_bss_info_changed_station()
2249 if (vif->p2p) { in iwl_mvm_bss_info_changed_station()
2251 iwl_mvm_update_smps(mvm, vif, in iwl_mvm_bss_info_changed_station()
2260 WARN_ONCE(iwl_mvm_sf_update(mvm, vif, false), in iwl_mvm_bss_info_changed_station()
2264 ret = iwl_mvm_rm_sta_id(mvm, vif, mvmvif->ap_sta_id); in iwl_mvm_bss_info_changed_station()
2276 if (vif->p2p) in iwl_mvm_bss_info_changed_station()
2280 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in iwl_mvm_bss_info_changed_station()
2284 vif->addr); in iwl_mvm_bss_info_changed_station()
2288 iwl_mvm_configure_bcast_filter(mvm, vif); in iwl_mvm_bss_info_changed_station()
2294 iwl_mvm_update_smps(mvm, vif, IWL_MVM_SMPS_REQ_TT, in iwl_mvm_bss_info_changed_station()
2306 iwl_mvm_sf_update(mvm, vif, false); in iwl_mvm_bss_info_changed_station()
2307 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); in iwl_mvm_bss_info_changed_station()
2319 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); in iwl_mvm_bss_info_changed_station()
2327 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); in iwl_mvm_bss_info_changed_station()
2336 iwl_mvm_configure_bcast_filter(mvm, vif); in iwl_mvm_bss_info_changed_station()
2341 struct ieee80211_vif *vif) in iwl_mvm_start_ap_ibss() argument
2344 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_start_ap_ibss()
2358 ret = iwl_mvm_mac_ctxt_beacon_changed(mvm, vif); in iwl_mvm_start_ap_ibss()
2366 if (vif->type == NL80211_IFTYPE_AP) in iwl_mvm_start_ap_ibss()
2367 iwl_mvm_mac_ctxt_recalc_tsf_id(mvm, vif); in iwl_mvm_start_ap_ibss()
2372 ret = iwl_mvm_mac_ctxt_add(mvm, vif); in iwl_mvm_start_ap_ibss()
2377 ret = iwl_mvm_binding_add_vif(mvm, vif); in iwl_mvm_start_ap_ibss()
2383 ret = iwl_mvm_send_add_bcast_sta(mvm, vif); in iwl_mvm_start_ap_ibss()
2398 if (vif->p2p && mvm->p2p_device_vif) in iwl_mvm_start_ap_ibss()
2414 iwl_mvm_send_rm_bcast_sta(mvm, vif); in iwl_mvm_start_ap_ibss()
2416 iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_start_ap_ibss()
2418 iwl_mvm_mac_ctxt_remove(mvm, vif); in iwl_mvm_start_ap_ibss()
2426 struct ieee80211_vif *vif) in iwl_mvm_stop_ap_ibss() argument
2429 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_stop_ap_ibss()
2431 iwl_mvm_prepare_mac_removal(mvm, vif); in iwl_mvm_stop_ap_ibss()
2436 if (rcu_access_pointer(mvm->csa_vif) == vif) { in iwl_mvm_stop_ap_ibss()
2443 if (rcu_access_pointer(mvm->csa_tx_blocked_vif) == vif) { in iwl_mvm_stop_ap_ibss()
2456 if (vif->p2p && mvm->p2p_device_vif) in iwl_mvm_stop_ap_ibss()
2460 iwl_mvm_send_rm_bcast_sta(mvm, vif); in iwl_mvm_stop_ap_ibss()
2461 iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_stop_ap_ibss()
2465 iwl_mvm_mac_ctxt_remove(mvm, vif); in iwl_mvm_stop_ap_ibss()
2472 struct ieee80211_vif *vif, in iwl_mvm_bss_info_changed_ap_ibss() argument
2476 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_bss_info_changed_ap_ibss()
2484 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL)) in iwl_mvm_bss_info_changed_ap_ibss()
2485 IWL_ERR(mvm, "failed to update MAC %pM\n", vif->addr); in iwl_mvm_bss_info_changed_ap_ibss()
2489 iwl_mvm_mac_ctxt_beacon_changed(mvm, vif)) in iwl_mvm_bss_info_changed_ap_ibss()
2495 iwl_mvm_set_tx_power(mvm, vif, bss_conf->txpower); in iwl_mvm_bss_info_changed_ap_ibss()
2501 struct ieee80211_vif *vif, in iwl_mvm_bss_info_changed() argument
2520 switch (vif->type) { in iwl_mvm_bss_info_changed()
2522 iwl_mvm_bss_info_changed_station(mvm, vif, bss_conf, changes); in iwl_mvm_bss_info_changed()
2526 iwl_mvm_bss_info_changed_ap_ibss(mvm, vif, bss_conf, changes); in iwl_mvm_bss_info_changed()
2538 struct ieee80211_vif *vif, in iwl_mvm_mac_hw_scan() argument
2549 ret = iwl_mvm_reg_scan_start(mvm, vif, &hw_req->req, &hw_req->ies); in iwl_mvm_mac_hw_scan()
2556 struct ieee80211_vif *vif) in iwl_mvm_mac_cancel_hw_scan() argument
2606 struct ieee80211_vif *vif, in iwl_mvm_mac_sta_notify() argument
2662 struct ieee80211_vif *vif, in iwl_mvm_sta_pre_rcu_remove() argument
2666 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_sta_pre_rcu_remove()
2682 if (mvm_sta->vif->type == NL80211_IFTYPE_AP) { in iwl_mvm_sta_pre_rcu_remove()
2684 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in iwl_mvm_sta_pre_rcu_remove()
2690 static void iwl_mvm_check_uapsd(struct iwl_mvm *mvm, struct ieee80211_vif *vif, in iwl_mvm_check_uapsd() argument
2697 vif->driver_flags &= ~IEEE80211_VIF_SUPPORTS_UAPSD; in iwl_mvm_check_uapsd()
2701 vif->driver_flags |= IEEE80211_VIF_SUPPORTS_UAPSD; in iwl_mvm_check_uapsd()
2705 struct ieee80211_vif *vif, in iwl_mvm_mac_sta_state() argument
2711 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_sta_state()
2734 if (vif->type == NL80211_IFTYPE_STATION && in iwl_mvm_mac_sta_state()
2735 vif->bss_conf.beacon_int < 16) { in iwl_mvm_mac_sta_state()
2738 sta->addr, vif->bss_conf.beacon_int); in iwl_mvm_mac_sta_state()
2744 (vif->p2p || in iwl_mvm_mac_sta_state()
2753 ret = iwl_mvm_add_sta(mvm, vif, sta); in iwl_mvm_mac_sta_state()
2755 iwl_mvm_recalc_tdls_state(mvm, vif, true); in iwl_mvm_mac_sta_state()
2763 iwl_mvm_check_uapsd(mvm, vif, sta->addr); in iwl_mvm_mac_sta_state()
2767 ret = iwl_mvm_update_sta(mvm, vif, sta); in iwl_mvm_mac_sta_state()
2780 WARN_ON(iwl_mvm_enable_beacon_filter(mvm, vif, 0)); in iwl_mvm_mac_sta_state()
2785 WARN_ON(iwl_mvm_disable_beacon_filter(mvm, vif, 0)); in iwl_mvm_mac_sta_state()
2795 ret = iwl_mvm_rm_sta(mvm, vif, sta); in iwl_mvm_mac_sta_state()
2797 iwl_mvm_recalc_tdls_state(mvm, vif, false); in iwl_mvm_mac_sta_state()
2826 struct ieee80211_vif *vif, in iwl_mvm_sta_rc_update() argument
2831 if (vif->type == NL80211_IFTYPE_STATION && in iwl_mvm_sta_rc_update()
2833 iwl_mvm_sf_update(mvm, vif, false); in iwl_mvm_sta_rc_update()
2837 struct ieee80211_vif *vif, u16 ac, in iwl_mvm_mac_conf_tx() argument
2841 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_conf_tx()
2849 if (vif->type == NL80211_IFTYPE_P2P_DEVICE) { in iwl_mvm_mac_conf_tx()
2853 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in iwl_mvm_mac_conf_tx()
2861 struct ieee80211_vif *vif) in iwl_mvm_mac_mgd_prepare_tx() argument
2865 200 + vif->bss_conf.beacon_int); in iwl_mvm_mac_mgd_prepare_tx()
2867 100 + vif->bss_conf.beacon_int); in iwl_mvm_mac_mgd_prepare_tx()
2869 if (WARN_ON_ONCE(vif->bss_conf.assoc)) in iwl_mvm_mac_mgd_prepare_tx()
2881 iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false); in iwl_mvm_mac_mgd_prepare_tx()
2888 struct ieee80211_vif *vif, in iwl_mvm_mac_sched_scan_start() argument
2898 if (!vif->bss_conf.idle) { in iwl_mvm_mac_sched_scan_start()
2903 ret = iwl_mvm_sched_scan_start(mvm, vif, req, ies, IWL_MVM_SCAN_SCHED); in iwl_mvm_mac_sched_scan_start()
2911 struct ieee80211_vif *vif) in iwl_mvm_mac_sched_scan_stop() argument
2940 struct ieee80211_vif *vif, in iwl_mvm_mac_set_key() argument
2973 if (vif->type != NL80211_IFTYPE_STATION) in iwl_mvm_mac_set_key()
2989 if ((vif->type == NL80211_IFTYPE_ADHOC || in iwl_mvm_mac_set_key()
2990 vif->type == NL80211_IFTYPE_AP) && !sta) { in iwl_mvm_mac_set_key()
3019 ret = iwl_mvm_set_sta_key(mvm, vif, sta, key, key_offset); in iwl_mvm_mac_set_key()
3038 ret = iwl_mvm_remove_sta_key(mvm, vif, sta, key); in iwl_mvm_mac_set_key()
3049 struct ieee80211_vif *vif, in iwl_mvm_mac_update_tkip_key() argument
3059 iwl_mvm_update_tkip_key(mvm, vif, keyconf, sta, iv32, phase1key); in iwl_mvm_mac_update_tkip_key()
3100 struct ieee80211_vif *vif, in iwl_mvm_send_aux_roc_cmd() argument
3104 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_send_aux_roc_cmd()
3126 memcpy(aux_roc_req.node_addr, vif->addr, ETH_ALEN); in iwl_mvm_send_aux_roc_cmd()
3137 te_data->vif = vif; in iwl_mvm_send_aux_roc_cmd()
3182 struct ieee80211_vif *vif, in iwl_mvm_roc() argument
3188 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_roc()
3200 switch (vif->type) { in iwl_mvm_roc()
3206 vif, duration); in iwl_mvm_roc()
3216 IWL_ERR(mvm, "vif isn't P2P_DEVICE: %d\n", vif->type); in iwl_mvm_roc()
3231 ret = iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_roc()
3240 ret = iwl_mvm_binding_add_vif(mvm, vif); in iwl_mvm_roc()
3284 ret = iwl_mvm_binding_remove_vif(mvm, vif); in iwl_mvm_roc()
3293 ret = iwl_mvm_binding_add_vif(mvm, vif); in iwl_mvm_roc()
3302 ret = iwl_mvm_start_p2p_roc(mvm, vif, duration, type); in iwl_mvm_roc()
3415 struct ieee80211_vif *vif, in __iwl_mvm_assign_vif_chanctx() argument
3421 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in __iwl_mvm_assign_vif_chanctx()
3428 switch (vif->type) { in __iwl_mvm_assign_vif_chanctx()
3453 ret = iwl_mvm_binding_add_vif(mvm, vif); in __iwl_mvm_assign_vif_chanctx()
3467 if (vif->type == NL80211_IFTYPE_MONITOR) { in __iwl_mvm_assign_vif_chanctx()
3475 if (vif->type == NL80211_IFTYPE_AP) { in __iwl_mvm_assign_vif_chanctx()
3477 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in __iwl_mvm_assign_vif_chanctx()
3480 if (switching_chanctx && vif->type == NL80211_IFTYPE_STATION) { in __iwl_mvm_assign_vif_chanctx()
3481 u32 duration = 2 * vif->bss_conf.beacon_int; in __iwl_mvm_assign_vif_chanctx()
3494 iwl_mvm_protect_session(mvm, vif, duration, duration, in __iwl_mvm_assign_vif_chanctx()
3495 vif->bss_conf.beacon_int / 2, in __iwl_mvm_assign_vif_chanctx()
3506 iwl_mvm_binding_remove_vif(mvm, vif); in __iwl_mvm_assign_vif_chanctx()
3514 struct ieee80211_vif *vif, in iwl_mvm_assign_vif_chanctx() argument
3521 ret = __iwl_mvm_assign_vif_chanctx(mvm, vif, ctx, false); in iwl_mvm_assign_vif_chanctx()
3528 struct ieee80211_vif *vif, in __iwl_mvm_unassign_vif_chanctx() argument
3532 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in __iwl_mvm_unassign_vif_chanctx()
3539 switch (vif->type) { in __iwl_mvm_unassign_vif_chanctx()
3557 rcu_assign_pointer(mvm->csa_tx_blocked_vif, vif); in __iwl_mvm_unassign_vif_chanctx()
3565 disabled_vif = vif; in __iwl_mvm_unassign_vif_chanctx()
3567 iwl_mvm_mac_ctxt_changed(mvm, vif, true, NULL); in __iwl_mvm_unassign_vif_chanctx()
3574 iwl_mvm_binding_remove_vif(mvm, vif); in __iwl_mvm_unassign_vif_chanctx()
3582 struct ieee80211_vif *vif, in iwl_mvm_unassign_vif_chanctx() argument
3588 __iwl_mvm_unassign_vif_chanctx(mvm, vif, ctx, false); in iwl_mvm_unassign_vif_chanctx()
3599 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); in iwl_mvm_switch_vif_chanctx_swap()
3608 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, in iwl_mvm_switch_vif_chanctx_swap()
3631 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, in iwl_mvm_switch_vif_chanctx_swap()
3656 __iwl_mvm_unassign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, true); in iwl_mvm_switch_vif_chanctx_reassign()
3658 ret = __iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].new_ctx, in iwl_mvm_switch_vif_chanctx_reassign()
3669 if (__iwl_mvm_assign_vif_chanctx(mvm, vifs[0].vif, vifs[0].old_ctx, in iwl_mvm_switch_vif_chanctx_reassign()
3721 if (!mvm_sta || !mvm_sta->vif) { in iwl_mvm_set_tim()
3726 return iwl_mvm_mac_ctxt_beacon_changed(mvm, mvm_sta->vif); in iwl_mvm_set_tim()
3737 struct ieee80211_vif *vif, in __iwl_mvm_mac_testmode_cmd() argument
3753 if (!vif || vif->type != NL80211_IFTYPE_AP || !vif->p2p || in __iwl_mvm_mac_testmode_cmd()
3754 !vif->bss_conf.enable_beacon || in __iwl_mvm_mac_testmode_cmd()
3759 if (noa_duration >= vif->bss_conf.beacon_int) in __iwl_mvm_mac_testmode_cmd()
3763 mvm->noa_vif = vif; in __iwl_mvm_mac_testmode_cmd()
3768 if (!vif || vif->type != NL80211_IFTYPE_STATION || in __iwl_mvm_mac_testmode_cmd()
3769 !vif->bss_conf.assoc || !vif->bss_conf.dtim_period || in __iwl_mvm_mac_testmode_cmd()
3774 return iwl_mvm_enable_beacon_filter(mvm, vif, 0); in __iwl_mvm_mac_testmode_cmd()
3775 return iwl_mvm_disable_beacon_filter(mvm, vif, 0); in __iwl_mvm_mac_testmode_cmd()
3782 struct ieee80211_vif *vif, in iwl_mvm_mac_testmode_cmd() argument
3789 err = __iwl_mvm_mac_testmode_cmd(mvm, vif, data, len); in iwl_mvm_mac_testmode_cmd()
3797 struct ieee80211_vif *vif, in iwl_mvm_channel_switch() argument
3811 struct ieee80211_vif *vif, in iwl_mvm_pre_channel_switch() argument
3816 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_pre_channel_switch()
3827 iwl_fw_dbg_trigger_simple_stop(mvm, vif, FW_DBG_TRIGGER_CHANNEL_SWITCH); in iwl_mvm_pre_channel_switch()
3829 switch (vif->type) { in iwl_mvm_pre_channel_switch()
3840 rcu_assign_pointer(mvm->csa_vif, vif); in iwl_mvm_pre_channel_switch()
3855 ((vif->bss_conf.beacon_int * (chsw->count - 1) - in iwl_mvm_pre_channel_switch()
3859 iwl_mvm_csa_client_absent(mvm, vif); in iwl_mvm_pre_channel_switch()
3861 iwl_mvm_schedule_csa_period(mvm, vif, vif->bss_conf.beacon_int, in iwl_mvm_pre_channel_switch()
3864 ret = iwl_mvm_disable_beacon_filter(mvm, vif, 0); in iwl_mvm_pre_channel_switch()
3890 struct ieee80211_vif *vif) in iwl_mvm_post_channel_switch() argument
3892 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_post_channel_switch()
3904 if (vif->type == NL80211_IFTYPE_STATION) { in iwl_mvm_post_channel_switch()
3917 iwl_mvm_mac_ctxt_changed(mvm, vif, false, NULL); in iwl_mvm_post_channel_switch()
3919 ret = iwl_mvm_enable_beacon_filter(mvm, vif, 0); in iwl_mvm_post_channel_switch()
3923 iwl_mvm_stop_session_protection(mvm, vif); in iwl_mvm_post_channel_switch()
3937 struct ieee80211_vif *vif, u32 queues, bool drop) in iwl_mvm_mac_flush() argument
3946 if (!vif || vif->type != NL80211_IFTYPE_STATION) in iwl_mvm_mac_flush()
3950 mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_flush()
3960 if (mvmsta->vif != vif) in iwl_mvm_mac_flush()
4034 struct ieee80211_vif *vif, in iwl_mvm_mac_sta_statistics() argument
4039 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_sta_statistics()
4047 if (!(vif->driver_flags & IEEE80211_VIF_BEACON_FILTER)) in iwl_mvm_mac_sta_statistics()
4050 if (!vif->bss_conf.assoc) in iwl_mvm_mac_sta_statistics()
4074 struct ieee80211_vif *vif, in iwl_mvm_event_mlme_callback() argument
4092 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) in iwl_mvm_event_mlme_callback()
4128 struct ieee80211_vif *vif, in iwl_mvm_event_bar_rx_callback() argument
4139 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) in iwl_mvm_event_bar_rx_callback()
4153 struct ieee80211_vif *vif, in iwl_mvm_event_frame_timeout_callback() argument
4164 if (!iwl_fw_dbg_trigger_check_stop(mvm, vif, trig)) in iwl_mvm_event_frame_timeout_callback()
4176 struct ieee80211_vif *vif, in iwl_mvm_mac_event_callback() argument
4183 iwl_mvm_event_mlme_callback(mvm, vif, event); in iwl_mvm_mac_event_callback()
4186 iwl_mvm_event_bar_rx_callback(mvm, vif, event); in iwl_mvm_mac_event_callback()
4189 iwl_mvm_event_frame_timeout_callback(mvm, vif, event); in iwl_mvm_mac_event_callback()