Thread (18 messages) 18 messages, 4 authors, 2021-12-08

Re: [PATCH 10/12] ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware

From: Rameshkumar Sundaram <hidden>
Date: 2021-09-28 12:02:12
Also in: ath11k

On 2021-09-28 16:16, Kalle Valo wrote:
Jouni Malinen [off-list ref] writes:
quoted
From: Rameshkumar Sundaram <redacted>

HTT_PPDU_STATS_CFG_PDEV_ID bit mask for target FW PPDU stats request
message was set as bit 8 to 15. Bit 8 is reserved for soc stats and
pdev id starts from bit 9. Hence change the bitmask as bit 9 to 15
and fill the proper pdev id in the request message.

Tested on: IPQ8074 hw2.0 AHB 
WLAN.HK.2.5.0.1-01092-QCAHKSWPL_SILICONZ-1
Tested on: IPQ6018 hw1.0 WLAN.HK.2.5.0.1-01067-QCAHKSWPL_SILICONZ-1

Fixes: 701e48a43e15 ("ath11k: add packet log support for QCA6390")

Co-developed-by: Sathishkumar Muruganandam <redacted>
Signed-off-by: Sathishkumar Muruganandam <redacted>
Signed-off-by: Rameshkumar Sundaram <redacted>
Signed-off-by: Jouni Malinen <redacted>
---
 drivers/net/wireless/ath/ath11k/dp.h    | 3 ++-
 drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/dp.h 
b/drivers/net/wireless/ath/ath11k/dp.h
index b2e7621969c5..522d3a6ce253 100644
--- a/drivers/net/wireless/ath/ath11k/dp.h
+++ b/drivers/net/wireless/ath/ath11k/dp.h
@@ -541,7 +541,8 @@ struct htt_ppdu_stats_cfg_cmd {
 } __packed;

 #define HTT_PPDU_STATS_CFG_MSG_TYPE		GENMASK(7, 0)
-#define HTT_PPDU_STATS_CFG_PDEV_ID		GENMASK(15, 8)
+#define HTT_PPDU_STATS_CFG_SOC_STATS		BIT(8)
+#define HTT_PPDU_STATS_CFG_PDEV_ID		GENMASK(15, 9)
This part is clear after reading the commit log.
quoted
--- a/drivers/net/wireless/ath/ath11k/dp_tx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c
@@ -906,7 +906,7 @@ int ath11k_dp_tx_htt_h2t_ppdu_stats_req(struct 
ath11k *ar, u32 mask)
 		cmd->msg = FIELD_PREP(HTT_PPDU_STATS_CFG_MSG_TYPE,
 				      HTT_H2T_MSG_TYPE_PPDU_STATS_CFG);

-		pdev_mask = 1 << (i + 1);
+		pdev_mask = 1 << (ar->pdev_idx + i);
 		cmd->msg |= FIELD_PREP(HTT_PPDU_STATS_CFG_PDEV_ID, pdev_mask);
 		cmd->msg |= FIELD_PREP(HTT_PPDU_STATS_CFG_TLV_TYPE_BITMASK, mask);
But this part isn't. All I can see in the commit log is a vague comment
"and fill the proper pdev id in the request message" and nothing else.
Please provide a proper explanation for this change and I can then add
that to the commit log.
Hi Kalle,
In patch 701e48a43e15 ("ath11k: add packet log support for QCA6390") ,
both HTT_PPDU_STATS_CFG_PDEV_ID and pdev_mask were changed, but this 
pdev_mask calculation
is not valid for platforms which has multiple pdevs with 1 rxdma per 
pdev, as this is writing same value(i.e. 2) for all pdevs.
Hence fixed it to consider pdev_idx as well, to make it compatible for 
both single and multi pd cases.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help