Lines Matching refs:sta
766 struct ieee80211_sta *sta, in ath10k_mac_tdls_peer_update() argument
778 ether_addr_copy(arg.addr, sta->addr); in ath10k_mac_tdls_peer_update()
780 cap.peer_max_sp = sta->max_sp; in ath10k_mac_tdls_peer_update()
781 cap.peer_uapsd_queues = sta->uapsd_queues; in ath10k_mac_tdls_peer_update()
784 !sta->tdls_initiator) in ath10k_mac_tdls_peer_update()
1651 if (arvif->u.sta.uapsd) in ath10k_mac_vif_recalc_ps_wake_threshold()
1676 if (arvif->u.sta.uapsd) in ath10k_mac_vif_recalc_ps_poll_count()
1947 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_basic() argument
1958 aid = sta->aid; in ath10k_peer_assoc_h_basic()
1960 ether_addr_copy(arg->addr, sta->addr); in ath10k_peer_assoc_h_basic()
2016 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_rates() argument
2036 ratemask = sta->supp_rates[band]; in ath10k_peer_assoc_h_rates()
2078 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_ht() argument
2081 const struct ieee80211_sta_ht_cap *ht_cap = &sta->ht_cap; in ath10k_peer_assoc_h_ht()
2120 if (sta->bandwidth >= IEEE80211_STA_RX_BW_40) { in ath10k_peer_assoc_h_ht()
2173 arg->peer_num_spatial_streams = min(sta->rx_nss, max_nss); in ath10k_peer_assoc_h_ht()
2184 struct ieee80211_sta *sta) in ath10k_peer_assoc_qos_ap() argument
2192 if (sta->wme && sta->uapsd_queues) { in ath10k_peer_assoc_qos_ap()
2194 sta->uapsd_queues, sta->max_sp); in ath10k_peer_assoc_qos_ap()
2196 if (sta->uapsd_queues & IEEE80211_WMM_IE_STA_QOSINFO_AC_VO) in ath10k_peer_assoc_qos_ap()
2199 if (sta->uapsd_queues & IEEE80211_WMM_IE_STA_QOSINFO_AC_VI) in ath10k_peer_assoc_qos_ap()
2202 if (sta->uapsd_queues & IEEE80211_WMM_IE_STA_QOSINFO_AC_BK) in ath10k_peer_assoc_qos_ap()
2205 if (sta->uapsd_queues & IEEE80211_WMM_IE_STA_QOSINFO_AC_BE) in ath10k_peer_assoc_qos_ap()
2209 if (sta->max_sp < MAX_WMI_AP_PS_PEER_PARAM_MAX_SP) in ath10k_peer_assoc_qos_ap()
2210 max_sp = sta->max_sp; in ath10k_peer_assoc_qos_ap()
2213 sta->addr, in ath10k_peer_assoc_qos_ap()
2223 sta->addr, in ath10k_peer_assoc_qos_ap()
2236 ret = ath10k_wmi_set_ap_ps_param(ar, arvif->vdev_id, sta->addr, in ath10k_peer_assoc_qos_ap()
2302 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_vht() argument
2305 const struct ieee80211_sta_vht_cap *vht_cap = &sta->vht_cap; in ath10k_peer_assoc_h_vht()
2343 if (sta->bandwidth == IEEE80211_STA_RX_BW_80) in ath10k_peer_assoc_h_vht()
2356 sta->addr, arg->peer_max_mpdu, arg->peer_flags); in ath10k_peer_assoc_h_vht()
2361 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_qos() argument
2368 if (sta->wme) in ath10k_peer_assoc_h_qos()
2371 if (sta->wme && sta->uapsd_queues) { in ath10k_peer_assoc_h_qos()
2381 if (sta->wme) in ath10k_peer_assoc_h_qos()
2389 sta->addr, !!(arg->peer_flags & WMI_PEER_QOS)); in ath10k_peer_assoc_h_qos()
2392 static bool ath10k_mac_sta_has_ofdm_only(struct ieee80211_sta *sta) in ath10k_mac_sta_has_ofdm_only() argument
2394 return sta->supp_rates[IEEE80211_BAND_2GHZ] >> in ath10k_mac_sta_has_ofdm_only()
2400 struct ieee80211_sta *sta, in ath10k_peer_assoc_h_phymode() argument
2419 if (sta->vht_cap.vht_supported && in ath10k_peer_assoc_h_phymode()
2421 if (sta->bandwidth == IEEE80211_STA_RX_BW_40) in ath10k_peer_assoc_h_phymode()
2425 } else if (sta->ht_cap.ht_supported && in ath10k_peer_assoc_h_phymode()
2427 if (sta->bandwidth == IEEE80211_STA_RX_BW_40) in ath10k_peer_assoc_h_phymode()
2431 } else if (ath10k_mac_sta_has_ofdm_only(sta)) { in ath10k_peer_assoc_h_phymode()
2442 if (sta->vht_cap.vht_supported && in ath10k_peer_assoc_h_phymode()
2444 if (sta->bandwidth == IEEE80211_STA_RX_BW_80) in ath10k_peer_assoc_h_phymode()
2446 else if (sta->bandwidth == IEEE80211_STA_RX_BW_40) in ath10k_peer_assoc_h_phymode()
2448 else if (sta->bandwidth == IEEE80211_STA_RX_BW_20) in ath10k_peer_assoc_h_phymode()
2450 } else if (sta->ht_cap.ht_supported && in ath10k_peer_assoc_h_phymode()
2452 if (sta->bandwidth >= IEEE80211_STA_RX_BW_40) in ath10k_peer_assoc_h_phymode()
2466 sta->addr, ath10k_wmi_phymode_str(phymode)); in ath10k_peer_assoc_h_phymode()
2474 struct ieee80211_sta *sta, in ath10k_peer_assoc_prepare() argument
2481 ath10k_peer_assoc_h_basic(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2483 ath10k_peer_assoc_h_rates(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2484 ath10k_peer_assoc_h_ht(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2485 ath10k_peer_assoc_h_vht(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2486 ath10k_peer_assoc_h_qos(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2487 ath10k_peer_assoc_h_phymode(ar, vif, sta, arg); in ath10k_peer_assoc_prepare()
2713 struct ieee80211_sta *sta, in ath10k_station_assoc() argument
2722 ret = ath10k_peer_assoc_prepare(ar, vif, sta, &peer_arg); in ath10k_station_assoc()
2725 sta->addr, arvif->vdev_id, ret); in ath10k_station_assoc()
2732 sta->addr, arvif->vdev_id, ret); in ath10k_station_assoc()
2740 ret = ath10k_setup_peer_smps(ar, arvif, sta->addr, in ath10k_station_assoc()
2741 &sta->ht_cap); in ath10k_station_assoc()
2748 ret = ath10k_peer_assoc_qos_ap(ar, arvif, sta); in ath10k_station_assoc()
2751 sta->addr, arvif->vdev_id, ret); in ath10k_station_assoc()
2755 if (!sta->wme) { in ath10k_station_assoc()
2767 ret = ath10k_install_peer_wep_keys(arvif, sta->addr); in ath10k_station_assoc()
2781 struct ieee80211_sta *sta) in ath10k_station_disassoc() argument
2788 if (!sta->wme) { in ath10k_station_disassoc()
2798 ret = ath10k_clear_peer_keys(arvif, sta->addr); in ath10k_station_disassoc()
3143 struct ieee80211_sta *sta, struct sk_buff *skb) in ath10k_tx_h_get_txmode() argument
3183 if (ieee80211_is_data_present(fc) && sta && sta->tdls) in ath10k_tx_h_get_txmode()
3636 struct ieee80211_sta *sta = control->sta; in ath10k_tx() local
3649 ATH10K_SKB_CB(skb)->txmode = ath10k_tx_h_get_txmode(ar, vif, sta, skb); in ath10k_tx()
5012 struct ieee80211_vif *vif, struct ieee80211_sta *sta, in ath10k_set_key() argument
5038 if (sta) in ath10k_set_key()
5039 peer_addr = sta->addr; in ath10k_set_key()
5111 if (is_wep && !sta && vif->type == NL80211_IFTYPE_STATION) { in ath10k_set_key()
5189 struct ieee80211_sta *sta; in ath10k_sta_rc_update_wk() local
5198 sta = container_of((void *)arsta, struct ieee80211_sta, drv_priv); in ath10k_sta_rc_update_wk()
5228 sta->addr, bw); in ath10k_sta_rc_update_wk()
5230 err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr, in ath10k_sta_rc_update_wk()
5234 sta->addr, bw, err); in ath10k_sta_rc_update_wk()
5239 sta->addr, nss); in ath10k_sta_rc_update_wk()
5241 err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr, in ath10k_sta_rc_update_wk()
5245 sta->addr, nss, err); in ath10k_sta_rc_update_wk()
5250 sta->addr, smps); in ath10k_sta_rc_update_wk()
5252 err = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr, in ath10k_sta_rc_update_wk()
5256 sta->addr, smps, err); in ath10k_sta_rc_update_wk()
5262 sta->addr); in ath10k_sta_rc_update_wk()
5264 err = ath10k_station_assoc(ar, arvif->vif, sta, true); in ath10k_sta_rc_update_wk()
5267 sta->addr); in ath10k_sta_rc_update_wk()
5274 struct ieee80211_sta *sta) in ath10k_mac_inc_num_stations() argument
5280 if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) in ath10k_mac_inc_num_stations()
5292 struct ieee80211_sta *sta) in ath10k_mac_dec_num_stations() argument
5298 if (arvif->vdev_type == WMI_VDEV_TYPE_STA && !sta->tdls) in ath10k_mac_dec_num_stations()
5310 struct ieee80211_sta *sta) in ath10k_mac_tdls_vif_stations_count_iter() argument
5313 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_mac_tdls_vif_stations_count_iter()
5316 if (sta->tdls && sta_vif == iter_data->curr_vif) in ath10k_mac_tdls_vif_stations_count_iter()
5359 struct ieee80211_sta *sta, in ath10k_sta_state() argument
5365 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_sta_state()
5393 arvif->vdev_id, sta->addr, in ath10k_sta_state()
5397 ret = ath10k_mac_inc_num_stations(arvif, sta); in ath10k_sta_state()
5404 if (sta->tdls) in ath10k_sta_state()
5407 ret = ath10k_peer_create(ar, arvif->vdev_id, sta->addr, in ath10k_sta_state()
5411 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5412 ath10k_mac_dec_num_stations(arvif, sta); in ath10k_sta_state()
5416 if (!sta->tdls) in ath10k_sta_state()
5426 ath10k_peer_delete(ar, arvif->vdev_id, sta->addr); in ath10k_sta_state()
5427 ath10k_mac_dec_num_stations(arvif, sta); in ath10k_sta_state()
5442 sta->addr); in ath10k_sta_state()
5443 ath10k_mac_dec_num_stations(arvif, sta); in ath10k_sta_state()
5448 ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id, sta, in ath10k_sta_state()
5453 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5454 ath10k_peer_delete(ar, arvif->vdev_id, sta->addr); in ath10k_sta_state()
5455 ath10k_mac_dec_num_stations(arvif, sta); in ath10k_sta_state()
5469 arvif->vdev_id, sta->addr); in ath10k_sta_state()
5471 ret = ath10k_peer_delete(ar, arvif->vdev_id, sta->addr); in ath10k_sta_state()
5474 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5476 ath10k_mac_dec_num_stations(arvif, sta); in ath10k_sta_state()
5478 if (!sta->tdls) in ath10k_sta_state()
5500 sta->addr); in ath10k_sta_state()
5502 ret = ath10k_station_assoc(ar, vif, sta, false); in ath10k_sta_state()
5505 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5508 sta->tdls) { in ath10k_sta_state()
5513 sta->addr); in ath10k_sta_state()
5515 ret = ath10k_station_assoc(ar, vif, sta, false); in ath10k_sta_state()
5518 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5522 ret = ath10k_mac_tdls_peer_update(ar, arvif->vdev_id, sta, in ath10k_sta_state()
5526 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5536 sta->addr); in ath10k_sta_state()
5538 ret = ath10k_station_disassoc(ar, vif, sta); in ath10k_sta_state()
5541 sta->addr, arvif->vdev_id, ret); in ath10k_sta_state()
5590 arvif->u.sta.uapsd |= value; in ath10k_conf_tx_uapsd()
5592 arvif->u.sta.uapsd &= ~value; in ath10k_conf_tx_uapsd()
5596 arvif->u.sta.uapsd); in ath10k_conf_tx_uapsd()
5602 if (arvif->u.sta.uapsd) in ath10k_conf_tx_uapsd()
6178 struct ieee80211_sta *sta) in ath10k_mac_set_bitrate_mask_iter() argument
6181 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_mac_set_bitrate_mask_iter()
6271 struct ieee80211_sta *sta, in ath10k_sta_rc_update() argument
6275 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_sta_rc_update()
6282 sta->addr, changed, sta->bandwidth, sta->rx_nss, in ath10k_sta_rc_update()
6283 sta->smps_mode); in ath10k_sta_rc_update()
6288 switch (sta->bandwidth) { in ath10k_sta_rc_update()
6300 sta->bandwidth, sta->addr); in ath10k_sta_rc_update()
6309 arsta->nss = sta->rx_nss; in ath10k_sta_rc_update()
6314 switch (sta->smps_mode) { in ath10k_sta_rc_update()
6327 sta->smps_mode, sta->addr); in ath10k_sta_rc_update()
6355 struct ieee80211_sta *sta, u16 tid, u16 *ssn, in ath10k_ampdu_action() argument
6362 arvif->vdev_id, sta->addr, tid, action); in ath10k_ampdu_action()