[PATCH v5 8/8] wifi: ath12k: move ath12k_hw from per soc to group
Harshitha Prem
quic_hprem at quicinc.com
Sun May 26 21:43:57 PDT 2024
On 5/23/2024 1:28 AM, Jeff Johnson wrote:
> On 5/22/2024 2:54 AM, Harshitha Prem wrote:
>> From: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
>>
>> Currently, hardware abstractions (ah) of different radio bands
>> are tightly coupled to a single device (ab). But, with hardware
>> device group abstraction (ag), multiple radios across different
>> devices in a group can possibly form different combinations of
>> hardware abstractions (ah) within the group. Hence, the mapping
>> between ah to ab can be removed and instead it can be mapped with ag.
>>
>> Please find below illustration of how mapping between ath12k_hw (ah),
>> ath12k_base (ab) and ath12k_hw_group (ag) is changed.
>>
>> current mapping of hardware abstraction (ah) with device (ab)
>> +------------------------------------------------+
>> | +-------------------------------------+ |
>> | | +---------------+ +---------------+ | |
>> | | |ath12k_hw (ah) | |ath12k_hw (ah) | | |
>> | | +---------------+ +---------------+ | |
>> | | | |
>> | | +-----------+ | +-----------+ | |
>> | | | ar (2GHz) | | | ar (5GHz) | | |
>> | | +-----------+ | +-----------+ | |
>> | | Dual band device-1 (ab) | |
>> | +-------------------------------------+ |
>> | ath12k_hw_group (ag) based on group id |
>> +------------------------------------------------+
>>
>> After, with hardware device group abstraction
>> (moving ah array out of ab to ag)
>> +----------------------------------------------+
>> | +---------------+ +---------------+ |
>> | |ath12k_hw (ah) | |ath12k_hw (ah) | |
>> | +---------------+ +---------------+ |
>> | +-------------------------------------+ |
>> | | +-----------+ +-----------+ | |
>> | | | ar (2GHz) | | ar (5GHz) | | |
>> | | +-----------+ +-----------+ | |
>> | | Dual band device-1 (ab) | |
>> | +-------------------------------------+ |
>> | ath12k_hw_group (ag) based on group id |
>> +----------------------------------------------+
>>
>> This decoupling of ath12k_hw (ah) from ath12k_base (ab) and mapping it
>> to ath12k_hw_group (ag) will help in forming different combinations of
>> multi-link devices.
>>
>> Say for example, device 1 has two radios (2 GHz and 5 GHz band) and
>> device 2 has one radio (6 GHz).
>>
>> In existing code -
>> device 1 will have two hardware abstractions hw1 (2 GHz) and
>> hw2 (5 GHz) will be registered separately to mac80211 as phy0
>> and phy1 respectively. Similarly, device 2 will register its
>> hw (6 GHz) as phy2 to mac80211.
>>
>> In future, with multi-link abstraction
>>
>> combination 1 - Different group id for device1 and device 2
>> Device 1 will create a single hardware abstraction hw1
>> (2 GHz and 5 GHz) and will be registered to mac80211 as
>> phy0. similarly, device 2 will register its hardware
>> (6 GHz) to mac80211 as phy1.
>>
>> combination 2 - Same group id for device1 and device 2
>> Both device details are combined together as a group, say
>> group1, with single hardware abstraction of radios 2 GHz,
>> 5 GHz and 6 GHz band details and will be registered to
>> mac80211 as phy0.
>>
>> Hence, Add changes to decouple ath12k_hw (ah) from ath12k_base (ab) and
>> map it to ath12k_hw_group (ag).
>>
>> Refactor the following APIs to help simplify the registration based on
>> ath12k_hw_group (ag) rather than ath12k_base (ab)
>> * ath12k_mac_allocate()
>> * ath12k_mac_destroy()
>> * ath12k_mac_register()
>> * ath12k_mac_unregister()
>>
>> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
>>
>> Signed-off-by: Karthikeyan Periyasamy <quic_periyasa at quicinc.com>
>> Signed-off-by: Harshitha Prem <quic_hprem at quicinc.com>
> Acked-by: Jeff Johnson <quic_jjohnson at quicinc.com>
>
Thanks Jeff.
With this patch seeing below smatch error:
drivers/net/wireless/ath/ath12k/mac.c:8918 ath12k_mac_hw_allocate()
error: uninitialized symbol 'ab'.
CC [M] drivers/net/wireless/ath/ath12k/reg.o
CHECK drivers/net/wireless/ath/ath12k/reg.c
Will fix it in next patchset.
Regards,
Harshitha
More information about the ath12k
mailing list