From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> To: Johannes Berg <johannes@sipsolutions.net>, ath11k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> Subject: [PATCH v2 1/9] cfg80211: Add new channel flag to identify 6GHz PSC channel Date: Fri, 22 May 2020 00:24:23 -0700 [thread overview] Message-ID: <20200522072431.27601-2-pradeepc@codeaurora.org> (raw) In-Reply-To: <20200522072431.27601-1-pradeepc@codeaurora.org> 6GHz channels are divided into preferred scanning channels(PSC) and non-PSC channels. One in every four 20MHz channels is a PSC. Spec mandates to use only PSC channels as primary channels for setting up BSS on 6GHz only AP. The set of 20 MHz channels in the 6 GHz band, with channel center frequency, ch_a = Channel starting frequency – 55 + 80 × n (MHz) are referred to as preferred scanning channels (PSCs) where, n = 1, …, 15 as per IEEE P802.11ax/D6.0. This flag also will be used when making scanning decision on 6GHz channels. Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> --- include/net/cfg80211.h | 2 ++ net/wireless/reg.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index fd6a973b1249..ca3e9df7adfe 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -96,6 +96,7 @@ struct wiphy; * @IEEE80211_CHAN_NO_10MHZ: 10 MHz bandwidth is not permitted * on this channel. * @IEEE80211_CHAN_NO_HE: HE operation is not permitted on this channel. + * @IEEE80211_CHAN_PSC: 6GHz Channel is Preferred Scanning Channel(PSC) * */ enum ieee80211_channel_flags { @@ -113,6 +114,7 @@ enum ieee80211_channel_flags { IEEE80211_CHAN_NO_20MHZ = 1<<11, IEEE80211_CHAN_NO_10MHZ = 1<<12, IEEE80211_CHAN_NO_HE = 1<<13, + IEEE80211_CHAN_PSC = 1<<14, }; #define IEEE80211_CHAN_NO_HT40 \ diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 0d74a31ef0ab..4ebaa57e60e4 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -2023,6 +2023,21 @@ static bool is_ht40_allowed(struct ieee80211_channel *chan) return true; } +static bool reg_is_6ghz_channel_psc(struct ieee80211_channel *chan) +{ + /* + * From IEEE P802.11ax/D6.0: The set of 20 MHz channels in the 6 GHz + * band, with channel center frequency, ch_a = Channel starting + * frequency – 55 + 80 × n (MHz) are referred to as preferred scanning + * channels (PSCs). Channel starting frequency is defined in 27.3.23.2 + * (Channel allocation in the 6 GHz band), and n = 1, …, 15. + */ + if (!(((chan->center_freq - 5940 + 55) >> 4) % 5)) + return true; + + return false; +} + static void reg_process_ht_flags_channel(struct wiphy *wiphy, struct ieee80211_channel *channel) { @@ -2305,6 +2320,10 @@ static void handle_channel_custom(struct wiphy *wiphy, else chan->flags |= map_regdom_flags(reg_rule->flags) | bw_flags; + if (chan->band == NL80211_BAND_6GHZ && + reg_is_6ghz_channel_psc(chan)) + chan->flags |= IEEE80211_CHAN_PSC; + chan->max_antenna_gain = (int) MBI_TO_DBI(power_rule->max_antenna_gain); chan->max_reg_power = chan->max_power = (int) MBM_TO_DBM(power_rule->max_eirp); -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> To: Johannes Berg <johannes@sipsolutions.net>, ath11k@lists.infradead.org Cc: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>, linux-wireless@vger.kernel.org Subject: [PATCH v2 1/9] cfg80211: Add new channel flag to identify 6GHz PSC channel Date: Fri, 22 May 2020 00:24:23 -0700 [thread overview] Message-ID: <20200522072431.27601-2-pradeepc@codeaurora.org> (raw) In-Reply-To: <20200522072431.27601-1-pradeepc@codeaurora.org> 6GHz channels are divided into preferred scanning channels(PSC) and non-PSC channels. One in every four 20MHz channels is a PSC. Spec mandates to use only PSC channels as primary channels for setting up BSS on 6GHz only AP. The set of 20 MHz channels in the 6 GHz band, with channel center frequency, ch_a = Channel starting frequency – 55 + 80 × n (MHz) are referred to as preferred scanning channels (PSCs) where, n = 1, …, 15 as per IEEE P802.11ax/D6.0. This flag also will be used when making scanning decision on 6GHz channels. Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org> --- include/net/cfg80211.h | 2 ++ net/wireless/reg.c | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index fd6a973b1249..ca3e9df7adfe 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -96,6 +96,7 @@ struct wiphy; * @IEEE80211_CHAN_NO_10MHZ: 10 MHz bandwidth is not permitted * on this channel. * @IEEE80211_CHAN_NO_HE: HE operation is not permitted on this channel. + * @IEEE80211_CHAN_PSC: 6GHz Channel is Preferred Scanning Channel(PSC) * */ enum ieee80211_channel_flags { @@ -113,6 +114,7 @@ enum ieee80211_channel_flags { IEEE80211_CHAN_NO_20MHZ = 1<<11, IEEE80211_CHAN_NO_10MHZ = 1<<12, IEEE80211_CHAN_NO_HE = 1<<13, + IEEE80211_CHAN_PSC = 1<<14, }; #define IEEE80211_CHAN_NO_HT40 \ diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 0d74a31ef0ab..4ebaa57e60e4 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -2023,6 +2023,21 @@ static bool is_ht40_allowed(struct ieee80211_channel *chan) return true; } +static bool reg_is_6ghz_channel_psc(struct ieee80211_channel *chan) +{ + /* + * From IEEE P802.11ax/D6.0: The set of 20 MHz channels in the 6 GHz + * band, with channel center frequency, ch_a = Channel starting + * frequency – 55 + 80 × n (MHz) are referred to as preferred scanning + * channels (PSCs). Channel starting frequency is defined in 27.3.23.2 + * (Channel allocation in the 6 GHz band), and n = 1, …, 15. + */ + if (!(((chan->center_freq - 5940 + 55) >> 4) % 5)) + return true; + + return false; +} + static void reg_process_ht_flags_channel(struct wiphy *wiphy, struct ieee80211_channel *channel) { @@ -2305,6 +2320,10 @@ static void handle_channel_custom(struct wiphy *wiphy, else chan->flags |= map_regdom_flags(reg_rule->flags) | bw_flags; + if (chan->band == NL80211_BAND_6GHZ && + reg_is_6ghz_channel_psc(chan)) + chan->flags |= IEEE80211_CHAN_PSC; + chan->max_antenna_gain = (int) MBI_TO_DBI(power_rule->max_antenna_gain); chan->max_reg_power = chan->max_power = (int) MBM_TO_DBM(power_rule->max_eirp); -- 2.17.1 _______________________________________________ ath11k mailing list ath11k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath11k
next prev parent reply other threads:[~2020-05-22 7:24 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-05-22 7:24 [PATCH v2 0/9] add 6GHz radio support in ath11k driver Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu [this message] 2020-05-22 7:24 ` [PATCH v2 1/9] cfg80211: Add new channel flag to identify 6GHz PSC channel Pradeep Kumar Chitrapu 2020-05-22 20:38 ` Johannes Berg 2020-05-22 20:38 ` Johannes Berg 2020-05-22 23:46 ` Pradeep Kumar Chitrapu 2020-05-22 23:46 ` Pradeep Kumar Chitrapu 2020-05-25 8:57 ` Johannes Berg 2020-05-25 8:57 ` Johannes Berg 2020-05-22 7:24 ` [PATCH v2 2/9] ath11k: add 6G frequency list supported by driver Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 3/9] ath11k: add support for 6GHz radio in driver Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 4/9] ath11k: Use freq instead of channel number in rx path Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 5/9] ath11k: extend peer_assoc_cmd for 6GHz band Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 6/9] ath11k: set psc channel flag when sending channel list to firmware Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 7/9] ath11k: Add 6G scan dwell time parameter in scan request command Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 8/9] ath11k: Send multiple scan_chan_list messages if required Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu 2020-05-22 7:24 ` [PATCH v2 9/9] ath11k: Add support for 6g scan hint Pradeep Kumar Chitrapu 2020-05-22 7:24 ` Pradeep Kumar Chitrapu
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200522072431.27601-2-pradeepc@codeaurora.org \ --to=pradeepc@codeaurora.org \ --cc=ath11k@lists.infradead.org \ --cc=johannes@sipsolutions.net \ --cc=linux-wireless@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.