]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: ath12k: Add EHT MCS support in Extended Rx statistics
authorBalamurugan Mahalingam <quic_bmahalin@quicinc.com>
Thu, 6 Feb 2025 01:38:52 +0000 (07:08 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Tue, 11 Feb 2025 15:27:09 +0000 (07:27 -0800)
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@quicinc.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
Link: https://patch.msgid.link/20250206013854.174765-8-quic_periyasa@quicinc.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/core.h
drivers/net/wireless/ath/ath12k/dp_mon.c

index 3dcdedf9e9de1e6281d1db036d1a2a46df7da724..ef6ef6ad914df99aef7ac04c9a9323a5112a5abd 100644 (file)
@@ -361,6 +361,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
@@ -370,6 +371,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];
index a7e85d131ce3fee3473c525389cec7fdee8a0bf2..514bbd63db1c2eef68116e6218d59f62352fe304 100644 (file)
@@ -3029,6 +3029,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) {