[PATCH 00/13] wifi: Add multi physical hardware iface combination support

Karthikeyan Periyasamy
2024-03-28T07:29:49Z

The prerequisite for MLO support in cfg80211/mac80211 is that all the links
participating in MLO must be from the same wiphy/ieee80211_hw. To meet this
expectation, some drivers may need to group multiple discrete hardware each
acting as a link in MLO under single wiphy. So it required to have some
sort of mapping while describing interface combination capabilities for
each of the underlying physical hardware. This patch set tries to add an
infrastructure to advertise underlying hw specific capabilities like
channel and interface combinations.

Some of the todos

- More than one concurrent monitor mode support each operating on
different channels under one ieee80211_hw
- Mechanism for each underlying radio specific configurations like
txpower, channel, etc.

RFC series Link: https://lore.kernel.org/linux-wireless/20220920100518.19705-1-quic_vthiagar@quicinc.com/

Harshitha Prem (1):
wifi: ath12k: Advertise multi hardware iface combination

Karthikeyan Periyasamy (1):
wifi: ath12k: Introduce iface combination cleanup helper

Vasanthakumar Thiagarajan (11):
wifi: cfg80211: Add provision to advertise multiple radio in one wiphy
wifi: nl80211: send underlying multi-hardware channel capabilities to
user space
wifi: cfg80211: Refactor the interface combination limit check
wifi: cfg80211/mac80211: extend iface comb advertisement for
multi-hardware dev
wifi: nl80211: Refactor the interface combination limit check
wifi: nl80211: send iface combination to user space in multi-hardware
wiphy
wifi: cfg80211/mac80211: Refactor iface comb iterate callback for
multi-hardware dev
wifi: cfg80211: Refactor the iface combination iteration helper
function
wifi: cfg80211: Add multi-hardware iface combination support
wifi: mac80211: expose channel context helper function
wifi: mac80211: Add multi-hardware support in the iface comb helper

drivers/net/wireless/ath/ath12k/mac.c | 147 +++++++++++-
include/net/cfg80211.h | 175 +++++++++++++-
include/uapi/linux/nl80211.h | 78 ++++++-
net/mac80211/chan.c | 35 ++-
net/mac80211/ieee80211_i.h | 5 +-
net/mac80211/main.c | 46 ++++
net/mac80211/util.c | 196 ++++++++++++++--
net/wireless/core.c | 294 +++++++++++++++++++----
net/wireless/nl80211.c | 154 ++++++++++--
net/wireless/util.c | 321 ++++++++++++++++++++++----
10 files changed, 1318 insertions(+), 133 deletions(-)

base-commit: d69aef8084cc72df7b0f2583096d9b037c647ec8
--
2.34.1