ath10k: fill tx_duration for each peer in Tx stats per STA
authorSurabhi Vishnoi <svishnoi@codeaurora.org>
Fri, 1 Feb 2019 05:36:30 +0000 (11:06 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 7 Feb 2019 14:58:16 +0000 (16:58 +0200)
Firmware sends the tx_duration for each in HTT_T2H_MSG_TYPE_PEER_STATS
msg. Fill the tx_duration sent by firmware in the tx stats information
per STA.

Tested HW: WCN3990
Tested FW: WLAN.HL.3.1-00784-QCAHLSWMTPLZ-1,
           WLAN.HL.2.0-01617-QCAHLSWMTPLZ-1

Signed-off-by: Surabhi Vishnoi <svishnoi@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/htt_rx.c

index f42bac204ef81a4089be1f2691e1dece731e14eb..89d84dc73a444abf71ec24fe8eb85fce1831c33e 100644 (file)
@@ -2975,6 +2975,8 @@ ath10k_accumulate_per_peer_tx_stats(struct ath10k *ar,
                STATS_OP_FMT(RETRY).rate_table[0][idx] += pstats->retry_bytes;
                STATS_OP_FMT(RETRY).rate_table[1][idx] += pstats->retry_pkts;
        }
+
+       tx_stats->tx_duration += pstats->duration;
 }
 
 static void
@@ -3141,6 +3143,7 @@ static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,
                p_tx_stats->succ_pkts = __le16_to_cpu(tx_stats->succ_pkts);
                p_tx_stats->retry_pkts = __le16_to_cpu(tx_stats->retry_pkts);
                p_tx_stats->failed_pkts = __le16_to_cpu(tx_stats->failed_pkts);
+               p_tx_stats->duration = __le16_to_cpu(tx_stats->tx_duration);
 
                ath10k_update_per_peer_tx_stats(ar, sta, p_tx_stats);
        }