wifi: cfg80211: save power spectral density(psd) of regulatory rule
6 GHz regulatory domains introduces Power Spectral Density (PSD). The PSD value of the regulatory rule should be taken into effect for the ieee80211_channels falling into that particular regulatory rule. Save the values in the channel which has PSD value and add nl80211 attributes accordingly to handle it. Co-developed-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com> Signed-off-by: Wen Gong <quic_wgong@quicinc.com> Link: https://lore.kernel.org/r/20230914082026.3709-1-quic_wgong@quicinc.com [use hole in chan flags, reword docs] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
9c386911b1
commit
ddd7f45c89
5 changed files with 41 additions and 1 deletions
|
|
@ -4215,6 +4215,8 @@ enum nl80211_wmm_rule {
|
|||
* as the primary or any of the secondary channels isn't possible
|
||||
* @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel
|
||||
* in current regulatory domain.
|
||||
* @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that
|
||||
* is allowed on this channel in current regulatory domain.
|
||||
* @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
|
||||
* currently defined
|
||||
* @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
|
||||
|
|
@ -4253,6 +4255,7 @@ enum nl80211_frequency_attr {
|
|||
NL80211_FREQUENCY_ATTR_16MHZ,
|
||||
NL80211_FREQUENCY_ATTR_NO_320MHZ,
|
||||
NL80211_FREQUENCY_ATTR_NO_EHT,
|
||||
NL80211_FREQUENCY_ATTR_PSD,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
|
||||
|
|
@ -4353,6 +4356,8 @@ enum nl80211_reg_type {
|
|||
* a given frequency range. The value is in mBm (100 * dBm).
|
||||
* @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds.
|
||||
* If not present or 0 default CAC time will be used.
|
||||
* @NL80211_ATTR_POWER_RULE_PSD: power spectral density (in dBm).
|
||||
* This could be negative.
|
||||
* @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number
|
||||
* currently defined
|
||||
* @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use
|
||||
|
|
@ -4370,6 +4375,8 @@ enum nl80211_reg_rule_attr {
|
|||
|
||||
NL80211_ATTR_DFS_CAC_TIME,
|
||||
|
||||
NL80211_ATTR_POWER_RULE_PSD,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_REG_RULE_ATTR_AFTER_LAST,
|
||||
NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
|
||||
|
|
@ -4453,6 +4460,7 @@ enum nl80211_sched_scan_match_attr {
|
|||
* @NL80211_RRF_NO_HE: HE operation not allowed
|
||||
* @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed
|
||||
* @NL80211_RRF_NO_EHT: EHT operation not allowed
|
||||
* @NL80211_RRF_PSD: Ruleset has power spectral density value
|
||||
*/
|
||||
enum nl80211_reg_rule_flags {
|
||||
NL80211_RRF_NO_OFDM = 1<<0,
|
||||
|
|
@ -4473,6 +4481,7 @@ enum nl80211_reg_rule_flags {
|
|||
NL80211_RRF_NO_HE = 1<<17,
|
||||
NL80211_RRF_NO_320MHZ = 1<<18,
|
||||
NL80211_RRF_NO_EHT = 1<<19,
|
||||
NL80211_RRF_PSD = 1<<20,
|
||||
};
|
||||
|
||||
#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue