From: Sriram R <quic_srirrama@xxxxxxxxxxx> With the introduction of Multi Link Operation (MLO) support in IEEE802.11be, each EHT AP/non AP interface is capable of operating with multiple radio links. cfg80211/mac80211 expects drivers to abstract the communication between such Multi Link HW and mac80211/cfg80211 since it depends on different driver/HW implementation. Hence the single wiphy abstraction with changes in datastructures were introduced in "wifi: ath12k: Introduce hw abstraction" This patchset extends the implementation to allow combination of multiple underlying radios into a single composite hw/wiphy for registration. Since now multiple radios are represented by a single wiphy, changes are required in various mac ops that the driver supports since the driver now needs to learn on how to tunnel various mac ops properly to a specific radio. This patchset covers the basic mac80211 ops for an interface bring up and operation. Note: Monitor and hw reconfig support for Single Wiphy will be done in future patchsets. --- v6: - Fixed print message typo in PATCH 05/12 - Modified ath12k_mac_assign_vif_to_vdev() of PATCH 05/12 to not have multiple jump statements. - Modified PATCH 07/12 to have whole cache allocated dynamically & fixed cache flush in case where we reuese vdev created on scan. v5: - Addressed Jeff's comments - Made arvif config cache to be dynamic in PATCH 07/12 v4: - Updated missing Signed-off details for patches. v3: - Rebased on ToT (added additional ar check in PATCH 08/12 for p2p) - Introduced iterator to loop through ars in an ah(for_each_ar()) - Addressed comments on reverse xmas tree declaration style. v2: - Rebased on ToT and dependent patchset Karthikeyan Periyasamy (1): wifi: ath12k: add multiple radio support in a single MAC HW un/register Sriram R (11): wifi: ath12k: Modify add and remove chanctx ops for single wiphy support wifi: ath12k: modify ath12k mac start/stop ops for single wiphy wifi: ath12k: vdev statemachine changes for single wiphy wifi: ath12k: scan statemachine changes for single wiphy wifi: ath12k: fetch correct radio based on vdev status wifi: ath12k: Cache vdev configs before vdev create wifi: ath12k: Add additional checks for vif and sta iterators wifi: ath12k: modify regulatory support for single wiphy architecture wifi: ath12k: Modify set and get antenna mac ops for single wiphy wifi: ath12k: Modify rts threshold mac op for single wiphy wifi: ath12k: support get_survey mac op for single wiphy drivers/net/wireless/ath/ath12k/core.h | 38 +- drivers/net/wireless/ath/ath12k/hw.h | 1 + drivers/net/wireless/ath/ath12k/mac.c | 940 +++++++++++++++++++------ drivers/net/wireless/ath/ath12k/p2p.c | 3 +- drivers/net/wireless/ath/ath12k/p2p.h | 1 + drivers/net/wireless/ath/ath12k/reg.c | 55 +- 6 files changed, 810 insertions(+), 228 deletions(-) base-commit: fe7e1b830cf3c0272aa4eaf367c4c7b29c169c3d -- 2.25.1