Re: [PATCH 12/12] ath11k: Change QCN9074 firmware to operate in mode-2
From: Anilkumar Kolli <hidden>
Date: 2021-12-08 12:39:58
Also in:
ath11k
On 2021-11-12 13:49, Kalle Valo wrote:
Jouni Malinen [off-list ref] writes:quoted
From: Seevalamuthu Mariappan <redacted> In mode-2 QCN9074 firmware uses 15 MB of host memory and firmware request 1 MB size segments in QMI, whereas in mode-0 firmware uses 45 MB of host memory and each segment is of 2 MB size. In mode-2 firmware operates with reduced number of vdevs and peers. Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1-01838-QCAHKSWPL_SILICONZ-1 Signed-off-by: Seevalamuthu Mariappan <redacted> Co-developed-by: Anilkumar Kolli <redacted> Signed-off-by: Anilkumar Kolli <redacted> Signed-off-by: Jouni Malinen <redacted> --- drivers/net/wireless/ath/ath11k/core.c | 23 ++++++++++++++++++++++- drivers/net/wireless/ath/ath11k/core.h | 6 ++++++ drivers/net/wireless/ath/ath11k/hw.c | 14 +++++++------- drivers/net/wireless/ath/ath11k/hw.h | 20 +++++++++++--------- drivers/net/wireless/ath/ath11k/mac.c | 10 +++++----- drivers/net/wireless/ath/ath11k/qmi.c | 2 +- 6 files changed, 52 insertions(+), 23 deletions(-)diff --git a/drivers/net/wireless/ath/ath11k/core.cb/drivers/net/wireless/ath/ath11k/core.c index d2ab3b134632..9f2c9795767e 100644--- a/drivers/net/wireless/ath/ath11k/core.c +++ b/drivers/net/wireless/ath/ath11k/core.c@@ -77,6 +77,7 @@ static const struct ath11k_hw_paramsath11k_hw_params[] = { .supports_shadow_regs = false, .idle_ps = false, .cold_boot_calib = true, + .fw_mem_mode = 0, .supports_suspend = false, .hal_desc_sz = sizeof(struct hal_rx_desc_ipq8074), .fix_l1ss = true,[...]quoted
+static const struct ath11k_num_vdevs_peers ath11k_vdevs_peers[] = { + { + .num_vdevs = (16 + 1), + .num_peers = 512, + }, + { + .num_vdevs = (8 + 1), + .num_peers = 128, + }, + { + .num_vdevs = 8, + .num_peers = 128, + }, +};I am worried about this array. It implies that _all_ hardware support these modes but is that really the case? I would guess that these are very much hardware and firmware specific values. So because of that I would feel clearer to have num_vdevs and num_peers in ath11k_hw_params, to make it clear that the values are hardware specific. And then have fw_mem_mode, num_vdevs and num_peers in their own struct within struct ath11k_hw_params, just like spectral has grouped valued together.
Sorry for the delayed response. I will make num_vdevs and num_peers part of hw_params. and post next version. Thanks Anil