[PATCH 0/8] [0/8] wifi: ath12k: MLO support part 3

Kalle Valo
2024-11-21T15:58:12Z

From: Kalle Valo <quic_kvalo@quicinc.com>

We continue refactoring ath12k in preparation for supporting Multi-Link
Operation. For example, in this patchset we modify station state handling and
start to use more link level configuration.

Please review.

v2:

* patch 1: maintain sta state in ahsta (offline change from Aditya)

sta state is not per link level hence there is no point in keeping it in
arsta level. Hence move it to ahsta instead. Even mac80211 keeps sta state
on per MLD sta level instead of link sta.

* patch 1: minor code refactoring and removing redundant codes (offline change from Aditya)

For ML station remove, redundant code was written in different function.
However, existing flow code can be leveraged to perform same operations.

* patch 1: ath12k_mac_assign_link_sta(): remove unnecessary synchronize_rcu()

* patch 1: ath12k_mac_free_unassign_link_sta(): remove unnecessary forward declaration

* patch 1: fold ath12k_mac_unassign_link_sta() into ath12k_mac_free_unassign_link_sta()

* patch 2: ath12k_mac_alloc_assign_link_sta(): use kmalloc()

v1: https://patchwork.kernel.org/project/linux-wireless/cover/20241106142617.660901-1-kvalo@kernel.org/

Rameshkumar Sundaram (2):
wifi: ath12k: add reo queue lookup table for ML peers
wifi: ath12k: modify chanctx iterators for MLO

Sriram R (6):
wifi: ath12k: Add MLO station state change handling
wifi: ath12k: support change_sta_links() mac80211 op
wifi: ath12k: add primary link for data path operations
wifi: ath12k: use arsta instead of sta
wifi: ath12k: Use mac80211 vif's link_conf instead of bss_conf
wifi: ath12k: Use mac80211 sta's link_sta instead of deflink

drivers/net/wireless/ath/ath12k/core.h | 4 +
drivers/net/wireless/ath/ath12k/dp.c | 44 +-
drivers/net/wireless/ath/ath12k/dp.h | 1 +
drivers/net/wireless/ath/ath12k/dp_rx.c | 58 +-
drivers/net/wireless/ath/ath12k/mac.c | 985 ++++++++++++++++++------
drivers/net/wireless/ath/ath12k/mac.h | 1 +
drivers/net/wireless/ath/ath12k/peer.c | 108 ++-
drivers/net/wireless/ath/ath12k/peer.h | 11 +-
drivers/net/wireless/ath/ath12k/wmi.c | 16 +-
9 files changed, 965 insertions(+), 263 deletions(-)

base-commit: 7c16c77c1c085ed2e14f95b3399fe216e1e42a35
--
2.39.5