[PATCH v5 7/9] wifi: ath12k: Add EHT MCS support in Extended Rx statistics
Vasanthakumar Thiagarajan
quic_vthiagar at quicinc.com
Tue Jan 28 21:50:13 PST 2025
On 1/27/2025 4:17 PM, Karthikeyan Periyasamy wrote:
> From: Balamurugan Mahalingam <quic_bmahalin at quicinc.com>
>
> Currently, EHT MCS information is not populated. Therefore, add the EHT
> MCS counter array to the peer rate statistics and update the EHT MCS
> statistics from the status TLV data in the monitor Rx path. In the future,
> this information will be used in the peer extended Rx statistics dump.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Signed-off-by: Balamurugan Mahalingam <quic_bmahalin at quicinc.com>
> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
> ---
> drivers/net/wireless/ath/ath12k/core.h | 2 ++
> drivers/net/wireless/ath/ath12k/dp_mon.c | 6 ++++++
> 2 files changed, 8 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h
> index 28db100cfac0..2c9c62cb1af5 100644
> --- a/drivers/net/wireless/ath/ath12k/core.h
> +++ b/drivers/net/wireless/ath/ath12k/core.h
> @@ -357,6 +357,7 @@ struct ath12k_vif_iter {
> #define HAL_RX_MAX_MCS_HT 31
> #define HAL_RX_MAX_MCS_VHT 9
> #define HAL_RX_MAX_MCS_HE 11
> +#define HAL_RX_MAX_MCS_BE 15
> #define HAL_RX_MAX_NSS 8
> #define HAL_RX_MAX_NUM_LEGACY_RATES 12
> #define ATH12K_RX_RATE_TABLE_11AX_NUM 576
> @@ -366,6 +367,7 @@ struct ath12k_rx_peer_rate_stats {
> u64 ht_mcs_count[HAL_RX_MAX_MCS_HT + 1];
> u64 vht_mcs_count[HAL_RX_MAX_MCS_VHT + 1];
> u64 he_mcs_count[HAL_RX_MAX_MCS_HE + 1];
> + u64 be_mcs_count[HAL_RX_MAX_MCS_BE + 1];
> u64 nss_count[HAL_RX_MAX_NSS];
> u64 bw_count[HAL_RX_BW_MAX];
> u64 gi_count[HAL_RX_GI_MAX];
> diff --git a/drivers/net/wireless/ath/ath12k/dp_mon.c b/drivers/net/wireless/ath/ath12k/dp_mon.c
> index 6ba2f0fa39c1..dae430ee3c19 100644
> --- a/drivers/net/wireless/ath/ath12k/dp_mon.c
> +++ b/drivers/net/wireless/ath/ath12k/dp_mon.c
> @@ -3059,6 +3059,12 @@ static void ath12k_dp_mon_rx_update_peer_su_stats(struct ath12k *ar,
> rx_stats->byte_stats.he_mcs_count[ppdu_info->mcs] += ppdu_info->mpdu_len;
> }
>
> + if (ppdu_info->preamble_type == HAL_RX_PREAMBLE_11BE &&
> + ppdu_info->mcs <= HAL_RX_MAX_MCS_BE) {
> + rx_stats->pkt_stats.be_mcs_count[ppdu_info->mcs] += num_msdu;
> + rx_stats->byte_stats.be_mcs_count[ppdu_info->mcs] += ppdu_info->mpdu_len;
> + }
> +
> if ((ppdu_info->preamble_type == HAL_RX_PREAMBLE_11A ||
> ppdu_info->preamble_type == HAL_RX_PREAMBLE_11B) &&
> ppdu_info->rate < HAL_RX_LEGACY_RATE_INVALID) {
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan at oss.qualcomm.com>
More information about the ath12k
mailing list