Search Linux Wireless

Re: [PATCH 12/12] ath11k: Change QCN9074 firmware to operate in mode-2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jouni Malinen <jouni@xxxxxxxxxxxxxx> writes:

> From: Seevalamuthu Mariappan <seevalam@xxxxxxxxxxxxxx>
>
> 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 <seevalam@xxxxxxxxxxxxxx>
> Co-developed-by: Anilkumar Kolli <akolli@xxxxxxxxxxxxxx>
> Signed-off-by: Anilkumar Kolli <akolli@xxxxxxxxxxxxxx>
> Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxx>
> ---
>  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.c b/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_params ath11k_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,

[...]

> +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.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux