6 GHz introduces various power modes of operation. Currently, based on the power mode, channel's Power Spectral Density (PSD) value as well as channel disabled flag can change. For single interface, current implementation works just fine. But for multi-interfaces, for example AP-STA concurrency, two different channel context needs to be maintained. This is because, STA power mode also depends on the AP's power mode it is going to associate with. Hence, PSD value and channel disabled flag might vary. In this case, same channel context cannot be used for both AP and STA. Therefore, to support multiple channel space for each power mode, the 6 GHz channels needs a separate storage space in data structure ieee80211_supported_band. Because of this, the existing APIs to get the channel/frequency from frequency/channel will not work for 6 GHz band. Add support to store all possible 6 GHz channel pools according to the power mode as well as add API support for getting channel/frequency info from the new struct ieee80211_6ghz_channel. Aditya Kumar Singh (6): mac80211: rework on 6 GHz power type definition mac80211: add combined power type definition for 6 GHz cfg80211: add NL command to set 6 GHz power mode mac80211: add support for 6 GHz channels and regulatory cfg80211: rework nl80211_parse_chandef for 6 GHz cfg80211: save 6 GHz power mode of the regulatory rules Wen Gong (1): cfg80211: save Power Spectral Density (PSD) of the regulatory rule include/linux/ieee80211.h | 10 +-- include/net/cfg80211.h | 68 +++++++++++++++ include/net/regulatory.h | 2 + include/uapi/linux/nl80211.h | 66 +++++++++++++++ net/mac80211/cfg.c | 35 ++++++++ net/mac80211/util.c | 42 ++++++++- net/wireless/ap.c | 4 + net/wireless/nl80211.c | 159 +++++++++++++++++++++++++++++++---- net/wireless/nl80211.h | 3 +- net/wireless/pmsr.c | 8 +- net/wireless/rdev-ops.h | 19 +++++ net/wireless/reg.c | 61 ++++++++++++-- net/wireless/sme.c | 3 + net/wireless/trace.h | 21 +++++ net/wireless/util.c | 87 +++++++++++++++++++ 15 files changed, 552 insertions(+), 36 deletions(-) -- 2.17.1