mac80211: ath11k: Add qcn6122 support

This commit is contained in:
hzy 2023-08-09 17:30:13 +00:00
parent 2453fff8b0
commit 8c04a80d72
4 changed files with 1338 additions and 2 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@
From 64f6f6cdde0b6b763181145a698207fad4536c06 Mon Sep 17 00:00:00 2001
From: hzy <hzyitc@outlook.com>
Date: Wed, 9 Aug 2023 17:44:49 +0000
Subject: [PATCH 2/2] wifi: ath11k: Support to assign m3 dump memory
Signed-off-by: hzy <hzyitc@outlook.com>
---
drivers/net/wireless/ath/ath11k/qmi.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c
index bf644b58..03ddb0fb 100644
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -2108,6 +2108,18 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
idx++;
break;
+ case M3_DUMP_REGION_TYPE:
+ if (of_property_read_u32(dev->of_node, "qcom,m3-dump-addr", &addr)) {
+ ath11k_warn(ab, "qmi fail to get qcom,m3-dump-addr, ignore m3 dump mem req\n");
+ break;
+ }
+
+ ab->qmi.target_mem[idx].paddr = (phys_addr_t) addr;
+ ab->qmi.target_mem[idx].vaddr = NULL;
+ ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size;
+ ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
+ idx++;
+ break;
default:
ath11k_warn(ab, "qmi ignore invalid mem req type %d\n",
ab->qmi.target_mem[i].type);
--
2.40.1

View File

@ -0,0 +1,43 @@
From 77cb92102d1f54a9a11d759239069d71e793991d Mon Sep 17 00:00:00 2001
From: hzy <hzyitc@outlook.com>
Date: Wed, 9 Aug 2023 17:35:13 +0000
Subject: [PATCH] wifi: ath11k: Reduce buffer size to save memory
Signed-off-by: hzy <hzyitc@outlook.com>
---
drivers/net/wireless/ath/ath11k/dp.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/dp.h b/drivers/net/wireless/ath/ath11k/dp.h
index d04f78ab..27638383 100644
--- a/drivers/net/wireless/ath/ath11k/dp.h
+++ b/drivers/net/wireless/ath/ath11k/dp.h
@@ -205,7 +205,7 @@ struct ath11k_pdev_dp {
#define DP_WBM_RELEASE_RING_SIZE 64
#define DP_TCL_DATA_RING_SIZE 512
#define DP_TCL_DATA_RING_SIZE_WCN6750 2048
-#define DP_TX_COMP_RING_SIZE 32768
+#define DP_TX_COMP_RING_SIZE 4096
#define DP_TX_IDR_SIZE DP_TX_COMP_RING_SIZE
#define DP_TCL_CMD_RING_SIZE 32
#define DP_TCL_STATUS_RING_SIZE 32
@@ -216,12 +216,12 @@ struct ath11k_pdev_dp {
#define DP_REO_EXCEPTION_RING_SIZE 128
#define DP_REO_CMD_RING_SIZE 256
#define DP_REO_STATUS_RING_SIZE 2048
-#define DP_RXDMA_BUF_RING_SIZE 4096
+#define DP_RXDMA_BUF_RING_SIZE 1024
#define DP_RXDMA_REFILL_RING_SIZE 2048
#define DP_RXDMA_ERR_DST_RING_SIZE 1024
-#define DP_RXDMA_MON_STATUS_RING_SIZE 1024
-#define DP_RXDMA_MONITOR_BUF_RING_SIZE 4096
-#define DP_RXDMA_MONITOR_DST_RING_SIZE 2048
+#define DP_RXDMA_MON_STATUS_RING_SIZE 512
+#define DP_RXDMA_MONITOR_BUF_RING_SIZE 1288
+#define DP_RXDMA_MONITOR_DST_RING_SIZE 128
#define DP_RXDMA_MONITOR_DESC_RING_SIZE 4096
#define DP_RX_RELEASE_RING_NUM 3
--
2.40.1

View File

@ -51,8 +51,8 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
+ if (!ret) {
+ if (fw_mem_mode == 0) {
+ ab->hw_params.fw_mem_mode = 0;
+ ab->hw_params.num_vdevs = 16 + 1;
+ ab->hw_params.num_peers = 512;
+ ab->hw_params.num_vdevs = 8 + 1;
+ ab->hw_params.num_peers = 128;
+ }
+ else if (fw_mem_mode == 1) {
+ ab->hw_params.fw_mem_mode = 1;