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:

committed by
Madan Koyyalamudi

parent
3c555431b1
commit
e70d9e3eed
@@ -2286,6 +2286,7 @@ struct cdp_tx_completion_msdu {
|
|||||||
* @mpdu_fcs_ok_bitmap - MPDU with fcs ok bitmap
|
* @mpdu_fcs_ok_bitmap - MPDU with fcs ok bitmap
|
||||||
* @retries - number of retries
|
* @retries - number of retries
|
||||||
* @rx_ratekpbs - rx rate in kbps
|
* @rx_ratekpbs - rx rate in kbps
|
||||||
|
* @rix - rate index
|
||||||
* @mpdu_retries - retries of mpdu in rx
|
* @mpdu_retries - retries of mpdu in rx
|
||||||
*/
|
*/
|
||||||
struct cdp_rx_stats_ppdu_user {
|
struct cdp_rx_stats_ppdu_user {
|
||||||
@@ -2324,6 +2325,7 @@ struct cdp_rx_stats_ppdu_user {
|
|||||||
uint32_t mpdu_err_byte_count;
|
uint32_t mpdu_err_byte_count;
|
||||||
uint32_t retries;
|
uint32_t retries;
|
||||||
uint32_t rx_ratekbps;
|
uint32_t rx_ratekbps;
|
||||||
|
uint32_t rix;
|
||||||
uint32_t mpdu_retries;
|
uint32_t mpdu_retries;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -449,6 +449,7 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
|
|||||||
rx_stats_peruser->retries =
|
rx_stats_peruser->retries =
|
||||||
CDP_FC_IS_RETRY_SET(rx_stats_peruser->frame_control) ?
|
CDP_FC_IS_RETRY_SET(rx_stats_peruser->frame_control) ?
|
||||||
rx_stats_peruser->mpdu_cnt_fcs_ok : 0;
|
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)
|
if (rx_stats_peruser->mpdu_cnt_fcs_ok > 1)
|
||||||
rx_stats_peruser->is_ampdu = 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_mpdu = 0;
|
||||||
cdp_rx_ppdu->num_msdu = 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);
|
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) {
|
if (!ratekbps) {
|
||||||
ppdu->rix = 0;
|
ppdu->rix = 0;
|
||||||
|
ppdu_user->rix = 0;
|
||||||
ppdu->rx_ratekbps = 0;
|
ppdu->rx_ratekbps = 0;
|
||||||
ppdu->rx_ratecode = 0;
|
ppdu->rx_ratecode = 0;
|
||||||
ppdu_user->rx_ratekbps = 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;
|
mon_peer->stats.rx.preamble_info = ppdu->u.preamble;
|
||||||
|
|
||||||
ppdu->rix = rix;
|
ppdu->rix = rix;
|
||||||
|
ppdu_user->rix = rix;
|
||||||
DP_STATS_UPD(mon_peer, rx.last_rx_rate, ratekbps);
|
DP_STATS_UPD(mon_peer, rx.last_rx_rate, ratekbps);
|
||||||
mon_peer->stats.rx.avg_rx_rate =
|
mon_peer->stats.rx.avg_rx_rate =
|
||||||
dp_ath_rate_lpf(mon_peer->stats.rx.avg_rx_rate, ratekbps);
|
dp_ath_rate_lpf(mon_peer->stats.rx.avg_rx_rate, ratekbps);
|
||||||
|
Reference in New Issue
Block a user