Lines Matching refs:mvmvif

687 		struct iwl_mvm_vif *mvmvif =  in iwl_mvm_mac_tx()  local
689 u8 ap_sta_id = READ_ONCE(mvmvif->ap_sta_id); in iwl_mvm_mac_tx()
876 struct iwl_mvm_vif *mvmvif; in iwl_mvm_mac_ampdu_action() local
881 mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_ampdu_action()
882 cancel_delayed_work(&mvmvif->uapsd_nonagg_detected_wk); in iwl_mvm_mac_ampdu_action()
937 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_cleanup_iterator() local
939 mvmvif->uploaded = false; in iwl_mvm_cleanup_iterator()
940 mvmvif->ap_sta_id = IWL_MVM_INVALID_STA; in iwl_mvm_cleanup_iterator()
943 iwl_mvm_te_clear_data(mvm, &mvmvif->time_event_data); in iwl_mvm_cleanup_iterator()
946 mvmvif->phy_ctxt = NULL; in iwl_mvm_cleanup_iterator()
947 memset(&mvmvif->bf_data, 0, sizeof(mvmvif->bf_data)); in iwl_mvm_cleanup_iterator()
948 memset(&mvmvif->probe_resp_data, 0, sizeof(mvmvif->probe_resp_data)); in iwl_mvm_cleanup_iterator()
1272 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_post_channel_switch() local
1281 mvmvif->csa_bcn_pending = false; in iwl_mvm_post_channel_switch()
1283 mvmvif->ap_sta_id); in iwl_mvm_post_channel_switch()
1304 mvmvif->ps_disabled = false; in iwl_mvm_post_channel_switch()
1309 if (mvmvif->csa_failed) in iwl_mvm_post_channel_switch()
1320 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_abort_channel_switch() local
1322 .mac_id = cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, in iwl_mvm_abort_channel_switch()
1323 mvmvif->color)), in iwl_mvm_abort_channel_switch()
1336 IWL_DEBUG_MAC80211(mvm, "Abort CSA on mac %d\n", mvmvif->id); in iwl_mvm_abort_channel_switch()
1347 mvmvif->csa_failed = true; in iwl_mvm_abort_channel_switch()
1355 struct iwl_mvm_vif *mvmvif; in iwl_mvm_channel_switch_disconnect_wk() local
1358 mvmvif = container_of(wk, struct iwl_mvm_vif, csa_work.work); in iwl_mvm_channel_switch_disconnect_wk()
1359 vif = container_of((void *)mvmvif, struct ieee80211_vif, drv_priv); in iwl_mvm_channel_switch_disconnect_wk()
1369 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_add_interface() local
1372 mvmvif->mvm = mvm; in iwl_mvm_mac_add_interface()
1373 RCU_INIT_POINTER(mvmvif->probe_resp_data, NULL); in iwl_mvm_mac_add_interface()
1385 mvmvif->beacon_stats.accu_num_beacons += in iwl_mvm_mac_add_interface()
1386 mvmvif->beacon_stats.num_beacons; in iwl_mvm_mac_add_interface()
1393 rcu_assign_pointer(mvm->vif_id_to_mac[mvmvif->id], vif); in iwl_mvm_mac_add_interface()
1418 ret = iwl_mvm_allocate_int_sta(mvm, &mvmvif->mcast_sta, in iwl_mvm_mac_add_interface()
1428 mvmvif->features |= hw->netdev_features; in iwl_mvm_mac_add_interface()
1445 mvm->bf_allowed_vif = mvmvif; in iwl_mvm_mac_add_interface()
1457 mvmvif->phy_ctxt = iwl_mvm_get_free_phy_ctxt(mvm); in iwl_mvm_mac_add_interface()
1458 if (!mvmvif->phy_ctxt) { in iwl_mvm_mac_add_interface()
1463 iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt); in iwl_mvm_mac_add_interface()
1478 INIT_DELAYED_WORK(&mvmvif->csa_work, in iwl_mvm_mac_add_interface()
1499 iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt); in iwl_mvm_mac_add_interface()
1501 if (mvm->bf_allowed_vif == mvmvif) { in iwl_mvm_mac_add_interface()
1507 mvmvif->phy_ctxt = NULL; in iwl_mvm_mac_add_interface()
1532 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_remove_interface() local
1548 probe_data = rcu_dereference_protected(mvmvif->probe_resp_data, in iwl_mvm_mac_remove_interface()
1550 RCU_INIT_POINTER(mvmvif->probe_resp_data, NULL); in iwl_mvm_mac_remove_interface()
1554 if (mvm->bf_allowed_vif == mvmvif) { in iwl_mvm_mac_remove_interface()
1577 iwl_mvm_dealloc_int_sta(mvm, &mvmvif->mcast_sta); in iwl_mvm_mac_remove_interface()
1586 iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt); in iwl_mvm_mac_remove_interface()
1587 mvmvif->phy_ctxt = NULL; in iwl_mvm_mac_remove_interface()
1593 RCU_INIT_POINTER(mvm->vif_id_to_mac[mvmvif->id], NULL); in iwl_mvm_mac_remove_interface()
1977 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_cfg_he_sta() local
2048 if (mvmvif->he_ru_2mhz_block) in iwl_mvm_cfg_he_sta()
2193 &mvmvif->queue_params[i].mu_edca_param_rec; in iwl_mvm_cfg_he_sta()
2196 if (!mvmvif->queue_params[i].mu_edca) { in iwl_mvm_cfg_he_sta()
2315 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_bss_info_changed_station() local
2328 iwl_mvm_cfg_he_sta(mvm, vif, mvmvif->ap_sta_id); in iwl_mvm_bss_info_changed_station()
2334 if (changes & BSS_CHANGED_QOS && mvmvif->associated && in iwl_mvm_bss_info_changed_station()
2340 iwl_mvm_cfg_he_sta(mvm, vif, mvmvif->ap_sta_id); in iwl_mvm_bss_info_changed_station()
2348 if (changes & BSS_CHANGED_BSSID && !mvmvif->associated) in iwl_mvm_bss_info_changed_station()
2349 memcpy(mvmvif->bssid, bss_conf->bssid, ETH_ALEN); in iwl_mvm_bss_info_changed_station()
2351 ret = iwl_mvm_mac_ctxt_changed(mvm, vif, false, mvmvif->bssid); in iwl_mvm_bss_info_changed_station()
2356 memcpy(mvmvif->bssid, bss_conf->bssid, ETH_ALEN); in iwl_mvm_bss_info_changed_station()
2357 mvmvif->associated = vif->cfg.assoc; in iwl_mvm_bss_info_changed_station()
2363 memset(&mvmvif->beacon_stats, 0, in iwl_mvm_bss_info_changed_station()
2364 sizeof(mvmvif->beacon_stats)); in iwl_mvm_bss_info_changed_station()
2421 } else if (mvmvif->ap_sta_id != IWL_MVM_INVALID_STA) { in iwl_mvm_bss_info_changed_station()
2451 mvmvif->ap_sta_id); in iwl_mvm_bss_info_changed_station()
2456 mvmvif->ap_sta_id = IWL_MVM_INVALID_STA; in iwl_mvm_bss_info_changed_station()
2487 mvmvif->bf_data.ave_beacon_signal = 0; in iwl_mvm_bss_info_changed_station()
2522 mvmvif->bf_data.last_cqm_event = 0; in iwl_mvm_bss_info_changed_station()
2523 if (mvmvif->bf_data.bf_enabled) { in iwl_mvm_bss_info_changed_station()
2540 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_start_ap_ibss() local
2558 mvmvif->ap_assoc_sta_count = 0; in iwl_mvm_start_ap_ibss()
2606 mvmvif->ap_ibss_active = true; in iwl_mvm_start_ap_ibss()
2609 for (i = 0; i < ARRAY_SIZE(mvmvif->ap_early_keys); i++) { in iwl_mvm_start_ap_ibss()
2610 struct ieee80211_key_conf *key = mvmvif->ap_early_keys[i]; in iwl_mvm_start_ap_ibss()
2615 mvmvif->ap_early_keys[i] = NULL; in iwl_mvm_start_ap_ibss()
2623 iwl_mvm_vif_set_low_latency(mvmvif, true, in iwl_mvm_start_ap_ibss()
2625 iwl_mvm_send_low_latency_cmd(mvm, true, mvmvif->id); in iwl_mvm_start_ap_ibss()
2651 mvmvif->ap_ibss_active = false; in iwl_mvm_start_ap_ibss()
2681 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_stop_ap_ibss() local
2689 iwl_mvm_remove_time_event(mvm, mvmvif, in iwl_mvm_stop_ap_ibss()
2690 &mvmvif->time_event_data); in iwl_mvm_stop_ap_ibss()
2692 mvmvif->csa_countdown = false; in iwl_mvm_stop_ap_ibss()
2700 mvmvif->ap_ibss_active = false; in iwl_mvm_stop_ap_ibss()
2704 iwl_mvm_vif_set_low_latency(mvmvif, false, in iwl_mvm_stop_ap_ibss()
2706 iwl_mvm_send_low_latency_cmd(mvm, false, mvmvif->id); in iwl_mvm_stop_ap_ibss()
2760 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_bss_info_changed_ap_ibss() local
2763 if (!mvmvif->ap_ibss_active) in iwl_mvm_bss_info_changed_ap_ibss()
3127 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_check_he_obss_narrow_bw_ru() local
3133 mvmvif->he_ru_2mhz_block = false; in iwl_mvm_check_he_obss_narrow_bw_ru()
3145 mvmvif->he_ru_2mhz_block = !iter_data.tolerated; in iwl_mvm_check_he_obss_narrow_bw_ru()
3186 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mei_host_associated() local
3219 switch (mvmvif->rekey_data.akm) { in iwl_mvm_mei_host_associated()
3254 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_sta_state() local
3262 if (WARN_ON_ONCE(!mvmvif->phy_ctxt)) in iwl_mvm_mac_sta_state()
3350 mvmvif->ap_assoc_sta_count++; in iwl_mvm_mac_sta_state()
3360 mvmvif->he_ru_2mhz_block = false; in iwl_mvm_mac_sta_state()
3367 iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band, in iwl_mvm_mac_sta_state()
3385 mvmvif->authorized = 1; in iwl_mvm_mac_sta_state()
3396 iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band, in iwl_mvm_mac_sta_state()
3403 iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band, in iwl_mvm_mac_sta_state()
3413 mvmvif->authorized = 0; in iwl_mvm_mac_sta_state()
3425 mvmvif->ap_assoc_sta_count--; in iwl_mvm_mac_sta_state()
3480 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_sta_rc_update() local
3485 iwl_mvm_rs_rate_init(mvm, sta, mvmvif->phy_ctxt->channel->band, in iwl_mvm_sta_rc_update()
3499 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_conf_tx() local
3501 mvmvif->queue_params[ac] = *params; in iwl_mvm_mac_conf_tx()
3601 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in __iwl_mvm_mac_set_key() local
3652 rcu_assign_pointer(mvmvif->bcn_prot.keys[keyidx - 6], in __iwl_mvm_mac_set_key()
3678 if (!mvmvif->ap_ibss_active) { in __iwl_mvm_mac_set_key()
3680 i < ARRAY_SIZE(mvmvif->ap_early_keys); in __iwl_mvm_mac_set_key()
3682 if (!mvmvif->ap_early_keys[i]) { in __iwl_mvm_mac_set_key()
3683 mvmvif->ap_early_keys[i] = key; in __iwl_mvm_mac_set_key()
3688 if (i >= ARRAY_SIZE(mvmvif->ap_early_keys)) in __iwl_mvm_mac_set_key()
3771 RCU_INIT_POINTER(mvmvif->bcn_prot.keys[keyidx - 6], in __iwl_mvm_mac_set_key()
3775 for (i = 0; i < ARRAY_SIZE(mvmvif->ap_early_keys); i++) { in __iwl_mvm_mac_set_key()
3776 if (mvmvif->ap_early_keys[i] == key) { in __iwl_mvm_mac_set_key()
3777 mvmvif->ap_early_keys[i] = NULL; in __iwl_mvm_mac_set_key()
3893 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_send_aux_roc_cmd() local
3894 struct iwl_mvm_time_event_data *te_data = &mvmvif->hs_time_event_data; in iwl_mvm_send_aux_roc_cmd()
4015 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_roc() local
4065 if (phy_ctxt->ref == 0 || mvmvif->phy_ctxt == phy_ctxt) in iwl_mvm_roc()
4077 iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt); in iwl_mvm_roc()
4080 mvmvif->phy_ctxt = phy_ctxt; in iwl_mvm_roc()
4086 iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt); in iwl_mvm_roc()
4092 if (channel == mvmvif->phy_ctxt->channel) in iwl_mvm_roc()
4106 mvmvif->phy_ctxt->channel->band != chandef.chan->band; in iwl_mvm_roc()
4108 if (mvmvif->phy_ctxt->ref == 1 && !band_change_removal) { in iwl_mvm_roc()
4113 ret = iwl_mvm_phy_ctxt_changed(mvm, mvmvif->phy_ctxt, in iwl_mvm_roc()
4141 iwl_mvm_phy_ctxt_unref(mvm, mvmvif->phy_ctxt); in iwl_mvm_roc()
4144 mvmvif->phy_ctxt = phy_ctxt; in iwl_mvm_roc()
4150 iwl_mvm_phy_ctxt_ref(mvm, mvmvif->phy_ctxt); in iwl_mvm_roc()
4323 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in __iwl_mvm_assign_vif_chanctx() local
4328 mvmvif->phy_ctxt = phy_ctxt; in __iwl_mvm_assign_vif_chanctx()
4334 mvmvif->ap_ibss_active = true; in __iwl_mvm_assign_vif_chanctx()
4346 mvmvif->csa_bcn_pending = false; in __iwl_mvm_assign_vif_chanctx()
4350 mvmvif->ps_disabled = true; in __iwl_mvm_assign_vif_chanctx()
4372 mvmvif->monitor_active = true; in __iwl_mvm_assign_vif_chanctx()
4390 mvmvif->csa_bcn_pending = true; in __iwl_mvm_assign_vif_chanctx()
4414 mvmvif->phy_ctxt = NULL; in __iwl_mvm_assign_vif_chanctx()
4437 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in __iwl_mvm_unassign_vif_chanctx() local
4441 iwl_mvm_remove_time_event(mvm, mvmvif, &mvmvif->time_event_data); in __iwl_mvm_unassign_vif_chanctx()
4447 mvmvif->monitor_active = false; in __iwl_mvm_unassign_vif_chanctx()
4448 mvmvif->ps_disabled = false; in __iwl_mvm_unassign_vif_chanctx()
4453 if (!switching_chanctx || !mvmvif->ap_ibss_active) in __iwl_mvm_unassign_vif_chanctx()
4456 mvmvif->csa_countdown = false; in __iwl_mvm_unassign_vif_chanctx()
4459 iwl_mvm_modify_all_sta_disable_tx(mvm, mvmvif, true); in __iwl_mvm_unassign_vif_chanctx()
4464 mvmvif->ap_ibss_active = false; in __iwl_mvm_unassign_vif_chanctx()
4487 mvmvif->phy_ctxt = NULL; in __iwl_mvm_unassign_vif_chanctx()
4733 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_schedule_client_csa() local
4735 .mac_id = cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, in iwl_mvm_schedule_client_csa()
4736 mvmvif->color)), in iwl_mvm_schedule_client_csa()
4759 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_old_pre_chan_sw_sta() local
4778 if (mvmvif->bf_data.bf_enabled) { in iwl_mvm_old_pre_chan_sw_sta()
4798 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_pre_channel_switch() local
4803 mvmvif->csa_failed = false; in iwl_mvm_pre_channel_switch()
4832 if (WARN_ONCE(mvmvif->csa_countdown, in iwl_mvm_pre_channel_switch()
4838 mvmvif->csa_target_freq = chsw->chandef.chan->center_freq; in iwl_mvm_pre_channel_switch()
4862 schedule_delayed_work(&mvmvif->csa_work, 0); in iwl_mvm_pre_channel_switch()
4872 schedule_delayed_work(&mvmvif->csa_work, in iwl_mvm_pre_channel_switch()
4885 mvmvif->csa_count = chsw->count; in iwl_mvm_pre_channel_switch()
4886 mvmvif->csa_misbehave = false; in iwl_mvm_pre_channel_switch()
4892 mvmvif->ps_disabled = true; in iwl_mvm_pre_channel_switch()
4912 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_channel_switch_rx_beacon() local
4914 .mac_id = cpu_to_le32(FW_CMD_ID_AND_COLOR(mvmvif->id, in iwl_mvm_channel_switch_rx_beacon()
4915 mvmvif->color)), in iwl_mvm_channel_switch_rx_beacon()
4934 mvmvif->id, chsw->count, mvmvif->csa_count, chsw->block_tx); in iwl_mvm_channel_switch_rx_beacon()
4936 if (chsw->count >= mvmvif->csa_count && chsw->block_tx) { in iwl_mvm_channel_switch_rx_beacon()
4937 if (mvmvif->csa_misbehave) { in iwl_mvm_channel_switch_rx_beacon()
4941 mvmvif->csa_misbehave = false; in iwl_mvm_channel_switch_rx_beacon()
4944 mvmvif->csa_misbehave = true; in iwl_mvm_channel_switch_rx_beacon()
4946 mvmvif->csa_count = chsw->count; in iwl_mvm_channel_switch_rx_beacon()
4949 if (mvmvif->csa_failed) in iwl_mvm_channel_switch_rx_beacon()
4998 struct iwl_mvm_vif *mvmvif; in iwl_mvm_mac_flush() local
5016 mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_flush()
5030 WARN_ON(i != mvmvif->ap_sta_id && !sta->tdls); in iwl_mvm_mac_flush()
5242 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_sta_statistics() local
5266 if (mvmvif->ap_sta_id != mvmsta->sta_id) in iwl_mvm_mac_sta_statistics()
5272 sinfo->rx_beacon = mvmvif->beacon_stats.num_beacons + in iwl_mvm_mac_sta_statistics()
5273 mvmvif->beacon_stats.accu_num_beacons; in iwl_mvm_mac_sta_statistics()
5275 if (mvmvif->beacon_stats.avg_signal) { in iwl_mvm_mac_sta_statistics()
5277 sinfo->rx_beacon_signal_avg = mvmvif->beacon_stats.avg_signal; in iwl_mvm_mac_sta_statistics()
5478 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_mac_get_ftm_responder_stats() local
5481 !mvmvif->ap_ibss_active || !vif->bss_conf.ftm_responder) in iwl_mvm_mac_get_ftm_responder_stats()