diff --git a/dp/inc/cdp_txrx_stats_struct.h b/dp/inc/cdp_txrx_stats_struct.h index 000c9b7088..8ee6cfab66 100644 --- a/dp/inc/cdp_txrx_stats_struct.h +++ b/dp/inc/cdp_txrx_stats_struct.h @@ -1389,6 +1389,8 @@ enum cdp_peer_stats_type { cdp_peer_rx_flags, cdp_peer_rx_avg_snr, cdp_peer_rx_snr, + cdp_peer_rx_avg_rate, + cdp_peer_tx_avg_rate, /* Add enum for peer extd stats before this */ cdp_peer_extd_stats_max, cdp_peer_stats_max = cdp_peer_extd_stats_max, @@ -1404,6 +1406,7 @@ typedef union cdp_peer_stats_buf { struct cdp_pkt_info tx_ucast; struct cdp_pkt_info tx_mcast; uint32_t tx_rate; + uint32_t tx_rate_avg; uint32_t last_tx_rate; uint32_t tx_inactive_time; uint32_t tx_flags; @@ -1413,6 +1416,7 @@ typedef union cdp_peer_stats_buf { /* Rx types */ struct cdp_pkt_info rx_ucast; uint32_t rx_rate; + uint32_t rx_rate_avg; uint32_t last_rx_rate; uint32_t rx_ratecode; uint32_t rx_flags; diff --git a/dp/wifi3.0/monitor/dp_mon.c b/dp/wifi3.0/monitor/dp_mon.c index 05c4bf0637..bba68d534d 100644 --- a/dp/wifi3.0/monitor/dp_mon.c +++ b/dp/wifi3.0/monitor/dp_mon.c @@ -6475,6 +6475,12 @@ dp_mon_peer_get_stats_param(struct dp_peer *peer, enum cdp_peer_stats_type type, case cdp_peer_rx_snr: buf->rx_snr = mon_peer->stats.rx.snr; break; + case cdp_peer_rx_avg_rate: + buf->rx_rate_avg = mon_peer->stats.rx.rnd_avg_rx_rate; + break; + case cdp_peer_tx_avg_rate: + buf->tx_rate_avg = mon_peer->stats.tx.rnd_avg_tx_rate; + break; default: dp_err("Invalid stats type: %u requested", type); ret = QDF_STATUS_E_FAILURE;