From d1a40c701ebd27e6e2bd1c823bc89c845f81b354 Mon Sep 17 00:00:00 2001 From: jinbaoliu Date: Thu, 4 Aug 2022 00:05:05 -0700 Subject: [PATCH] qcacmn: Driver provides rx rates info instead of FW Driver is able to get rates info per MSDU, which can exclude special frames like ARP, DHCP, etc. This change is to refill the rates info parsing by rateflags from FW, including legacy rate, MCS, NSS, BW, preamble, GI, etc. Change-Id: I129d5f0dc48758d1a92ac0c3622c1761cdae8286 CRs-Fixed: 3255467 --- dp/wifi3.0/dp_rx.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index 71d3a44608..d6ec484b6c 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/dp/wifi3.0/dp_rx.c @@ -2167,7 +2167,7 @@ dp_rx_rates_stats_update(struct dp_soc *soc, qdf_nbuf_t nbuf, /* here pkt_type corresponds to preamble */ ratekbps = dp_getrateindex(sgi, mcs, - nss, + nss - 1, pkt_type, bw, punc_mode, @@ -2178,9 +2178,14 @@ dp_rx_rates_stats_update(struct dp_soc *soc, qdf_nbuf_t nbuf, dp_ath_rate_lpf(txrx_peer->stats.extd_stats.rx.avg_rx_rate, ratekbps); DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.avg_rx_rate, avg_rx_rate); + DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.nss_info, nss); + DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.mcs_info, mcs); + DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.bw_info, bw); + DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.gi_info, sgi); + DP_PEER_EXTD_STATS_UPD(txrx_peer, rx.preamble_info, pkt_type); } #else -static void +static inline void dp_rx_rates_stats_update(struct dp_soc *soc, qdf_nbuf_t nbuf, uint8_t *rx_tlv_hdr, struct dp_txrx_peer *txrx_peer, uint32_t sgi, uint32_t mcs,