Lines Matching refs:arsta

3357 				    struct ath10k_sta *arsta,  in ath10k_accumulate_per_peer_tx_stats()  argument
3361 struct rate_info *txrate = &arsta->txrate; in ath10k_accumulate_per_peer_tx_stats()
3366 if (!arsta->tx_stats) in ath10k_accumulate_per_peer_tx_stats()
3369 tx_stats = arsta->tx_stats; in ath10k_accumulate_per_peer_tx_stats()
3482 struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv; in ath10k_update_per_peer_tx_stats() local
3516 memset(&arsta->txrate, 0, sizeof(arsta->txrate)); in ath10k_update_per_peer_tx_stats()
3517 memset(&arsta->tx_info.status, 0, sizeof(arsta->tx_info.status)); in ath10k_update_per_peer_tx_stats()
3527 arsta->txrate.legacy = rate; in ath10k_update_per_peer_tx_stats()
3529 arsta->txrate.flags = RATE_INFO_FLAGS_MCS; in ath10k_update_per_peer_tx_stats()
3530 arsta->txrate.mcs = txrate.mcs + 8 * (txrate.nss - 1); in ath10k_update_per_peer_tx_stats()
3532 arsta->txrate.flags = RATE_INFO_FLAGS_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3533 arsta->txrate.mcs = txrate.mcs; in ath10k_update_per_peer_tx_stats()
3538 if (arsta->arvif && arsta->arvif->vif) in ath10k_update_per_peer_tx_stats()
3539 conf = rcu_dereference(arsta->arvif->vif->chanctx_conf); in ath10k_update_per_peer_tx_stats()
3541 arsta->tx_info.status.rates[0].idx = rate_idx - 4; in ath10k_update_per_peer_tx_stats()
3544 arsta->tx_info.status.rates[0].idx = rate_idx; in ath10k_update_per_peer_tx_stats()
3546 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3551 arsta->tx_info.status.rates[0].idx = in ath10k_update_per_peer_tx_stats()
3554 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3556 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_MCS; in ath10k_update_per_peer_tx_stats()
3559 ieee80211_rate_set_vht(&arsta->tx_info.status.rates[0], in ath10k_update_per_peer_tx_stats()
3562 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3564 arsta->tx_info.status.rates[0].flags |= IEEE80211_TX_RC_VHT_MCS; in ath10k_update_per_peer_tx_stats()
3568 arsta->txrate.nss = txrate.nss; in ath10k_update_per_peer_tx_stats()
3569 arsta->txrate.bw = ath10k_bw_to_mac80211_bw(txrate.bw); in ath10k_update_per_peer_tx_stats()
3570 arsta->last_tx_bitrate = cfg80211_calculate_bitrate(&arsta->txrate); in ath10k_update_per_peer_tx_stats()
3572 arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; in ath10k_update_per_peer_tx_stats()
3574 switch (arsta->txrate.bw) { in ath10k_update_per_peer_tx_stats()
3576 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3580 arsta->tx_info.status.rates[0].flags |= in ath10k_update_per_peer_tx_stats()
3586 arsta->tx_info.flags = IEEE80211_TX_STAT_ACK; in ath10k_update_per_peer_tx_stats()
3587 arsta->tx_info.status.rates[0].count = 1; in ath10k_update_per_peer_tx_stats()
3588 ieee80211_tx_rate_update(ar->hw, sta, &arsta->tx_info); in ath10k_update_per_peer_tx_stats()
3592 arsta->tx_failed += peer_stats->failed_pkts; in ath10k_update_per_peer_tx_stats()
3594 arsta->tx_failed); in ath10k_update_per_peer_tx_stats()
3597 arsta->tx_retries += peer_stats->retry_pkts; in ath10k_update_per_peer_tx_stats()
3598 ath10k_dbg(ar, ATH10K_DBG_HTT, "htt tx retries %d", arsta->tx_retries); in ath10k_update_per_peer_tx_stats()
3601 ath10k_accumulate_per_peer_tx_stats(ar, arsta, peer_stats, in ath10k_update_per_peer_tx_stats()