qcacmn: Populate rate index in user specific rx ppdu indication

Populate rate index in user specific rx ppdu indication.
Also correct the computation of total retries in rx ppdu indication.

Change-Id: I07c55260def9d2f1490729b6390bca3d98085c63
CRs-Fixed: 3156428
This commit is contained in:
Harsh Kumar Bijlani
2022-03-22 11:36:17 +05:30
committed by Madan Koyyalamudi
parent 3c555431b1
commit e70d9e3eed
2 changed files with 6 additions and 0 deletions

View File

@@ -2286,6 +2286,7 @@ struct cdp_tx_completion_msdu {
* @mpdu_fcs_ok_bitmap - MPDU with fcs ok bitmap
* @retries - number of retries
* @rx_ratekpbs - rx rate in kbps
* @rix - rate index
* @mpdu_retries - retries of mpdu in rx
*/
struct cdp_rx_stats_ppdu_user {
@@ -2324,6 +2325,7 @@ struct cdp_rx_stats_ppdu_user {
uint32_t mpdu_err_byte_count;
uint32_t retries;
uint32_t rx_ratekbps;
uint32_t rix;
uint32_t mpdu_retries;
};

View File

@@ -449,6 +449,7 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
rx_stats_peruser->retries =
CDP_FC_IS_RETRY_SET(rx_stats_peruser->frame_control) ?
rx_stats_peruser->mpdu_cnt_fcs_ok : 0;
cdp_rx_ppdu->retries += rx_stats_peruser->retries;
if (rx_stats_peruser->mpdu_cnt_fcs_ok > 1)
rx_stats_peruser->is_ampdu = 1;
@@ -615,6 +616,7 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev,
cdp_rx_ppdu->num_mpdu = 0;
cdp_rx_ppdu->num_msdu = 0;
cdp_rx_ppdu->retries = 0;
dp_rx_populate_cdp_indication_ppdu_user(pdev, ppdu_info, cdp_rx_ppdu);
@@ -687,6 +689,7 @@ static inline void dp_rx_rate_stats_update(struct dp_peer *peer,
if (!ratekbps) {
ppdu->rix = 0;
ppdu_user->rix = 0;
ppdu->rx_ratekbps = 0;
ppdu->rx_ratecode = 0;
ppdu_user->rx_ratekbps = 0;
@@ -698,6 +701,7 @@ static inline void dp_rx_rate_stats_update(struct dp_peer *peer,
mon_peer->stats.rx.preamble_info = ppdu->u.preamble;
ppdu->rix = rix;
ppdu_user->rix = rix;
DP_STATS_UPD(mon_peer, rx.last_rx_rate, ratekbps);
mon_peer->stats.rx.avg_rx_rate =
dp_ath_rate_lpf(mon_peer->stats.rx.avg_rx_rate, ratekbps);