ath11k: update tx duration in station info
authorVenkateswara Naralasetty <vnaralas@codeaurora.org>
Thu, 28 Nov 2019 08:21:51 +0000 (08:21 +0000)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 29 Nov 2019 07:50:16 +0000 (09:50 +0200)
Update tx duration in station info form PPDU stats
so that users can dump tx duration of the station.

Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/dp_rx.c
drivers/net/wireless/ath/ath11k/mac.c

index 065cb9dc880b814b1581f853052f87a371e7eae7..06482a5c102d868b43fa0b9dc8d92fefa04033c5 100644 (file)
@@ -335,6 +335,7 @@ struct ath11k_sta {
        struct rate_info txrate;
        struct rate_info last_txrate;
        u64 rx_duration;
+       u64 tx_duration;
        u8 rssi_comb;
        struct ath11k_htt_tx_stats *tx_stats;
        struct ath11k_rx_peer_stats *rx_stats;
index 85e999c7a238803580fb7d2926038b5826de7e45..8f69de594ada24ea19aa07e52f59820f19c535d2 100644 (file)
@@ -1147,7 +1147,7 @@ ath11k_update_per_peer_tx_stats(struct ath11k *ar,
        arsta->txrate.nss = nss;
        arsta->txrate.bw = ath11k_mac_bw_to_mac80211_bw(bw);
        arsta->tx_info.status.rates[0].flags |= ath11k_bw_to_mac80211_bwflags(bw);
-
+       arsta->tx_duration += tx_duration;
        memcpy(&arsta->last_txrate, &arsta->txrate, sizeof(struct rate_info));
 
        if (succ_pkts) {
index b048057b398f0c0d7e8a1ba8cf18dbd68ac2db13..624534d4c33ad8af590c25ce1be94896fbbef783 100644 (file)
@@ -5316,6 +5316,9 @@ static void ath11k_mac_op_sta_statistics(struct ieee80211_hw *hw,
        sinfo->rx_duration = arsta->rx_duration;
        sinfo->filled |= BIT_ULL(NL80211_STA_INFO_RX_DURATION);
 
+       sinfo->tx_duration = arsta->tx_duration;
+       sinfo->filled |= BIT_ULL(NL80211_STA_INFO_TX_DURATION);
+
        if (!arsta->txrate.legacy && !arsta->txrate.nss)
                return;