qcacld-3.0: Change tx retries unit from msdu to mpdu

Customer reported their HLOS LTE-WLAN transition algo sometimes go wrong
for wrong low layer stats, Txretry delta is bigger than Txtotal delta.
Txretry unit is msdu while Txtotal unit is mpdu.

Add vdev/peer stats for mpdu number of successfully transmitted after
more than one retransmission attempt, to align mpdu tx_packets, tx_failed.

CRs-Fixed: 3102117
Change-Id: Id4b9d8fd81af4bf0c141dad481bfd2b3f6c1db2a
This commit is contained in:
Jianmin Zhu 2021-12-29 22:41:45 +08:00 • committed by Madan Koyyalamudi
commit dd4203ebef
3 changed files with 5 additions and 1 deletions

View file

@ -80,11 +80,14 @@ enum cds_driver_state {
* struce cds_vdev_dp_stats - vdev stats populated from DP
* @tx_retries: packet number of successfully transmitted after more
* than one retransmission attempt
* @tx_retries_mpdu: mpdu number of successfully transmitted after more
* than one retransmission attempt
* @tx_mpdu_success_with_retries: Number of MPDU transmission retries done
* in case of successful transmission.
*/
struct cds_vdev_dp_stats {
uint32_t tx_retries;
uint32_t tx_retries_mpdu;
uint32_t tx_mpdu_success_with_retries;
};

View file

@ -2818,6 +2818,7 @@ cds_dp_get_vdev_stats(uint8_t vdev_id, struct cds_vdev_dp_stats *stats)
if (cds_get_cdp_vdev_stats(vdev_id, vdev_stats)) {
stats->tx_retries = vdev_stats->tx.retries;
stats->tx_retries_mpdu = vdev_stats->tx.retries_mpdu;
stats->tx_mpdu_success_with_retries =
vdev_stats->tx.mpdu_success_with_retries;
ret = true;

View file

@ -4194,7 +4194,7 @@ static void wlan_hdd_fill_summary_stats(tCsrSummaryStatsInfo *stats,
if (cds_dp_get_vdev_stats(vdev_id, &dp_stats)) {
orig_cnt = info->tx_retries;
orig_fail_cnt = info->tx_failed;
info->tx_retries = dp_stats.tx_retries;
info->tx_retries = dp_stats.tx_retries_mpdu;
info->tx_failed += dp_stats.tx_mpdu_success_with_retries;
hdd_debug("vdev %d tx retries adjust from %d to %d",
vdev_id, orig_cnt, info->tx_retries);