Search Linux Wireless

Re: [PATCH] ath11k: allow missing memory-regions

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

 



On 9/4/2024 3:27 PM, Caleb Connolly wrote:
> On SC7280 platforms which are running with TrustZone, it is not
> necessary to manually map the memory regions used by the wifi hardware.
> However, ath11k will currently fail to load unless both memory regions
> are specified.
> 
> This breaks wifi on the rb3gen2 which only specifies the firmware memory
> region and does not use the CE region.
> 
> Adjust the order of operations in ath11k_ahb_fw_resources_init() to
> check for the wifi-firmware subnode before attempting to parse the
> memory regions.
> 
> Signed-off-by: Caleb Connolly <caleb.connolly@xxxxxxxxxx>
> ---
> Cc: linux-arm-msm@xxxxxxxxxxxxxxx
> ---
>  drivers/net/wireless/ath/ath11k/ahb.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c
> index 634d385fd9ad..e24f8da565db 100644
> --- a/drivers/net/wireless/ath/ath11k/ahb.c
> +++ b/drivers/net/wireless/ath/ath11k/ahb.c
> @@ -999,20 +999,20 @@ static int ath11k_ahb_fw_resources_init(struct ath11k_base *ab)
>  	 */
>  	if (!ab->hw_params.fixed_fw_mem)
>  		return 0;
>  
> -	ret = ath11k_ahb_setup_msa_resources(ab);
> -	if (ret) {
> -		ath11k_err(ab, "failed to setup msa resources\n");
> -		return ret;
> -	}
> -
>  	node = of_get_child_by_name(host_dev->of_node, "wifi-firmware");
>  	if (!node) {
>  		ab_ahb->fw.use_tz = true;
>  		return 0;
>  	}
>  
> +	ret = ath11k_ahb_setup_msa_resources(ab);
> +	if (ret) {
> +		ath11k_err(ab, "failed to setup msa resources\n");
> +		return ret;
> +	}
> +
>  	info.fwnode = &node->fwnode;
>  	info.parent = host_dev;
>  	info.name = node->name;
>  	info.dma_mask = DMA_BIT_MASK(32);


ath11k_ahb_setup_msa_resources(ab), will only read the device-tree and
save the memory addresses/size form device-tree to ab_ahb->fw.
These saved address, only used if "wifi-firmware" node is defined.
This the node "wifi-firmware" is not defined it is considered to be
running with TrustZone, and saved addresses are not of use.

This changes looks fine.




[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