mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-17 00:33:29 +00:00
58 lines
2.5 KiB
Diff
58 lines
2.5 KiB
Diff
From 16a2c3d5406f95ef6139de52669c60a39443f5f7 Mon Sep 17 00:00:00 2001
|
|
From: Rameshkumar Sundaram <ramess@codeaurora.org>
|
|
Date: Wed, 10 Nov 2021 17:10:48 +0200
|
|
Subject: [PATCH 066/120] ath11k: Send PPDU_STATS_CFG with proper pdev mask to
|
|
firmware
|
|
|
|
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.
|
|
|
|
In commit 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.
|
|
|
|
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 <murugana@codeaurora.org>
|
|
Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
|
|
Signed-off-by: Rameshkumar Sundaram <ramess@codeaurora.org>
|
|
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
Link: https://lore.kernel.org/r/20210721212029.142388-10-jouni@codeaurora.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/dp.h | 3 ++-
|
|
drivers/net/wireless/ath/ath11k/dp_tx.c | 2 +-
|
|
2 files changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/dp.h
|
|
+++ b/drivers/net/wireless/ath/ath11k/dp.h
|
|
@@ -517,7 +517,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)
|
|
#define HTT_PPDU_STATS_CFG_TLV_TYPE_BITMASK GENMASK(31, 16)
|
|
|
|
enum htt_ppdu_stats_tag_type {
|
|
--- a/drivers/net/wireless/ath/ath11k/dp_tx.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/dp_tx.c
|
|
@@ -903,7 +903,7 @@ int ath11k_dp_tx_htt_h2t_ppdu_stats_req(
|
|
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);
|
|
|