From 04dd6c626ada0ea707ef9b088a292e757397e470 Mon Sep 17 00:00:00 2001 From: Ripan Deuri Date: Mon, 5 Sep 2022 17:43:06 +0530 Subject: [PATCH] qcacmn: Add support to fetch PER Add support to fetch PER from peer stats. Change-Id: Ia7cf8913238ab5b56d5f049cf9d511318ca5d165 CRs-Fixed: 3284395 --- dp/inc/cdp_txrx_stats_struct.h | 2 ++ dp/wifi3.0/dp_main.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 041eea4df6..1508a01ead 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -1400,6 +1400,7 @@ struct protocol_trace_count { * @punc_bw[MAX_PUNCTURED_MODE]: MSDU count for punctured BW * @release_src_not_tqm: Counter to keep track of release source is not TQM * in TX completion status processing + * @per: Packet error ratio */ struct cdp_tx_stats { struct cdp_pkt_info comp_pkt; @@ -1518,6 +1519,7 @@ struct cdp_tx_stats { uint32_t punc_bw[MAX_PUNCTURED_MODE]; #endif uint32_t release_src_not_tqm; + uint32_t per; }; /* struct cdp_rx_stats - rx Level Stats diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index afc2b4864d..ffcb0cf2df 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -9792,6 +9792,23 @@ void dp_get_peer_extd_stats(struct dp_peer *peer, } #endif +/** + * dp_get_peer_tx_per()- Get peer packet error ratio + * @peer_stats: buffer for peer stats + * + * Return: none + */ +static inline +void dp_get_peer_tx_per(struct cdp_peer_stats *peer_stats) +{ + if (peer_stats->tx.tx_success.num + peer_stats->tx.retries > 0) + peer_stats->tx.per = (peer_stats->tx.retries * 100) / + (peer_stats->tx.tx_success.num + + peer_stats->tx.retries); + else + peer_stats->tx.per = 0; +} + /** * dp_get_peer_stats()- Get peer stats * @peer: Datapath peer @@ -9809,6 +9826,8 @@ void dp_get_peer_stats(struct dp_peer *peer, struct cdp_peer_stats *peer_stats) dp_get_peer_per_pkt_stats(peer, peer_stats); dp_get_peer_extd_stats(peer, peer_stats); + + dp_get_peer_tx_per(peer_stats); } /*