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.hb/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(structath11k *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.