cfg80211: VHT (11ac) Regulatory change
PATCH 1/1 cfg80211: VHT (11ac) Regulatory change
Handling of 80 MHz, 160 MHz channel bandwidths for VHT (11ac) Regulatory and setting channel flags for allowed bandwidths.
Signed-off-by Mahesh Palivela <[email protected]>
---
include/net/cfg80211.h | 64 +++++++++++++++-- net/wireless/reg.c | 183 +++++++++++++++++++++++++++++++++++++++++++++++- net/wireless/reg.h | 5 ++ 3 files changed, 244 insertions(+), 8 deletions(-)
include/net/cfg80211.h +58 -6
@@ -96,19 +96,71 @@ enum ieee80211_band {* is not permitted. * @IEEE80211_CHAN_NO_HT40MINUS: extension channel below this channel * is not permitted. +* @IEEE80211_CHAN_NO_VHT80_80PLUS: 3 extension channels above this channel +* are not permitted. +* @IEEE80211_CHAN_NO_VHT80_40MINUS_60PLUS: 1 extension channel below this chan +* 2 ext chans above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT80_60MINUS_40PLUS: 2 extension channels below this chan +* 1 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT80_80MINUS: 3 extension channels below this channel +* are not permitted. +* @IEEE80211_CHAN_NO_VHT160_160PLUS: 7 extension channels above this channel +* are not permitted. +* @IEEE80211_CHAN_NO_VHT160_40MINUS_140PLUS: 1 extension channel below this chan +* 6 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_60MINUS_120PLUS: 2 extension channels below this chan +* 5 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_80MINUS_100PLUS: 3 extension channels below this chan +* 4 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_100MINUS_80PLUS: 4 extension channels below this chan +* 3 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_120MINUS_60PLUS: 5 extension channels below this chan +* 2 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_140MINUS_40PLUS: 6 extension channel below this chan +* 1 ext chan above this chan are not permitted. +* @IEEE80211_CHAN_NO_VHT160_160MINUS: 7 extension channels below this channel +* are not permitted. */ enum ieee80211_channel_flags { -IEEE80211_CHAN_DISABLED =1 <<0 , -IEEE80211_CHAN_PASSIVE_SCAN =1 <<1 , -IEEE80211_CHAN_NO_IBSS =1 <<2 , -IEEE80211_CHAN_RADAR =1 <<3 , -IEEE80211_CHAN_NO_HT40PLUS =1 <<4 , -IEEE80211_CHAN_NO_HT40MINUS =1 <<5 , +IEEE80211_CHAN_DISABLED =1 <<0 , +IEEE80211_CHAN_PASSIVE_SCAN =1 <<1 , +IEEE80211_CHAN_NO_IBSS =1 <<2 , +IEEE80211_CHAN_RADAR =1 <<3 , +IEEE80211_CHAN_NO_HT40PLUS =1 <<4 , +IEEE80211_CHAN_NO_HT40MINUS =1 <<5 , +IEEE80211_CHAN_NO_VHT80_80PLUS =1 <<6 , +IEEE80211_CHAN_NO_VHT80_60PLUS_40MINUS =1 <<7 , +IEEE80211_CHAN_NO_VHT80_40PLUS_60MINUS =1 <<8 , +IEEE80211_CHAN_NO_VHT80_80MINUS =1 <<9 , +IEEE80211_CHAN_NO_VHT160_160PLUS =1 <<10 , +IEEE80211_CHAN_NO_VHT160_140PLUS_40MINUS =1 <<11 , +IEEE80211_CHAN_NO_VHT160_120PLUS_60MINUS =1 <<12 , +IEEE80211_CHAN_NO_VHT160_100PLUS_80MINUS =1 <<13 , +IEEE80211_CHAN_NO_VHT160_80PLUS_100MINUS =1 <<14 , +IEEE80211_CHAN_NO_VHT160_60PLUS_120MINUS =1 <<15 , +IEEE80211_CHAN_NO_VHT160_40PLUS_140MINUS =1 <<16 , +IEEE80211_CHAN_NO_VHT160_160MINUS =1 <<17 , };#define IEEE80211_CHAN_NO_HT40 \ (IEEE80211_CHAN_NO_HT40PLUS | IEEE80211_CHAN_NO_HT40MINUS) +#define IEEE80211_CHAN_NO_VHT80 \ + (IEEE80211_CHAN_NO_VHT80_80PLUS | \ + IEEE80211_CHAN_NO_VHT80_60PLUS_40MINUS | \ + IEEE80211_CHAN_NO_VHT80_40PLUS_60MINUS | \ + IEEE80211_CHAN_NO_VHT80_80MINUS) + +#define IEEE80211_CHAN_NO_VHT160 \ + (IEEE80211_CHAN_NO_VHT160_160PLUS | \ + IEEE80211_CHAN_NO_VHT160_140PLUS_40MINUS | \ + IEEE80211_CHAN_NO_VHT160_120PLUS_60MINUS | \ + IEEE80211_CHAN_NO_VHT160_100PLUS_80MINUS | \ + IEEE80211_CHAN_NO_VHT160_80PLUS_100MINUS | \ + IEEE80211_CHAN_NO_VHT160_60PLUS_120MINUS | \ + IEEE80211_CHAN_NO_VHT160_40PLUS_140MINUS | \ + IEEE80211_CHAN_NO_VHT160_160MINUS) +/** * struct ieee80211_channel - channel definition *
net/wireless/reg.c +181 -2
207 lines not on this page · raw message
net/wireless/reg.h +5 -0
@@ -16,6 +16,11 @@* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#define VHT_CHBW_80 80 +#define VHT_CHBW_160 160 +#define CHWIDTH_5G 20 +#define EXT_CHANS_MAX (2*VHT_CHBW_160/CHWIDTH_5G)-2 +extern const struct ieee80211_regdomain *cfg80211_regdomain;bool is_world_regdom (const char *alpha2);
Quoted 10 lines · Mahesh Palivela
Handling of 80 MHz, 160 MHz channel bandwidths for VHT (11ac) Regulatory and setting channel flags for allowed bandwidths.
Signed-off-by Mahesh Palivela <[email protected]>---
include/net/cfg80211.h | 64 +++++++++++++++-- net/wireless/reg.c | 183 +++++++++++++++++++++++++++++++++++++++++++++++- net/wireless/reg.h | 5 ++
Patch was malformed by your email client or similar.
Stanislaw