mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-21 03:13:17 +00:00
119 lines
5.5 KiB
Diff
119 lines
5.5 KiB
Diff
From 91b6deeb1944e4b0bd297ea5a6e40ba81657935c Mon Sep 17 00:00:00 2001
|
|
From: Aditya Kumar Singh <quic_adisi@quicinc.com>
|
|
Date: Thu, 16 Dec 2021 11:19:57 +0530
|
|
Subject: [PATCH] ath11k: fix extended array buffer display in htt stats
|
|
|
|
ARRAY_TO_BUF macro loops from index 0 to len and prints the same
|
|
index to the buffer. However, for extended parameters like Tx
|
|
MCS Extended variable, there is requirement to loop from 0 to len
|
|
but print (index + MAX ARRAY LENGTH OF NON EXTENDED PARAMETER) to
|
|
the buffer. This was leading to index to roll over from start for
|
|
extended variable case. Hence, this macro can not be used.
|
|
|
|
Current Output:
|
|
tx_mcs = 0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:26, 7:20, 8:21, 9:22, 10:196, 11:613, 0:0, 1:0,
|
|
|
|
Expected Output:
|
|
tx_mcs = 0:0, 1:0, 2:0, 3:0, 4:0, 5:0, 6:26, 7:20, 8:21, 9:22, 10:196, 11:613, 12:0, 13:0,
|
|
|
|
Add ARRAY_TO_BUF_EXT macro to print the extended variable array to
|
|
the buffer.
|
|
|
|
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
|
|
---
|
|
.../net/wireless/ath/ath11k/debugfs_htt_stats.c | 56 +++++++++++++++-------
|
|
1 file changed, 38 insertions(+), 18 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.c
|
|
@@ -17,6 +17,17 @@
|
|
|
|
#define HTT_TLV_HDR_LEN 4
|
|
|
|
+#define ARRAY_TO_BUF_EXT(out, buflen, arr, len, ext_len) \
|
|
+ do { \
|
|
+ int index = 0; u8 i; \
|
|
+ for (i = 0; i < len; i++) { \
|
|
+ index += scnprintf((out + buflen) + index, \
|
|
+ (ATH11K_HTT_STATS_BUF_SIZE - buflen) - index, \
|
|
+ " %u:%u,", i + ext_len, arr[i]); \
|
|
+ } \
|
|
+ buflen += index; \
|
|
+ } while (0)
|
|
+
|
|
#define ARRAY_TO_BUF(out, buflen, arr, len) \
|
|
do { \
|
|
int index = 0; u8 i; \
|
|
@@ -3126,8 +3137,9 @@ static inline void htt_print_tx_pdev_rat
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_mcs, "tx_mcs",
|
|
HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
- ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_mcs_ext,
|
|
- HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_stats_buf->tx_stbc_ext,
|
|
+ HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->ac_mu_mimo_tx_mcs,
|
|
"ac_mu_mimo_tx_mcs", HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
@@ -3141,8 +3153,9 @@ static inline void htt_print_tx_pdev_rat
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->ofdma_tx_mcs, "ofdma_tx_mcs",
|
|
HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
- ARRAY_TO_BUF(buf, len, htt_stats_buf->ofdma_tx_mcs_ext,
|
|
- HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_stats_buf->tx_mcs_ext,
|
|
+ HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_nss, "tx_nss",
|
|
HTT_TX_PDEV_STATS_NUM_SPATIAL_STREAMS, "\n");
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->ac_mu_mimo_tx_nss,
|
|
@@ -3185,8 +3198,9 @@ static inline void htt_print_tx_pdev_rat
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_gi[j], NULL,
|
|
HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
- ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_gi_ext[j],
|
|
- HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_stats_buf->tx_gi_ext[j],
|
|
+ HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
}
|
|
|
|
/* AC MU-MIMO GI Stats */
|
|
@@ -3204,8 +3218,9 @@ static inline void htt_print_tx_pdev_rat
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->ax_mu_mimo_tx_gi[j],
|
|
NULL, HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
- ARRAY_TO_BUF(buf, len, htt_stats_buf->ax_mu_mimo_tx_gi_ext[j],
|
|
- HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_stats_buf->ax_mu_mimo_tx_gi_ext[j],
|
|
+ HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
}
|
|
|
|
/* DL OFDMA GI Stats */
|
|
@@ -3215,8 +3230,9 @@ static inline void htt_print_tx_pdev_rat
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->ofdma_tx_gi[j], NULL,
|
|
HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS, "\n");
|
|
len += HTT_DBG_OUT(buf + len, buf_len - len, " ");
|
|
- ARRAY_TO_BUF(buf, len, htt_stats_buf->ofdma_tx_gi_ext[j],
|
|
- HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_stats_buf->ofdma_tx_gi_ext[j],
|
|
+ HTT_TX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
}
|
|
|
|
PRINT_ARRAY_TO_BUF(buf, len, htt_stats_buf->tx_dcm, "tx_dcm",
|
|
@@ -4297,6 +4313,11 @@ static inline void htt_print_ul_mumimo_t
|
|
htt_ul_mumimo_trig_stats_buf->ul_mumimo_rx_gi[j],
|
|
NULL, HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS,
|
|
"\n");
|
|
+ len += scnprintf(buf + len, buf_len - len,
|
|
+ "ul_mumimo_rx_gi_ext[%u] = ", j);
|
|
+ ARRAY_TO_BUF_EXT(buf, len, htt_ul_mumimo_trig_stats_buf->ul_mumimo_rx_gi_ext[j],
|
|
+ HTT_RX_PDEV_STATS_NUM_EXTRA_MCS_COUNTERS,
|
|
+ HTT_RX_PDEV_STATS_NUM_MCS_COUNTERS);
|
|
}
|
|
|
|
PRINT_ARRAY_TO_BUF(buf, len,
|