[PATCH] ath11k: allow missing memory-regions

Raj Kumar Bhagat quic_rajkbhag at quicinc.com
Fri Sep 6 00:17:31 PDT 2024


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 at linaro.org>
> ---
> Cc: linux-arm-msm at vger.kernel.org
> ---
>  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.



More information about the ath11k mailing list