Lines Matching refs:arvif

455 	struct ath11k_vif *arvif = (void *)vif->drv_priv;  in ath11k_get_arvif_iter()  local
457 if (arvif->vdev_id == arvif_iter->vdev_id) in ath11k_get_arvif_iter()
458 arvif_iter->arvif = arvif; in ath11k_get_arvif_iter()
474 if (!arvif_iter.arvif) { in ath11k_mac_get_arvif()
479 return arvif_iter.arvif; in ath11k_mac_get_arvif()
487 struct ath11k_vif *arvif; in ath11k_mac_get_arvif_by_vdev_id() local
492 arvif = ath11k_mac_get_arvif(pdev->ar, vdev_id); in ath11k_mac_get_arvif_by_vdev_id()
493 if (arvif) in ath11k_mac_get_arvif_by_vdev_id()
494 return arvif; in ath11k_mac_get_arvif_by_vdev_id()
561 struct ath11k_vif *arvif; in ath11k_mac_txpower_recalc() local
567 list_for_each_entry(arvif, &ar->arvifs, list) { in ath11k_mac_txpower_recalc()
568 if (arvif->txpower <= 0) in ath11k_mac_txpower_recalc()
572 txpower = arvif->txpower; in ath11k_mac_txpower_recalc()
574 txpower = min(txpower, arvif->txpower); in ath11k_mac_txpower_recalc()
615 static int ath11k_recalc_rtscts_prot(struct ath11k_vif *arvif) in ath11k_recalc_rtscts_prot() argument
617 struct ath11k *ar = arvif->ar; in ath11k_recalc_rtscts_prot()
631 if (arvif->num_legacy_stations > 0) in ath11k_recalc_rtscts_prot()
637 if (arvif->rtscts_prot_mode == rts_cts) in ath11k_recalc_rtscts_prot()
640 arvif->rtscts_prot_mode = rts_cts; in ath11k_recalc_rtscts_prot()
643 arvif->vdev_id, rts_cts); in ath11k_recalc_rtscts_prot()
645 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_recalc_rtscts_prot()
649 arvif->vdev_id, ret); in ath11k_recalc_rtscts_prot()
654 static int ath11k_mac_set_kickout(struct ath11k_vif *arvif) in ath11k_mac_set_kickout() argument
656 struct ath11k *ar = arvif->ar; in ath11k_mac_set_kickout()
665 arvif->vdev_id, ret); in ath11k_mac_set_kickout()
670 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, param, in ath11k_mac_set_kickout()
674 arvif->vdev_id, ret); in ath11k_mac_set_kickout()
679 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, param, in ath11k_mac_set_kickout()
683 arvif->vdev_id, ret); in ath11k_mac_set_kickout()
688 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, param, in ath11k_mac_set_kickout()
692 arvif->vdev_id, ret); in ath11k_mac_set_kickout()
744 static int ath11k_mac_setup_bcn_tmpl(struct ath11k_vif *arvif) in ath11k_mac_setup_bcn_tmpl() argument
746 struct ath11k *ar = arvif->ar; in ath11k_mac_setup_bcn_tmpl()
749 struct ieee80211_vif *vif = arvif->vif; in ath11k_mac_setup_bcn_tmpl()
756 if (arvif->vdev_type != WMI_VDEV_TYPE_AP) in ath11k_mac_setup_bcn_tmpl()
769 arvif->rsnie_present = true; in ath11k_mac_setup_bcn_tmpl()
774 arvif->wpaie_present = true; in ath11k_mac_setup_bcn_tmpl()
776 ret = ath11k_wmi_bcn_tmpl(ar, arvif->vdev_id, &offs, bcn); in ath11k_mac_setup_bcn_tmpl()
787 static void ath11k_control_beaconing(struct ath11k_vif *arvif, in ath11k_control_beaconing() argument
790 struct ath11k *ar = arvif->ar; in ath11k_control_beaconing()
793 lockdep_assert_held(&arvif->ar->conf_mutex); in ath11k_control_beaconing()
796 ret = ath11k_wmi_vdev_down(ar, arvif->vdev_id); in ath11k_control_beaconing()
799 arvif->vdev_id, ret); in ath11k_control_beaconing()
801 arvif->is_up = false; in ath11k_control_beaconing()
806 ret = ath11k_mac_setup_bcn_tmpl(arvif); in ath11k_control_beaconing()
813 arvif->tx_seq_no = 0x1000; in ath11k_control_beaconing()
815 arvif->aid = 0; in ath11k_control_beaconing()
817 ether_addr_copy(arvif->bssid, info->bssid); in ath11k_control_beaconing()
819 ret = ath11k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid, in ath11k_control_beaconing()
820 arvif->bssid); in ath11k_control_beaconing()
823 arvif->vdev_id, ret); in ath11k_control_beaconing()
827 arvif->is_up = true; in ath11k_control_beaconing()
829 ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "mac vdev %d up\n", arvif->vdev_id); in ath11k_control_beaconing()
837 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_handle_beacon_iter() local
845 cancel_delayed_work(&arvif->connection_loss_work); in ath11k_mac_handle_beacon_iter()
860 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_handle_beacon_miss_iter() local
861 struct ath11k *ar = arvif->ar; in ath11k_mac_handle_beacon_miss_iter()
864 if (arvif->vdev_id != *vdev_id) in ath11k_mac_handle_beacon_miss_iter()
867 if (!arvif->is_up) in ath11k_mac_handle_beacon_miss_iter()
877 ieee80211_queue_delayed_work(hw, &arvif->connection_loss_work, in ath11k_mac_handle_beacon_miss_iter()
891 struct ath11k_vif *arvif = container_of(work, struct ath11k_vif, in ath11k_mac_vif_sta_connection_loss_work() local
893 struct ieee80211_vif *vif = arvif->vif; in ath11k_mac_vif_sta_connection_loss_work()
895 if (!arvif->is_up) in ath11k_mac_vif_sta_connection_loss_work()
906 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_basic() local
917 arg->vdev_id = arvif->vdev_id; in ath11k_peer_assoc_h_basic()
934 struct ath11k_vif *arvif = (struct ath11k_vif *)vif->drv_priv; in ath11k_peer_assoc_h_crypto() local
946 if (arvif->rsnie_present || arvif->wpaie_present) { in ath11k_peer_assoc_h_crypto()
948 if (arvif->wpaie_present) in ath11k_peer_assoc_h_crypto()
992 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_rates() local
1010 ratemask &= arvif->bitrate_mask.control[band].legacy; in ath11k_peer_assoc_h_rates()
1055 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_ht() local
1072 ht_mcs_mask = arvif->bitrate_mask.control[band].ht_mcs; in ath11k_peer_assoc_h_ht()
1096 if (arvif->bitrate_mask.control[band].gi != NL80211_TXRATE_FORCE_LGI) { in ath11k_peer_assoc_h_ht()
1216 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_vht() local
1231 vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs; in ath11k_peer_assoc_h_vht()
1456 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_qos() local
1458 switch (arvif->vdev_type) { in ath11k_peer_assoc_h_qos()
1488 struct ath11k_vif *arvif, in ath11k_peer_assoc_qos_ap() argument
1498 params.vdev_id = arvif->vdev_id; in ath11k_peer_assoc_qos_ap()
1550 params.param, arvif->vdev_id, ret); in ath11k_peer_assoc_qos_ap()
1619 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_peer_assoc_h_phymode() local
1630 ht_mcs_mask = arvif->bitrate_mask.control[band].ht_mcs; in ath11k_peer_assoc_h_phymode()
1631 vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs; in ath11k_peer_assoc_h_phymode()
1715 static int ath11k_setup_peer_smps(struct ath11k *ar, struct ath11k_vif *arvif, in ath11k_setup_peer_smps() argument
1730 return ath11k_wmi_set_peer_param(ar, addr, arvif->vdev_id, in ath11k_setup_peer_smps()
1740 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_bss_assoc() local
1748 arvif->vdev_id, arvif->bssid, arvif->aid); in ath11k_bss_assoc()
1755 bss_conf->bssid, arvif->vdev_id); in ath11k_bss_assoc()
1767 bss_conf->bssid, arvif->vdev_id, ret); in ath11k_bss_assoc()
1773 bss_conf->bssid, arvif->vdev_id); in ath11k_bss_assoc()
1777 ret = ath11k_setup_peer_smps(ar, arvif, bss_conf->bssid, in ath11k_bss_assoc()
1781 arvif->vdev_id, ret); in ath11k_bss_assoc()
1785 WARN_ON(arvif->is_up); in ath11k_bss_assoc()
1787 arvif->aid = bss_conf->aid; in ath11k_bss_assoc()
1788 ether_addr_copy(arvif->bssid, bss_conf->bssid); in ath11k_bss_assoc()
1790 ret = ath11k_wmi_vdev_up(ar, arvif->vdev_id, arvif->aid, arvif->bssid); in ath11k_bss_assoc()
1793 arvif->vdev_id, ret); in ath11k_bss_assoc()
1797 arvif->is_up = true; in ath11k_bss_assoc()
1801 arvif->vdev_id, bss_conf->bssid, bss_conf->aid); in ath11k_bss_assoc()
1804 ret = ath11k_wmi_set_peer_param(ar, arvif->bssid, in ath11k_bss_assoc()
1805 arvif->vdev_id, in ath11k_bss_assoc()
1811 ret = ath11k_wmi_send_obss_spr_cmd(ar, arvif->vdev_id, in ath11k_bss_assoc()
1815 arvif->vdev_id, ret); in ath11k_bss_assoc()
1822 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_bss_disassoc() local
1828 arvif->vdev_id, arvif->bssid); in ath11k_bss_disassoc()
1830 ret = ath11k_wmi_vdev_down(ar, arvif->vdev_id); in ath11k_bss_disassoc()
1833 arvif->vdev_id, ret); in ath11k_bss_disassoc()
1835 arvif->is_up = false; in ath11k_bss_disassoc()
1837 cancel_delayed_work_sync(&arvif->connection_loss_work); in ath11k_bss_disassoc()
1869 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_recalculate_mgmt_rate() local
1890 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, vdev_param, in ath11k_recalculate_mgmt_rate()
1896 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, vdev_param, in ath11k_recalculate_mgmt_rate()
1902 static int ath11k_mac_fils_discovery(struct ath11k_vif *arvif, in ath11k_mac_fils_discovery() argument
1905 struct ath11k *ar = arvif->ar; in ath11k_mac_fils_discovery()
1914 tmpl = ieee80211_get_fils_discovery_tmpl(ar->hw, arvif->vif); in ath11k_mac_fils_discovery()
1916 ret = ath11k_wmi_fils_discovery_tmpl(ar, arvif->vdev_id, in ath11k_mac_fils_discovery()
1923 arvif->vif); in ath11k_mac_fils_discovery()
1925 ret = ath11k_wmi_probe_resp_tmpl(ar, arvif->vdev_id, in ath11k_mac_fils_discovery()
1928 return ath11k_wmi_fils_discovery(ar, arvif->vdev_id, 0, false); in ath11k_mac_fils_discovery()
1934 arvif->vdev_id, (unsol_bcast_probe_resp_enabled ? in ath11k_mac_fils_discovery()
1942 ret = ath11k_wmi_fils_discovery(ar, arvif->vdev_id, interval, in ath11k_mac_fils_discovery()
2106 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_bss_info_changed() local
2122 arvif->beacon_interval = info->beacon_int; in ath11k_mac_op_bss_info_changed()
2125 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2127 arvif->beacon_interval); in ath11k_mac_op_bss_info_changed()
2130 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2134 arvif->beacon_interval, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2144 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2148 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2150 ret = ath11k_mac_setup_bcn_tmpl(arvif); in ath11k_mac_op_bss_info_changed()
2157 arvif->dtim_period = info->dtim_period; in ath11k_mac_op_bss_info_changed()
2160 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2162 arvif->dtim_period); in ath11k_mac_op_bss_info_changed()
2166 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2170 arvif->dtim_period, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2175 arvif->u.ap.ssid_len = info->ssid_len; in ath11k_mac_op_bss_info_changed()
2177 memcpy(arvif->u.ap.ssid, info->ssid, info->ssid_len); in ath11k_mac_op_bss_info_changed()
2178 arvif->u.ap.hidden_ssid = info->hidden_ssid; in ath11k_mac_op_bss_info_changed()
2182 ether_addr_copy(arvif->bssid, info->bssid); in ath11k_mac_op_bss_info_changed()
2185 ath11k_control_beaconing(arvif, info); in ath11k_mac_op_bss_info_changed()
2187 if (arvif->is_up && vif->bss_conf.he_support && in ath11k_mac_op_bss_info_changed()
2189 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2195 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2199 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2203 param_value, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2207 param_value, arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2217 if (arvif->is_started) { in ath11k_mac_op_bss_info_changed()
2218 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2222 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2225 cts_prot, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2241 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2245 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2249 slottime, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2261 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2265 arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2269 preamble, arvif->vdev_id); in ath11k_mac_op_bss_info_changed()
2281 arvif->vdev_id, info->txpower); in ath11k_mac_op_bss_info_changed()
2283 arvif->txpower = info->txpower; in ath11k_mac_op_bss_info_changed()
2288 !ath11k_mac_vif_chan(arvif->vif, &def)) { in ath11k_mac_op_bss_info_changed()
2312 arvif->vdev_id, rate); in ath11k_mac_op_bss_info_changed()
2315 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2320 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2323 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2328 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2332 !ath11k_mac_vif_chan(arvif->vif, &def)) in ath11k_mac_op_bss_info_changed()
2348 ar, arvif->vdev_id, info->he_bss_color.color, in ath11k_mac_op_bss_info_changed()
2353 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2356 arvif->vdev_id, in ath11k_mac_op_bss_info_changed()
2360 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2362 ar, arvif->vdev_id, 0, in ath11k_mac_op_bss_info_changed()
2366 arvif->vdev_id, ret); in ath11k_mac_op_bss_info_changed()
2372 ath11k_mac_fils_discovery(arvif, info); in ath11k_mac_op_bss_info_changed()
2544 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_hw_scan() local
2559 ar->scan.vdev_id = arvif->vdev_id; in ath11k_mac_op_hw_scan()
2575 arg.vdev_id = arvif->vdev_id; in ath11k_mac_op_hw_scan()
2634 static int ath11k_install_key(struct ath11k_vif *arvif, in ath11k_install_key() argument
2640 struct ath11k *ar = arvif->ar; in ath11k_install_key()
2642 .vdev_id = arvif->vdev_id, in ath11k_install_key()
2650 lockdep_assert_held(&arvif->ar->conf_mutex); in ath11k_install_key()
2693 ret = ath11k_wmi_vdev_install_key(arvif->ar, &arg); in ath11k_install_key()
2704 static int ath11k_clear_peer_keys(struct ath11k_vif *arvif, in ath11k_clear_peer_keys() argument
2707 struct ath11k *ar = arvif->ar; in ath11k_clear_peer_keys()
2718 peer = ath11k_peer_find(ab, arvif->vdev_id, addr); in ath11k_clear_peer_keys()
2729 ret = ath11k_install_key(arvif, peer->keys[i], in ath11k_clear_peer_keys()
2752 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_set_key() local
2776 else if (arvif->vdev_type == WMI_VDEV_TYPE_STA) in ath11k_mac_op_set_key()
2787 peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr); in ath11k_mac_op_set_key()
2815 ret = ath11k_install_key(arvif, key, cmd, peer_addr, flags); in ath11k_mac_op_set_key()
2821 ret = ath11k_dp_peer_rx_pn_replay_config(arvif, peer_addr, cmd, key); in ath11k_mac_op_set_key()
2828 peer = ath11k_peer_find(ab, arvif->vdev_id, peer_addr); in ath11k_mac_op_set_key()
2890 ath11k_mac_set_peer_vht_fixed_rate(struct ath11k_vif *arvif, in ath11k_mac_set_peer_vht_fixed_rate() argument
2895 struct ath11k *ar = arvif->ar; in ath11k_mac_set_peer_vht_fixed_rate()
2924 arvif->vdev_id, in ath11k_mac_set_peer_vht_fixed_rate()
2940 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_station_assoc() local
2954 mask = &arvif->bitrate_mask; in ath11k_station_assoc()
2961 sta->addr, arvif->vdev_id, ret); in ath11k_station_assoc()
2967 sta->addr, arvif->vdev_id); in ath11k_station_assoc()
2979 ret = ath11k_mac_set_peer_vht_fixed_rate(arvif, sta, mask, in ath11k_station_assoc()
2991 ret = ath11k_setup_peer_smps(ar, arvif, sta->addr, in ath11k_station_assoc()
2995 arvif->vdev_id, ret); in ath11k_station_assoc()
3000 arvif->num_legacy_stations++; in ath11k_station_assoc()
3001 ret = ath11k_recalc_rtscts_prot(arvif); in ath11k_station_assoc()
3007 ret = ath11k_peer_assoc_qos_ap(ar, arvif, sta); in ath11k_station_assoc()
3010 sta->addr, arvif->vdev_id, ret); in ath11k_station_assoc()
3022 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_station_disassoc() local
3028 arvif->num_legacy_stations--; in ath11k_station_disassoc()
3029 ret = ath11k_recalc_rtscts_prot(arvif); in ath11k_station_disassoc()
3034 ret = ath11k_clear_peer_keys(arvif, sta->addr); in ath11k_station_disassoc()
3037 arvif->vdev_id, ret); in ath11k_station_disassoc()
3046 struct ath11k_vif *arvif; in ath11k_sta_rc_update_wk() local
3060 arvif = arsta->arvif; in ath11k_sta_rc_update_wk()
3061 ar = arvif->ar; in ath11k_sta_rc_update_wk()
3063 if (WARN_ON(ath11k_mac_vif_chan(arvif->vif, &def))) in ath11k_sta_rc_update_wk()
3067 ht_mcs_mask = arvif->bitrate_mask.control[band].ht_mcs; in ath11k_sta_rc_update_wk()
3068 vht_mcs_mask = arvif->bitrate_mask.control[band].vht_mcs; in ath11k_sta_rc_update_wk()
3088 err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, in ath11k_sta_rc_update_wk()
3099 err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, in ath11k_sta_rc_update_wk()
3110 err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, in ath11k_sta_rc_update_wk()
3118 mask = &arvif->bitrate_mask; in ath11k_sta_rc_update_wk()
3134 ath11k_mac_set_peer_vht_fixed_rate(arvif, sta, mask, in ath11k_sta_rc_update_wk()
3141 ath11k_peer_assoc_prepare(ar, arvif->vif, sta, in ath11k_sta_rc_update_wk()
3147 sta->addr, arvif->vdev_id, err); in ath11k_sta_rc_update_wk()
3151 sta->addr, arvif->vdev_id); in ath11k_sta_rc_update_wk()
3158 static int ath11k_mac_inc_num_stations(struct ath11k_vif *arvif, in ath11k_mac_inc_num_stations() argument
3161 struct ath11k *ar = arvif->ar; in ath11k_mac_inc_num_stations()
3165 if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) in ath11k_mac_inc_num_stations()
3176 static void ath11k_mac_dec_num_stations(struct ath11k_vif *arvif, in ath11k_mac_dec_num_stations() argument
3179 struct ath11k *ar = arvif->ar; in ath11k_mac_dec_num_stations()
3183 if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) in ath11k_mac_dec_num_stations()
3194 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_station_add() local
3201 ret = ath11k_mac_inc_num_stations(arvif, sta); in ath11k_mac_station_add()
3214 peer_param.vdev_id = arvif->vdev_id; in ath11k_mac_station_add()
3218 ret = ath11k_peer_create(ar, arvif, sta, &peer_param); in ath11k_mac_station_add()
3221 sta->addr, arvif->vdev_id); in ath11k_mac_station_add()
3226 sta->addr, arvif->vdev_id); in ath11k_mac_station_add()
3238 arvif->vdev_id, in ath11k_mac_station_add()
3247 ret = ath11k_dp_peer_setup(ar, arvif->vdev_id, sta->addr); in ath11k_mac_station_add()
3250 sta->addr, arvif->vdev_id, ret); in ath11k_mac_station_add()
3255 !arvif->is_started && in ath11k_mac_station_add()
3256 arvif->vdev_type != WMI_VDEV_TYPE_AP) { in ath11k_mac_station_add()
3270 ath11k_peer_delete(ar, arvif->vdev_id, sta->addr); in ath11k_mac_station_add()
3275 ath11k_mac_dec_num_stations(arvif, sta); in ath11k_mac_station_add()
3287 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_sta_state() local
3302 arsta->arvif = arvif; in ath11k_mac_op_sta_state()
3308 sta->addr, arvif->vdev_id); in ath11k_mac_op_sta_state()
3311 ath11k_dp_peer_cleanup(ar, arvif->vdev_id, sta->addr); in ath11k_mac_op_sta_state()
3313 ret = ath11k_peer_delete(ar, arvif->vdev_id, sta->addr); in ath11k_mac_op_sta_state()
3316 sta->addr, arvif->vdev_id); in ath11k_mac_op_sta_state()
3319 sta->addr, arvif->vdev_id); in ath11k_mac_op_sta_state()
3321 ath11k_mac_dec_num_stations(arvif, sta); in ath11k_mac_op_sta_state()
3323 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr); in ath11k_mac_op_sta_state()
3326 vif->addr, arvif->vdev_id); in ath11k_mac_op_sta_state()
3368 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_sta_set_txpwr() local
3385 ret = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, in ath11k_mac_op_sta_set_txpwr()
3405 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_sta_rc_update() local
3411 peer = ath11k_peer_find(ar->ab, arvif->vdev_id, sta->addr); in ath11k_mac_op_sta_rc_update()
3415 sta->addr, arvif->vdev_id); in ath11k_mac_op_sta_rc_update()
3491 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_conf_tx_uapsd() local
3495 if (arvif->vdev_type != WMI_VDEV_TYPE_STA) in ath11k_conf_tx_uapsd()
3518 arvif->u.sta.uapsd |= value; in ath11k_conf_tx_uapsd()
3520 arvif->u.sta.uapsd &= ~value; in ath11k_conf_tx_uapsd()
3522 ret = ath11k_wmi_set_sta_ps_param(ar, arvif->vdev_id, in ath11k_conf_tx_uapsd()
3524 arvif->u.sta.uapsd); in ath11k_conf_tx_uapsd()
3530 if (arvif->u.sta.uapsd) in ath11k_conf_tx_uapsd()
3535 ret = ath11k_wmi_set_sta_ps_param(ar, arvif->vdev_id, in ath11k_conf_tx_uapsd()
3550 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_conf_tx() local
3558 p = &arvif->wmm_params.ac_vo; in ath11k_mac_op_conf_tx()
3561 p = &arvif->wmm_params.ac_vi; in ath11k_mac_op_conf_tx()
3564 p = &arvif->wmm_params.ac_be; in ath11k_mac_op_conf_tx()
3567 p = &arvif->wmm_params.ac_bk; in ath11k_mac_op_conf_tx()
3581 ret = ath11k_wmi_send_wmm_update_cmd_tlv(ar, arvif->vdev_id, in ath11k_mac_op_conf_tx()
3582 &arvif->wmm_params); in ath11k_mac_op_conf_tx()
3664 static int ath11k_mac_set_txbf_conf(struct ath11k_vif *arvif) in ath11k_mac_set_txbf_conf() argument
3667 struct ath11k *ar = arvif->ar; in ath11k_mac_set_txbf_conf()
3695 arvif->vdev_type == WMI_VDEV_TYPE_AP) in ath11k_mac_set_txbf_conf()
3705 arvif->vdev_type == WMI_VDEV_TYPE_STA) in ath11k_mac_set_txbf_conf()
3709 return ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_set_txbf_conf()
4174 static int ath11k_mac_mgmt_tx_wmi(struct ath11k *ar, struct ath11k_vif *arvif, in ath11k_mac_mgmt_tx_wmi() argument
4210 ret = ath11k_wmi_mgmt_send(ar, arvif->vdev_id, buf_id, skb); in ath11k_mac_mgmt_tx_wmi()
4241 struct ath11k_vif *arvif; in ath11k_mgmt_over_wmi_tx_work() local
4253 arvif = ath11k_vif_to_arvif(skb_cb->vif); in ath11k_mgmt_over_wmi_tx_work()
4254 if (ar->allocated_vdev_map & (1LL << arvif->vdev_id) && in ath11k_mgmt_over_wmi_tx_work()
4255 arvif->is_started) { in ath11k_mgmt_over_wmi_tx_work()
4256 ret = ath11k_mac_mgmt_tx_wmi(ar, arvif, skb); in ath11k_mgmt_over_wmi_tx_work()
4259 arvif->vdev_id, ret); in ath11k_mgmt_over_wmi_tx_work()
4267 arvif->vdev_id, in ath11k_mgmt_over_wmi_tx_work()
4268 arvif->is_started); in ath11k_mgmt_over_wmi_tx_work()
4313 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_tx() local
4341 ret = ath11k_dp_tx(ar, arvif, skb); in ath11k_mac_op_tx()
4540 ath11k_mac_setup_vdev_create_params(struct ath11k_vif *arvif, in ath11k_mac_setup_vdev_create_params() argument
4543 struct ath11k *ar = arvif->ar; in ath11k_mac_setup_vdev_create_params()
4546 params->if_id = arvif->vdev_id; in ath11k_mac_setup_vdev_create_params()
4547 params->type = arvif->vdev_type; in ath11k_mac_setup_vdev_create_params()
4548 params->subtype = arvif->vdev_subtype; in ath11k_mac_setup_vdev_create_params()
4599 struct ath11k_vif *arvif) in ath11k_set_he_mu_sounding_mode() argument
4606 param_value = ath11k_mac_prepare_he_mode(ar->pdev, arvif->vif->type); in ath11k_set_he_mu_sounding_mode()
4607 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_set_he_mu_sounding_mode()
4611 arvif->vdev_id, ret, param_value); in ath11k_set_he_mu_sounding_mode()
4619 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_set_he_mu_sounding_mode()
4623 arvif->vdev_id, ret); in ath11k_set_he_mu_sounding_mode()
4634 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_update_vif_offload() local
4651 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_update_vif_offload()
4655 arvif->vdev_id, ret); in ath11k_mac_op_update_vif_offload()
4665 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_add_interface() local
4692 memset(arvif, 0, sizeof(*arvif)); in ath11k_mac_op_add_interface()
4694 arvif->ar = ar; in ath11k_mac_op_add_interface()
4695 arvif->vif = vif; in ath11k_mac_op_add_interface()
4697 INIT_LIST_HEAD(&arvif->list); in ath11k_mac_op_add_interface()
4698 INIT_DELAYED_WORK(&arvif->connection_loss_work, in ath11k_mac_op_add_interface()
4701 for (i = 0; i < ARRAY_SIZE(arvif->bitrate_mask.control); i++) { in ath11k_mac_op_add_interface()
4702 arvif->bitrate_mask.control[i].legacy = 0xffffffff; in ath11k_mac_op_add_interface()
4703 memset(arvif->bitrate_mask.control[i].ht_mcs, 0xff, in ath11k_mac_op_add_interface()
4704 sizeof(arvif->bitrate_mask.control[i].ht_mcs)); in ath11k_mac_op_add_interface()
4705 memset(arvif->bitrate_mask.control[i].vht_mcs, 0xff, in ath11k_mac_op_add_interface()
4706 sizeof(arvif->bitrate_mask.control[i].vht_mcs)); in ath11k_mac_op_add_interface()
4711 arvif->vdev_id = bit; in ath11k_mac_op_add_interface()
4712 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_NONE; in ath11k_mac_op_add_interface()
4717 arvif->vdev_type = WMI_VDEV_TYPE_STA; in ath11k_mac_op_add_interface()
4720 arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH_11S; in ath11k_mac_op_add_interface()
4723 arvif->vdev_type = WMI_VDEV_TYPE_AP; in ath11k_mac_op_add_interface()
4726 arvif->vdev_type = WMI_VDEV_TYPE_MONITOR; in ath11k_mac_op_add_interface()
4734 arvif->vdev_id, arvif->vdev_type, arvif->vdev_subtype, in ath11k_mac_op_add_interface()
4737 vif->cab_queue = arvif->vdev_id % (ATH11K_HW_MAX_QUEUES - 1); in ath11k_mac_op_add_interface()
4741 ath11k_mac_setup_vdev_create_params(arvif, &vdev_param); in ath11k_mac_op_add_interface()
4746 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4752 vif->addr, arvif->vdev_id); in ath11k_mac_op_add_interface()
4753 ar->allocated_vdev_map |= 1LL << arvif->vdev_id; in ath11k_mac_op_add_interface()
4754 ab->free_vdev_map &= ~(1LL << arvif->vdev_id); in ath11k_mac_op_add_interface()
4757 list_add(&arvif->list, &ar->arvifs); in ath11k_mac_op_add_interface()
4763 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4767 arvif->vdev_id, ar->cfg_tx_chainmask, nss, ret); in ath11k_mac_op_add_interface()
4771 switch (arvif->vdev_type) { in ath11k_mac_op_add_interface()
4773 peer_param.vdev_id = arvif->vdev_id; in ath11k_mac_op_add_interface()
4776 ret = ath11k_peer_create(ar, arvif, NULL, &peer_param); in ath11k_mac_op_add_interface()
4779 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4783 ret = ath11k_mac_set_kickout(arvif); in ath11k_mac_op_add_interface()
4786 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4793 ret = ath11k_wmi_set_sta_ps_param(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4797 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4803 ret = ath11k_wmi_set_sta_ps_param(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4807 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4813 ret = ath11k_wmi_set_sta_ps_param(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4817 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4821 ret = ath11k_wmi_pdev_set_ps_mode(ar, arvif->vdev_id, false); in ath11k_mac_op_add_interface()
4824 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4832 arvif->txpower = vif->bss_conf.txpower; in ath11k_mac_op_add_interface()
4839 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4843 arvif->vdev_id, ret); in ath11k_mac_op_add_interface()
4846 ath11k_dp_vdev_tx_attach(ar, arvif); in ath11k_mac_op_add_interface()
4853 if (arvif->vdev_type == WMI_VDEV_TYPE_AP) { in ath11k_mac_op_add_interface()
4857 arvif->vdev_id); in ath11k_mac_op_add_interface()
4860 arvif->vdev_id, vif->addr); in ath11k_mac_op_add_interface()
4864 ret = ath11k_wait_for_peer_delete_done(ar, arvif->vdev_id, in ath11k_mac_op_add_interface()
4873 ath11k_wmi_vdev_delete(ar, arvif->vdev_id); in ath11k_mac_op_add_interface()
4875 ar->allocated_vdev_map &= ~(1LL << arvif->vdev_id); in ath11k_mac_op_add_interface()
4876 ab->free_vdev_map |= 1LL << arvif->vdev_id; in ath11k_mac_op_add_interface()
4878 list_del(&arvif->list); in ath11k_mac_op_add_interface()
4902 struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); in ath11k_mac_op_remove_interface() local
4908 cancel_delayed_work_sync(&arvif->connection_loss_work); in ath11k_mac_op_remove_interface()
4913 arvif->vdev_id); in ath11k_mac_op_remove_interface()
4915 if (arvif->vdev_type == WMI_VDEV_TYPE_AP) { in ath11k_mac_op_remove_interface()
4916 ret = ath11k_peer_delete(ar, arvif->vdev_id, vif->addr); in ath11k_mac_op_remove_interface()
4919 arvif->vdev_id, ret); in ath11k_mac_op_remove_interface()
4924 ret = ath11k_wmi_vdev_delete(ar, arvif->vdev_id); in ath11k_mac_op_remove_interface()
4927 arvif->vdev_id, ret); in ath11k_mac_op_remove_interface()
4938 ab->free_vdev_map |= 1LL << (arvif->vdev_id); in ath11k_mac_op_remove_interface()
4939 ar->allocated_vdev_map &= ~(1LL << arvif->vdev_id); in ath11k_mac_op_remove_interface()
4943 vif->addr, arvif->vdev_id); in ath11k_mac_op_remove_interface()
4947 list_del(&arvif->list); in ath11k_mac_op_remove_interface()
4950 ath11k_peer_cleanup(ar, arvif->vdev_id); in ath11k_mac_op_remove_interface()
5136 ath11k_mac_vdev_start_restart(struct ath11k_vif *arvif, in ath11k_mac_vdev_start_restart() argument
5140 struct ath11k *ar = arvif->ar; in ath11k_mac_vdev_start_restart()
5143 int he_support = arvif->vif->bss_conf.he_support; in ath11k_mac_vdev_start_restart()
5150 arg.vdev_id = arvif->vdev_id; in ath11k_mac_vdev_start_restart()
5151 arg.dtim_period = arvif->dtim_period; in ath11k_mac_vdev_start_restart()
5152 arg.bcn_intval = arvif->beacon_interval; in ath11k_mac_vdev_start_restart()
5168 if (arvif->vdev_type == WMI_VDEV_TYPE_AP) { in ath11k_mac_vdev_start_restart()
5169 arg.ssid = arvif->u.ap.ssid; in ath11k_mac_vdev_start_restart()
5170 arg.ssid_len = arvif->u.ap.ssid_len; in ath11k_mac_vdev_start_restart()
5171 arg.hidden_ssid = arvif->u.ap.hidden_ssid; in ath11k_mac_vdev_start_restart()
5187 ret = ath11k_set_he_mu_sounding_mode(ar, arvif); in ath11k_mac_vdev_start_restart()
5219 arvif->vif->addr, arvif->vdev_id); in ath11k_mac_vdev_start_restart()
5228 if (arvif->vdev_type == WMI_VDEV_TYPE_AP && in ath11k_mac_vdev_start_restart()
5237 ret = ath11k_mac_set_txbf_conf(arvif); in ath11k_mac_vdev_start_restart()
5240 arvif->vdev_id, ret); in ath11k_mac_vdev_start_restart()
5245 static int ath11k_mac_vdev_stop(struct ath11k_vif *arvif) in ath11k_mac_vdev_stop() argument
5247 struct ath11k *ar = arvif->ar; in ath11k_mac_vdev_stop()
5254 ret = ath11k_wmi_vdev_stop(ar, arvif->vdev_id); in ath11k_mac_vdev_stop()
5257 arvif->vdev_id, ret); in ath11k_mac_vdev_stop()
5264 arvif->vdev_id, ret); in ath11k_mac_vdev_stop()
5272 arvif->vif->addr, arvif->vdev_id); in ath11k_mac_vdev_stop()
5277 arvif->vdev_id); in ath11k_mac_vdev_stop()
5285 static int ath11k_mac_vdev_start(struct ath11k_vif *arvif, in ath11k_mac_vdev_start() argument
5288 return ath11k_mac_vdev_start_restart(arvif, chandef, false); in ath11k_mac_vdev_start()
5291 static int ath11k_mac_vdev_restart(struct ath11k_vif *arvif, in ath11k_mac_vdev_restart() argument
5294 return ath11k_mac_vdev_start_restart(arvif, chandef, true); in ath11k_mac_vdev_restart()
5342 struct ath11k_vif *arvif; in ath11k_mac_update_vif_chan() local
5349 arvif = (void *)vifs[i].vif->drv_priv; in ath11k_mac_update_vif_chan()
5353 arvif->vdev_id, in ath11k_mac_update_vif_chan()
5359 if (WARN_ON(!arvif->is_started)) in ath11k_mac_update_vif_chan()
5362 if (WARN_ON(!arvif->is_up)) in ath11k_mac_update_vif_chan()
5365 ret = ath11k_wmi_vdev_down(ar, arvif->vdev_id); in ath11k_mac_update_vif_chan()
5368 arvif->vdev_id, ret); in ath11k_mac_update_vif_chan()
5380 arvif = (void *)vifs[i].vif->drv_priv; in ath11k_mac_update_vif_chan()
5382 if (WARN_ON(!arvif->is_started)) in ath11k_mac_update_vif_chan()
5385 if (WARN_ON(!arvif->is_up)) in ath11k_mac_update_vif_chan()
5388 ret = ath11k_mac_vdev_restart(arvif, &vifs[i].new_ctx->def); in ath11k_mac_update_vif_chan()
5391 arvif->vdev_id, ret); in ath11k_mac_update_vif_chan()
5395 ret = ath11k_mac_setup_bcn_tmpl(arvif); in ath11k_mac_update_vif_chan()
5400 ret = ath11k_wmi_vdev_up(arvif->ar, arvif->vdev_id, arvif->aid, in ath11k_mac_update_vif_chan()
5401 arvif->bssid); in ath11k_mac_update_vif_chan()
5404 arvif->vdev_id, ret); in ath11k_mac_update_vif_chan()
5472 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_start_vdev_delay() local
5475 if (WARN_ON(arvif->is_started)) in ath11k_start_vdev_delay()
5478 ret = ath11k_mac_vdev_start(arvif, &arvif->chanctx.def); in ath11k_start_vdev_delay()
5481 arvif->vdev_id, vif->addr, in ath11k_start_vdev_delay()
5482 arvif->chanctx.def.chan->center_freq, ret); in ath11k_start_vdev_delay()
5486 if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) { in ath11k_start_vdev_delay()
5487 ret = ath11k_monitor_vdev_up(ar, arvif->vdev_id); in ath11k_start_vdev_delay()
5494 arvif->is_started = true; in ath11k_start_vdev_delay()
5507 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_assign_vif_chanctx() local
5515 ctx, arvif->vdev_id); in ath11k_mac_op_assign_vif_chanctx()
5519 arvif->vdev_type != WMI_VDEV_TYPE_AP && in ath11k_mac_op_assign_vif_chanctx()
5520 arvif->vdev_type != WMI_VDEV_TYPE_MONITOR && in ath11k_mac_op_assign_vif_chanctx()
5521 !ath11k_peer_find_by_vdev_id(ab, arvif->vdev_id)) { in ath11k_mac_op_assign_vif_chanctx()
5522 memcpy(&arvif->chanctx, ctx, sizeof(*ctx)); in ath11k_mac_op_assign_vif_chanctx()
5527 if (WARN_ON(arvif->is_started)) { in ath11k_mac_op_assign_vif_chanctx()
5533 arvif->vdev_type != WMI_VDEV_TYPE_AP && in ath11k_mac_op_assign_vif_chanctx()
5534 arvif->vdev_type != WMI_VDEV_TYPE_MONITOR) { in ath11k_mac_op_assign_vif_chanctx()
5535 param.vdev_id = arvif->vdev_id; in ath11k_mac_op_assign_vif_chanctx()
5539 ret = ath11k_peer_create(ar, arvif, NULL, &param); in ath11k_mac_op_assign_vif_chanctx()
5547 ret = ath11k_mac_vdev_start(arvif, &ctx->def); in ath11k_mac_op_assign_vif_chanctx()
5550 arvif->vdev_id, vif->addr, in ath11k_mac_op_assign_vif_chanctx()
5554 if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) { in ath11k_mac_op_assign_vif_chanctx()
5555 ret = ath11k_monitor_vdev_up(ar, arvif->vdev_id); in ath11k_mac_op_assign_vif_chanctx()
5560 arvif->is_started = true; in ath11k_mac_op_assign_vif_chanctx()
5579 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_unassign_vif_chanctx() local
5586 ctx, arvif->vdev_id); in ath11k_mac_op_unassign_vif_chanctx()
5588 WARN_ON(!arvif->is_started); in ath11k_mac_op_unassign_vif_chanctx()
5591 arvif->vdev_type == WMI_VDEV_TYPE_MONITOR && in ath11k_mac_op_unassign_vif_chanctx()
5593 ath11k_peer_delete(ar, arvif->vdev_id, ar->mac_addr); in ath11k_mac_op_unassign_vif_chanctx()
5595 ret = ath11k_mac_vdev_stop(arvif); in ath11k_mac_op_unassign_vif_chanctx()
5598 arvif->vdev_id, ret); in ath11k_mac_op_unassign_vif_chanctx()
5600 arvif->is_started = false; in ath11k_mac_op_unassign_vif_chanctx()
5603 arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) in ath11k_mac_op_unassign_vif_chanctx()
5604 ath11k_wmi_vdev_down(ar, arvif->vdev_id); in ath11k_mac_op_unassign_vif_chanctx()
5632 struct ath11k_vif *arvif; in ath11k_set_vdev_param_to_all_vifs() local
5636 list_for_each_entry(arvif, &ar->arvifs, list) { in ath11k_set_vdev_param_to_all_vifs()
5638 param, arvif->vdev_id, value); in ath11k_set_vdev_param_to_all_vifs()
5640 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_set_vdev_param_to_all_vifs()
5644 param, arvif->vdev_id, ret); in ath11k_set_vdev_param_to_all_vifs()
5809 static int ath11k_mac_set_fixed_rate_params(struct ath11k_vif *arvif, in ath11k_mac_set_fixed_rate_params() argument
5812 struct ath11k *ar = arvif->ar; in ath11k_mac_set_fixed_rate_params()
5819 arvif->vdev_id, rate, nss, sgi); in ath11k_mac_set_fixed_rate_params()
5822 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_set_fixed_rate_params()
5831 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_set_fixed_rate_params()
5840 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_set_fixed_rate_params()
5849 ret = ath11k_wmi_vdev_set_param_cmd(ar, arvif->vdev_id, in ath11k_mac_set_fixed_rate_params()
5888 struct ath11k_vif *arvif = data; in ath11k_mac_set_bitrate_mask_iter() local
5890 struct ath11k *ar = arvif->ar; in ath11k_mac_set_bitrate_mask_iter()
5902 struct ath11k_vif *arvif = data; in ath11k_mac_disable_peer_fixed_rate() local
5903 struct ath11k *ar = arvif->ar; in ath11k_mac_disable_peer_fixed_rate()
5907 arvif->vdev_id, in ath11k_mac_disable_peer_fixed_rate()
5921 struct ath11k_vif *arvif = (void *)vif->drv_priv; in ath11k_mac_op_set_bitrate_mask() local
5923 struct ath11k *ar = arvif->ar; in ath11k_mac_op_set_bitrate_mask()
5960 arvif->vdev_id, ret); in ath11k_mac_op_set_bitrate_mask()
5965 arvif); in ath11k_mac_op_set_bitrate_mask()
6011 arvif); in ath11k_mac_op_set_bitrate_mask()
6015 arvif->bitrate_mask = *mask; in ath11k_mac_op_set_bitrate_mask()
6018 arvif); in ath11k_mac_op_set_bitrate_mask()
6025 ret = ath11k_mac_set_fixed_rate_params(arvif, rate, nss, sgi, ldpc); in ath11k_mac_op_set_bitrate_mask()
6028 arvif->vdev_id, ret); in ath11k_mac_op_set_bitrate_mask()