[PATCH v4 03/11] wifi: ath12k: WMI support to process EHT capabilities

Wen Gong quic_wgong at quicinc.com
Tue Jul 25 03:51:18 PDT 2023


On 6/15/2023 7:49 PM, Kalle Valo wrote:
> Aloka Dixit <quic_alokad at quicinc.com> writes:
>
[...]
> [...]
>
>> +struct ath12k_fw_pdev {
>> +	u32 pdev_id;
>> +	u32 phy_id;
>> +	u32 supported_bands;
>> +};
> So we have now two very similar structures, ath12k_pdev and
> ath12k_fw_pdev. It would be good to document above the structs their
> purpose. Any ideas what I could add?
Currently ath12k has single_pdev parameter, it impact the interface 
number of wifi.

For single_pdev=ture, ab->num_radios is set to 1 and all capbility of 
2.4 GHz/
5 GHz/6 GHz is saved into ab->pdevs[0] in 
ath12k_wmi_ext_soc_hal_reg_caps_parse().
ath12k_mac_register() will call only one time into 
__ath12k_mac_register(), and
ieee80211_register_hw() is called only one time, and only one wifi 
interface in
the result of "iw dev/ifconfig", the interface support 2.4 GHz/5 GHz/6 
GHz. Actually
there hare more than one PHY in firmware, firmware maintain the all PHY 
data and
provide a single pdev/soc interface to ath12k, then ath12k do not need 
to consider
the PHY info such as channel/BAND<->PHY mapping relationship, it is 
convenient for
ath12k to support 2.4 GHz/5 GHz/6 GHz.

For single_pdev=false, ab->num_radios is more than 1, ab->pdevs[] has 
muti valid
element, each element only support one BAND. Firmware do not provide a 
single
pdev/soc interface, so ath12k need to maintain the PHY data such as 
channel/BAND<->
PHY mapping relationship, and ath12k_mac_register() will call muti-time 
into
__ath12k_mac_register(), and ieee80211_register_hw() is called 
muti-time, and muti
wifi interface in the result of "iw dev/ifconfig", and each interface 
only support
one BAND, for example, wlan0 only support 2.4 GHz, wlan1 only support 5 
GHz, and
wlan2 only support 6 GHz.

For single_pdev=ture, ath12k also need to know some info about the PHYs 
sush as
pdev_id/phy_id/supported_bands in this patch, so ab->fw_pdev is used to 
store the
PHY data.



More information about the ath12k mailing list