qcacmn: Increment pkt type for WKK

Define DOT11_BE as per Rx tlv
Increment pkt type for WKK

CRs-Fixed: 3121279
Change-Id: Id4bf93e5dcda08cc7fccfe3f8f06b00e5b29d4e3
This commit is contained in:
aloksing
2022-02-17 10:43:27 +05:30
committed by Madan Koyyalamudi
parent 52352f5bda
commit 482fba652b
4 changed files with 51 additions and 18 deletions

View File

@@ -58,6 +58,8 @@ void
dp_mon_populate_ppdu_info_1_0(struct hal_rx_ppdu_info *hal_ppdu_info,
struct cdp_rx_indication_ppdu *ppdu)
{
ppdu->u.preamble = hal_ppdu_info->rx_status.preamble_type;
ppdu->u.bw = hal_ppdu_info->rx_status.bw;
ppdu->punc_bw = 0;
}

View File

@@ -238,41 +238,50 @@ void dp_rx_mon_stats_update_2_0(struct dp_mon_peer *mon_peer,
struct cdp_rx_stats_ppdu_user *ppdu_user)
{
uint8_t mcs, preamble, ppdu_type;
uint32_t num_msdu;
preamble = ppdu->u.preamble;
ppdu_type = ppdu->u.ppdu_type;
num_msdu = ppdu_user->num_msdu;
if (ppdu_type == HAL_RX_TYPE_SU)
mcs = ppdu->u.mcs;
else
mcs = ppdu_user->mcs;
DP_STATS_INC(mon_peer, rx.mpdu_retry_cnt, ppdu_user->mpdu_retries);
DP_STATS_INCC(mon_peer,
rx.pkt_type[preamble].mcs_count[MAX_MCS - 1], num_msdu,
((mcs >= MAX_MCS_11BE) && (preamble == DOT11_BE)));
DP_STATS_INCC(mon_peer,
rx.pkt_type[preamble].mcs_count[mcs], num_msdu,
((mcs < MAX_MCS_11BE) && (preamble == DOT11_BE)));
DP_STATS_INCC(mon_peer,
rx.su_be_ppdu_cnt.mcs_count[MAX_MCS - 1], 1,
((mcs >= (MAX_MCS - 1)) && (preamble == DOT11_BE) &&
((mcs >= (MAX_MCS_11BE)) && (preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_SU)));
DP_STATS_INCC(mon_peer,
rx.su_be_ppdu_cnt.mcs_count[mcs], 1,
((mcs < (MAX_MCS - 1)) && (preamble == DOT11_BE) &&
((mcs < (MAX_MCS_11BE)) && (preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_SU)));
DP_STATS_INCC(mon_peer,
rx.mu_be_ppdu_cnt[TXRX_TYPE_MU_OFDMA].mcs_count[MAX_MCS - 1],
1, ((mcs >= (MAX_MCS - 1)) &&
1, ((mcs >= (MAX_MCS_11BE)) &&
(preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_MU_OFDMA)));
DP_STATS_INCC(mon_peer,
rx.mu_be_ppdu_cnt[TXRX_TYPE_MU_OFDMA].mcs_count[mcs],
1, ((mcs < (MAX_MCS - 1)) &&
1, ((mcs < (MAX_MCS_11BE)) &&
(preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_MU_OFDMA)));
DP_STATS_INCC(mon_peer,
rx.mu_be_ppdu_cnt[TXRX_TYPE_MU_MIMO].mcs_count[MAX_MCS - 1],
1, ((mcs >= (MAX_MCS - 1)) &&
1, ((mcs >= (MAX_MCS_11BE)) &&
(preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_MU_MIMO)));
DP_STATS_INCC(mon_peer,
rx.mu_be_ppdu_cnt[TXRX_TYPE_MU_MIMO].mcs_count[mcs],
1, ((mcs < (MAX_MCS - 1)) &&
1, ((mcs < (MAX_MCS_11BE)) &&
(preamble == DOT11_BE) &&
(ppdu_type == HAL_RX_TYPE_MU_MIMO)));
}
@@ -281,6 +290,17 @@ void
dp_rx_mon_populate_ppdu_info_2_0(struct hal_rx_ppdu_info *hal_ppdu_info,
struct cdp_rx_indication_ppdu *ppdu)
{
/* Align bw value as per host data structures */
if (hal_ppdu_info->rx_status.bw == HAL_FULL_RX_BW_320)
ppdu->u.bw = CMN_BW_320MHZ;
else
ppdu->u.bw = hal_ppdu_info->rx_status.bw;
/* Align preamble value as per host data structures */
if (hal_ppdu_info->rx_status.preamble_type == HAL_RX_PKT_TYPE_11BE)
ppdu->u.preamble = DOT11_BE;
else
ppdu->u.preamble = hal_ppdu_info->rx_status.preamble_type;
ppdu->punc_bw = hal_ppdu_info->rx_status.punctured_bw;
}
#else

View File

@@ -430,7 +430,7 @@ dp_rx_populate_cdp_indication_ppdu_user(struct dp_pdev *pdev,
rx_stats_peruser->other_msdu_count;
rx_stats_peruser->preamble_type =
rx_user_status->preamble_type;
cdp_rx_ppdu->u.preamble;
rx_stats_peruser->mpdu_cnt_fcs_ok =
rx_user_status->mpdu_cnt_fcs_ok;
rx_stats_peruser->mpdu_cnt_fcs_err =
@@ -532,7 +532,6 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev,
cdp_rx_ppdu->tcp_msdu_count = ppdu_info->rx_status.tcp_msdu_count;
cdp_rx_ppdu->udp_msdu_count = ppdu_info->rx_status.udp_msdu_count;
cdp_rx_ppdu->other_msdu_count = ppdu_info->rx_status.other_msdu_count;
cdp_rx_ppdu->u.preamble = ppdu_info->rx_status.preamble_type;
/* num mpdu is consolidated and added together in num user loop */
cdp_rx_ppdu->num_mpdu = ppdu_info->com_info.mpdu_cnt_fcs_ok;
/* num msdu is consolidated and added together in num user loop */
@@ -568,7 +567,6 @@ dp_rx_populate_cdp_indication_ppdu(struct dp_pdev *pdev,
cdp_rx_ppdu->ppdu_id = ppdu_info->com_info.ppdu_id;
cdp_rx_ppdu->length = ppdu_info->rx_status.ppdu_len;
cdp_rx_ppdu->duration = ppdu_info->rx_status.duration;
cdp_rx_ppdu->u.bw = ppdu_info->rx_status.bw;
cdp_rx_ppdu->u.nss = ppdu_info->rx_status.nss;
cdp_rx_ppdu->u.mcs = ppdu_info->rx_status.mcs;
if ((ppdu_info->rx_status.sgi == VHT_SGI_NYSM) &&
@@ -777,7 +775,7 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
{
struct dp_soc *soc = NULL;
uint8_t mcs, preamble, ac = 0, nss, ppdu_type;
uint16_t num_msdu;
uint32_t num_msdu;
uint8_t pkt_bw_offset;
struct dp_peer *peer;
struct dp_mon_peer *mon_peer;
@@ -912,36 +910,36 @@ static void dp_rx_stats_update(struct dp_pdev *pdev,
((mcs < MAX_MCS_11AC) && (preamble == DOT11_AC)));
DP_STATS_INCC(mon_peer,
rx.pkt_type[preamble].mcs_count[MAX_MCS - 1], num_msdu,
((mcs >= (MAX_MCS - 1)) && (preamble == DOT11_AX)));
((mcs >= (MAX_MCS_11AX)) && (preamble == DOT11_AX)));
DP_STATS_INCC(mon_peer,
rx.pkt_type[preamble].mcs_count[mcs], num_msdu,
((mcs < (MAX_MCS - 1)) && (preamble == DOT11_AX)));
((mcs < (MAX_MCS_11AX)) && (preamble == DOT11_AX)));
DP_STATS_INCC(mon_peer,
rx.su_ax_ppdu_cnt.mcs_count[MAX_MCS - 1], 1,
((mcs >= (MAX_MCS - 1)) && (preamble == DOT11_AX) &&
((mcs >= (MAX_MCS_11AX)) && (preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_SU)));
DP_STATS_INCC(mon_peer,
rx.su_ax_ppdu_cnt.mcs_count[mcs], 1,
((mcs < (MAX_MCS - 1)) && (preamble == DOT11_AX) &&
((mcs < (MAX_MCS_11AX)) && (preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_SU)));
DP_STATS_INCC(mon_peer,
rx.rx_mu[TXRX_TYPE_MU_OFDMA].ppdu.mcs_count[MAX_MCS - 1],
1, ((mcs >= (MAX_MCS - 1)) &&
1, ((mcs >= (MAX_MCS_11AX)) &&
(preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_MU_OFDMA)));
DP_STATS_INCC(mon_peer,
rx.rx_mu[TXRX_TYPE_MU_OFDMA].ppdu.mcs_count[mcs],
1, ((mcs < (MAX_MCS - 1)) &&
1, ((mcs < (MAX_MCS_11AX)) &&
(preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_MU_OFDMA)));
DP_STATS_INCC(mon_peer,
rx.rx_mu[TXRX_TYPE_MU_MIMO].ppdu.mcs_count[MAX_MCS - 1],
1, ((mcs >= (MAX_MCS - 1)) &&
1, ((mcs >= (MAX_MCS_11AX)) &&
(preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_MU_MIMO)));
DP_STATS_INCC(mon_peer,
rx.rx_mu[TXRX_TYPE_MU_MIMO].ppdu.mcs_count[mcs],
1, ((mcs < (MAX_MCS - 1)) &&
1, ((mcs < (MAX_MCS_11AX)) &&
(preamble == DOT11_AX) &&
(ppdu_type == HAL_RX_TYPE_MU_MIMO)));

View File

@@ -85,6 +85,9 @@
#define HAL_RX_PKT_TYPE_11N 2
#define HAL_RX_PKT_TYPE_11AC 3
#define HAL_RX_PKT_TYPE_11AX 4
#ifdef WLAN_FEATURE_11BE
#define HAL_RX_PKT_TYPE_11BE 6
#endif
#define HAL_RX_RECEPTION_TYPE_SU 0
#define HAL_RX_RECEPTION_TYPE_MU_MIMO 1
@@ -453,12 +456,22 @@ enum {
HAL_SGI_3_2_US,
};
#ifdef WLAN_FEATURE_11BE
enum {
HAL_FULL_RX_BW_20,
HAL_FULL_RX_BW_40,
HAL_FULL_RX_BW_80,
HAL_FULL_RX_BW_160,
HAL_FULL_RX_BW_320,
};
#else
enum {
HAL_FULL_RX_BW_20,
HAL_FULL_RX_BW_40,
HAL_FULL_RX_BW_80,
HAL_FULL_RX_BW_160,
};
#endif
enum {
HAL_RX_TYPE_SU,