Lines Matching refs:txrate
3816 struct rate_info *txrate = &arsta->txrate; in ath10k_accumulate_per_peer_tx_stats() local
3825 flags = txrate->flags; in ath10k_accumulate_per_peer_tx_stats()
3828 bw = txrate->bw; in ath10k_accumulate_per_peer_tx_stats()
3829 nss = txrate->nss; in ath10k_accumulate_per_peer_tx_stats()
3836 if (txrate->flags & RATE_INFO_FLAGS_VHT_MCS) { in ath10k_accumulate_per_peer_tx_stats()
3843 } else if (txrate->flags & RATE_INFO_FLAGS_MCS) { in ath10k_accumulate_per_peer_tx_stats()
3864 if (txrate->flags & RATE_INFO_FLAGS_MCS) { in ath10k_accumulate_per_peer_tx_stats()
3920 if (txrate->flags >= RATE_INFO_FLAGS_MCS) { in ath10k_accumulate_per_peer_tx_stats()
3942 struct rate_info txrate; in ath10k_update_per_peer_tx_stats() local
3946 txrate.flags = ATH10K_HW_PREAMBLE(peer_stats->ratecode); in ath10k_update_per_peer_tx_stats()
3947 txrate.bw = ATH10K_HW_BW(peer_stats->flags); in ath10k_update_per_peer_tx_stats()
3948 txrate.nss = ATH10K_HW_NSS(peer_stats->ratecode); in ath10k_update_per_peer_tx_stats()
3949 txrate.mcs = ATH10K_HW_MCS_RATE(peer_stats->ratecode); in ath10k_update_per_peer_tx_stats()
3959 if (txrate.flags == WMI_RATE_PREAMBLE_VHT && txrate.mcs > 9) { in ath10k_update_per_peer_tx_stats()
3960 ath10k_warn(ar, "Invalid VHT mcs %d peer stats", txrate.mcs); in ath10k_update_per_peer_tx_stats()
3964 if (txrate.flags == WMI_RATE_PREAMBLE_HT && in ath10k_update_per_peer_tx_stats()
3965 (txrate.mcs > 7 || txrate.nss < 1)) { in ath10k_update_per_peer_tx_stats()
3967 txrate.mcs, txrate.nss); in ath10k_update_per_peer_tx_stats()
3971 memset(&arsta->txrate, 0, sizeof(arsta->txrate)); in ath10k_update_per_peer_tx_stats()
3973 if (txrate.flags == WMI_RATE_PREAMBLE_CCK || in ath10k_update_per_peer_tx_stats()
3974 txrate.flags == WMI_RATE_PREAMBLE_OFDM) { in ath10k_update_per_peer_tx_stats()
3977 if (rate == 6 && txrate.flags == WMI_RATE_PREAMBLE_CCK) in ath10k_update_per_peer_tx_stats()
3982 arsta->txrate.legacy = rate; in ath10k_update_per_peer_tx_stats()
3983 } else if (txrate.flags == WMI_RATE_PREAMBLE_HT) { in ath10k_update_per_peer_tx_stats()
3984 arsta->txrate.flags = RATE_INFO_FLAGS_MCS; in ath10k_update_per_peer_tx_stats()
3985 arsta->txrate.mcs = txrate.mcs + 8 * (txrate.nss - 1); in ath10k_update_per_peer_tx_stats()
3987 arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3988 arsta->txrate.mcs = txrate.mcs; in ath10k_update_per_peer_tx_stats()
3991 switch (txrate.flags) { in ath10k_update_per_peer_tx_stats()
4007 txrate.mcs + ((txrate.nss - 1) * 8); in ath10k_update_per_peer_tx_stats()
4015 txrate.mcs, txrate.nss); in ath10k_update_per_peer_tx_stats()
4023 arsta->txrate.nss = txrate.nss; in ath10k_update_per_peer_tx_stats()
4024 arsta->txrate.bw = ath10k_bw_to_mac80211_bw(txrate.bw); in ath10k_update_per_peer_tx_stats()
4025 arsta->last_tx_bitrate = cfg80211_calculate_bitrate(&arsta->txrate); in ath10k_update_per_peer_tx_stats()
4027 arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; in ath10k_update_per_peer_tx_stats()
4029 switch (arsta->txrate.bw) { in ath10k_update_per_peer_tx_stats()