Lines Matching full:vif
71 struct ieee80211_vif *vif, in iwl_mvm_beacon_filter_set_cqm_params() argument
74 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_beacon_filter_set_cqm_params()
76 if (vif->bss_conf.cqm_rssi_thold) { in iwl_mvm_beacon_filter_set_cqm_params()
78 cpu_to_le32(vif->bss_conf.cqm_rssi_hyst); in iwl_mvm_beacon_filter_set_cqm_params()
81 cpu_to_le32(-vif->bss_conf.cqm_rssi_thold); in iwl_mvm_beacon_filter_set_cqm_params()
124 struct ieee80211_vif *vif, in iwl_mvm_power_configure_uapsd() argument
127 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_configure_uapsd()
216 struct ieee80211_vif *vif) in iwl_mvm_p2p_standalone_iterator() argument
220 switch (ieee80211_vif_type_p2p(vif)) { in iwl_mvm_p2p_standalone_iterator()
226 if (vif->cfg.assoc) in iwl_mvm_p2p_standalone_iterator()
236 struct ieee80211_vif *vif) in iwl_mvm_power_allow_uapsd() argument
238 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_allow_uapsd()
240 if (!memcmp(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, in iwl_mvm_power_allow_uapsd()
248 if (vif->p2p && in iwl_mvm_power_allow_uapsd()
249 (vif->bss_conf.p2p_noa_attr.oppps_ctwindow & in iwl_mvm_power_allow_uapsd()
260 if (vif->p2p) { in iwl_mvm_power_allow_uapsd()
279 static bool iwl_mvm_power_is_radar(struct ieee80211_vif *vif) in iwl_mvm_power_is_radar() argument
286 chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); in iwl_mvm_power_is_radar()
298 struct ieee80211_vif *vif, in iwl_mvm_power_config_skip_dtim() argument
301 int dtimper = vif->bss_conf.dtim_period ?: 1; in iwl_mvm_power_config_skip_dtim()
308 if (iwl_mvm_power_is_radar(vif)) in iwl_mvm_power_config_skip_dtim()
319 int dtimper_tu = dtimper * vif->bss_conf.beacon_int; in iwl_mvm_power_config_skip_dtim()
333 struct ieee80211_vif *vif, in iwl_mvm_power_build_cmd() argument
339 iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_build_cmd()
343 dtimper = vif->bss_conf.dtim_period; in iwl_mvm_power_build_cmd()
344 bi = vif->bss_conf.beacon_int; in iwl_mvm_power_build_cmd()
362 if (!vif->cfg.ps || !mvmvif->pm_enabled) in iwl_mvm_power_build_cmd()
365 if (iwl_mvm_vif_low_latency(mvmvif) && vif->p2p && in iwl_mvm_power_build_cmd()
373 if (vif->bss_conf.beacon_rate && in iwl_mvm_power_build_cmd()
374 (vif->bss_conf.beacon_rate->bitrate == 10 || in iwl_mvm_power_build_cmd()
375 vif->bss_conf.beacon_rate->bitrate == 60)) { in iwl_mvm_power_build_cmd()
380 iwl_mvm_power_config_skip_dtim(mvm, vif, cmd); in iwl_mvm_power_build_cmd()
387 } else if (iwl_mvm_vif_low_latency(mvmvif) && vif->p2p && in iwl_mvm_power_build_cmd()
401 if (iwl_mvm_power_allow_uapsd(mvm, vif)) in iwl_mvm_power_build_cmd()
402 iwl_mvm_power_configure_uapsd(mvm, vif, cmd); in iwl_mvm_power_build_cmd()
451 struct ieee80211_vif *vif) in iwl_mvm_power_send_cmd() argument
455 iwl_mvm_power_build_cmd(mvm, vif, &cmd); in iwl_mvm_power_send_cmd()
458 memcpy(&iwl_mvm_vif_from_mac80211(vif)->mac_pwr_cmd, &cmd, sizeof(cmd)); in iwl_mvm_power_send_cmd()
494 void iwl_mvm_power_vif_assoc(struct iwl_mvm *mvm, struct ieee80211_vif *vif) in iwl_mvm_power_vif_assoc() argument
496 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_vif_assoc()
498 if (memcmp(vif->bss_conf.bssid, mvmvif->uapsd_misbehaving_bssid, in iwl_mvm_power_vif_assoc()
504 struct ieee80211_vif *vif) in iwl_mvm_power_uapsd_misbehav_ap_iterator() argument
507 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_uapsd_misbehav_ap_iterator()
513 memcpy(mvmvif->uapsd_misbehaving_bssid, vif->bss_conf.bssid, in iwl_mvm_power_uapsd_misbehav_ap_iterator()
542 struct ieee80211_vif *vif) in iwl_mvm_power_disable_pm_iterator() argument
544 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_disable_pm_iterator()
550 struct ieee80211_vif *vif) in iwl_mvm_power_ps_disabled_iterator() argument
552 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_ps_disabled_iterator()
560 struct ieee80211_vif *vif) in iwl_mvm_power_get_vifs_iterator() argument
562 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_get_vifs_iterator()
569 switch (ieee80211_vif_type_p2p(vif)) { in iwl_mvm_power_get_vifs_iterator()
577 power_iterator->ap_vif = vif; in iwl_mvm_power_get_vifs_iterator()
585 power_iterator->monitor_vif = vif; in iwl_mvm_power_get_vifs_iterator()
593 power_iterator->p2p_vif = vif; in iwl_mvm_power_get_vifs_iterator()
599 power_iterator->bss_vif = vif; in iwl_mvm_power_get_vifs_iterator()
680 struct ieee80211_vif *vif, char *buf, in iwl_mvm_power_mac_dbgfs_read() argument
683 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_mac_dbgfs_read()
754 iwl_mvm_beacon_filter_debugfs_parameters(struct ieee80211_vif *vif, in iwl_mvm_beacon_filter_debugfs_parameters() argument
757 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_beacon_filter_debugfs_parameters()
789 struct ieee80211_vif *vif, in _iwl_mvm_enable_beacon_filter() argument
793 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in _iwl_mvm_enable_beacon_filter()
796 if (mvmvif != mvm->bf_allowed_vif || !vif->bss_conf.dtim_period || in _iwl_mvm_enable_beacon_filter()
797 vif->type != NL80211_IFTYPE_STATION || vif->p2p) in _iwl_mvm_enable_beacon_filter()
800 iwl_mvm_beacon_filter_set_cqm_params(mvm, vif, cmd); in _iwl_mvm_enable_beacon_filter()
801 iwl_mvm_beacon_filter_debugfs_parameters(vif, cmd); in _iwl_mvm_enable_beacon_filter()
811 struct ieee80211_vif *vif, in iwl_mvm_enable_beacon_filter() argument
819 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, flags); in iwl_mvm_enable_beacon_filter()
823 struct ieee80211_vif *vif, in _iwl_mvm_disable_beacon_filter() argument
827 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in _iwl_mvm_disable_beacon_filter()
830 if (vif->type != NL80211_IFTYPE_STATION || vif->p2p) in _iwl_mvm_disable_beacon_filter()
842 struct ieee80211_vif *vif, in iwl_mvm_disable_beacon_filter() argument
845 return _iwl_mvm_disable_beacon_filter(mvm, vif, flags); in iwl_mvm_disable_beacon_filter()
877 struct ieee80211_vif *vif) in iwl_mvm_power_set_ba() argument
879 struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); in iwl_mvm_power_set_ba()
893 !vif->cfg.ps || in iwl_mvm_power_set_ba()
896 return _iwl_mvm_enable_beacon_filter(mvm, vif, &cmd, 0); in iwl_mvm_power_set_ba()