Lines Matching refs:arsta

3330 				    struct ath10k_sta *arsta,  in ath10k_accumulate_per_peer_tx_stats()  argument
3334 struct rate_info *txrate = &arsta->txrate; in ath10k_accumulate_per_peer_tx_stats()
3339 if (!arsta->tx_stats) in ath10k_accumulate_per_peer_tx_stats()
3342 tx_stats = arsta->tx_stats; in ath10k_accumulate_per_peer_tx_stats()
3455 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_update_per_peer_tx_stats() local
3489 memset(&arsta->txrate, 0, sizeof(arsta->txrate)); in ath10k_update_per_peer_tx_stats()
3490 memset(&arsta->tx_info.status, 0, sizeof(arsta->tx_info.status)); in ath10k_update_per_peer_tx_stats()
3500 arsta->txrate.legacy = rate; in ath10k_update_per_peer_tx_stats()
3502 arsta->txrate.flags = RATE_INFO_FLAGS_MCS; in ath10k_update_per_peer_tx_stats()
3503 arsta->txrate.mcs = txrate.mcs + 8 * (txrate.nss - 1); in ath10k_update_per_peer_tx_stats()
3505 arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3506 arsta->txrate.mcs = txrate.mcs; in ath10k_update_per_peer_tx_stats()
3511 if (arsta->arvif && arsta->arvif->vif) in ath10k_update_per_peer_tx_stats()
3512 conf = rcu_dereference(arsta->arvif->vif->chanctx_conf); in ath10k_update_per_peer_tx_stats()
3514 arsta->tx_info.status.rates[0].idx = rate_idx - 4; in ath10k_update_per_peer_tx_stats()
3517 arsta->tx_info.status.rates[0].idx = rate_idx; in ath10k_update_per_peer_tx_stats()
3519 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3524 arsta->tx_info.status.rates[0].idx = in ath10k_update_per_peer_tx_stats()
3527 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3529 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_MCS; in ath10k_update_per_peer_tx_stats()
3532 ieee80211_rate_set_vht(&arsta->tx_info.status.rates[0], in ath10k_update_per_peer_tx_stats()
3535 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3537 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3541 arsta->txrate.nss = txrate.nss; in ath10k_update_per_peer_tx_stats()
3542 arsta->txrate.bw = ath10k_bw_to_mac80211_bw(txrate.bw); in ath10k_update_per_peer_tx_stats()
3543 arsta->last_tx_bitrate = cfg80211_calculate_bitrate(&arsta->txrate); in ath10k_update_per_peer_tx_stats()
3545 arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; in ath10k_update_per_peer_tx_stats()
3547 switch (arsta->txrate.bw) { in ath10k_update_per_peer_tx_stats()
3549 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3553 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3559 arsta->tx_info.flags = IEEE80211_TX_STAT_ACK; in ath10k_update_per_peer_tx_stats()
3560 arsta->tx_info.status.rates[0].count = 1; in ath10k_update_per_peer_tx_stats()
3561 ieee80211_tx_rate_update(ar->hw, sta, &arsta->tx_info); in ath10k_update_per_peer_tx_stats()
3565 ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats, in ath10k_update_per_peer_tx_stats()