Lines Matching refs:arsta

3536 				    struct ath10k_sta *arsta,  in ath10k_accumulate_per_peer_tx_stats()  argument
3540 struct rate_info *txrate = &arsta->txrate; in ath10k_accumulate_per_peer_tx_stats()
3545 if (!arsta->tx_stats) in ath10k_accumulate_per_peer_tx_stats()
3548 tx_stats = arsta->tx_stats; in ath10k_accumulate_per_peer_tx_stats()
3661 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_update_per_peer_tx_stats() local
3695 memset(&arsta->txrate, 0, sizeof(arsta->txrate)); in ath10k_update_per_peer_tx_stats()
3696 memset(&arsta->tx_info.status, 0, sizeof(arsta->tx_info.status)); in ath10k_update_per_peer_tx_stats()
3706 arsta->txrate.legacy = rate; in ath10k_update_per_peer_tx_stats()
3708 arsta->txrate.flags = RATE_INFO_FLAGS_MCS; in ath10k_update_per_peer_tx_stats()
3709 arsta->txrate.mcs = txrate.mcs + 8 * (txrate.nss - 1); in ath10k_update_per_peer_tx_stats()
3711 arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3712 arsta->txrate.mcs = txrate.mcs; in ath10k_update_per_peer_tx_stats()
3717 if (arsta->arvif && arsta->arvif->vif) in ath10k_update_per_peer_tx_stats()
3718 conf = rcu_dereference(arsta->arvif->vif->chanctx_conf); in ath10k_update_per_peer_tx_stats()
3720 arsta->tx_info.status.rates[0].idx = rate_idx - 4; in ath10k_update_per_peer_tx_stats()
3723 arsta->tx_info.status.rates[0].idx = rate_idx; in ath10k_update_per_peer_tx_stats()
3725 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3730 arsta->tx_info.status.rates[0].idx = in ath10k_update_per_peer_tx_stats()
3733 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3735 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_MCS; in ath10k_update_per_peer_tx_stats()
3738 ieee80211_rate_set_vht(&arsta->tx_info.status.rates[0], in ath10k_update_per_peer_tx_stats()
3741 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3743 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3747 arsta->txrate.nss = txrate.nss; in ath10k_update_per_peer_tx_stats()
3748 arsta->txrate.bw = ath10k_bw_to_mac80211_bw(txrate.bw); in ath10k_update_per_peer_tx_stats()
3749 arsta->last_tx_bitrate = cfg80211_calculate_bitrate(&arsta->txrate); in ath10k_update_per_peer_tx_stats()
3751 arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; in ath10k_update_per_peer_tx_stats()
3753 switch (arsta->txrate.bw) { in ath10k_update_per_peer_tx_stats()
3755 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3759 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3765 arsta->tx_info.flags = IEEE80211_TX_STAT_ACK; in ath10k_update_per_peer_tx_stats()
3766 arsta->tx_info.status.rates[0].count = 1; in ath10k_update_per_peer_tx_stats()
3767 ieee80211_tx_rate_update(ar->hw, sta, &arsta->tx_info); in ath10k_update_per_peer_tx_stats()
3771 arsta->tx_failed += peer_stats->failed_pkts; in ath10k_update_per_peer_tx_stats()
3773 arsta->tx_failed); in ath10k_update_per_peer_tx_stats()
3776 arsta->tx_retries += peer_stats->retry_pkts; in ath10k_update_per_peer_tx_stats()
3777 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d", arsta->tx_retries); in ath10k_update_per_peer_tx_stats()
3780 ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats, in ath10k_update_per_peer_tx_stats()