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.
Showing the changes to include/uapi (1 of 5 files). Show all
Unified · Split
| @@ -4215,6 +4215,8 @@ enum nl80211_wmm_rule { · 4214 unmodified lines | |||
| 4215 | * as the primary or any of the secondary channels isn't possible | 4215 | * as the primary or any of the secondary channels isn't possible |
| 4216 | * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel | 4216 | * @NL80211_FREQUENCY_ATTR_NO_EHT: EHT operation is not allowed on this channel |
| 4217 | * in current regulatory domain. | 4217 | * in current regulatory domain. |
| 4218 | * @NL80211_FREQUENCY_ATTR_PSD: Power spectral density (in dBm) that | ||
| 4219 | * is allowed on this channel in current regulatory domain. | ||
| 4218 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number | 4220 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4219 | * currently defined | 4221 | * currently defined |
| 4220 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use | 4222 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -4253,6 +4255,7 @@ enum nl80211_frequency_attr { · 32 unmodified lines | |||
| 4253 | NL80211_FREQUENCY_ATTR_16MHZ, | 4255 | NL80211_FREQUENCY_ATTR_16MHZ, |
| 4254 | NL80211_FREQUENCY_ATTR_NO_320MHZ, | 4256 | NL80211_FREQUENCY_ATTR_NO_320MHZ, |
| 4255 | NL80211_FREQUENCY_ATTR_NO_EHT, | 4257 | NL80211_FREQUENCY_ATTR_NO_EHT, |
| 4258 | NL80211_FREQUENCY_ATTR_PSD, | ||
| 4256 | 4259 | ||
| 4257 | /* keep last */ | 4260 | /* keep last */ |
| 4258 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, | 4261 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4353,6 +4356,8 @@ enum nl80211_reg_type { · 94 unmodified lines | |||
| 4353 | * a given frequency range. The value is in mBm (100 * dBm). | 4356 | * a given frequency range. The value is in mBm (100 * dBm). |
| 4354 | * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds. | 4357 | * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds. |
| 4355 | * If not present or 0 default CAC time will be used. | 4358 | * If not present or 0 default CAC time will be used. |
| 4359 | * @NL80211_ATTR_POWER_RULE_PSD: power spectral density (in dBm). | ||
| 4360 | * This could be negative. | ||
| 4356 | * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number | 4361 | * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number |
| 4357 | * currently defined | 4362 | * currently defined |
| 4358 | * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use | 4363 | * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use |
| @@ -4370,6 +4375,8 @@ enum nl80211_reg_rule_attr { · 11 unmodified lines | |||
| 4370 | 4375 | ||
| 4371 | NL80211_ATTR_DFS_CAC_TIME, | 4376 | NL80211_ATTR_DFS_CAC_TIME, |
| 4372 | 4377 | ||
| 4378 | NL80211_ATTR_POWER_RULE_PSD, | ||
| 4379 | |||
| 4373 | /* keep last */ | 4380 | /* keep last */ |
| 4374 | __NL80211_REG_RULE_ATTR_AFTER_LAST, | 4381 | __NL80211_REG_RULE_ATTR_AFTER_LAST, |
| 4375 | NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 | 4382 | NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1 |
| @@ -4453,6 +4460,7 @@ enum nl80211_sched_scan_match_attr { · 77 unmodified lines | |||
| 4453 | * @NL80211_RRF_NO_HE: HE operation not allowed | 4460 | * @NL80211_RRF_NO_HE: HE operation not allowed |
| 4454 | * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed | 4461 | * @NL80211_RRF_NO_320MHZ: 320MHz operation not allowed |
| 4455 | * @NL80211_RRF_NO_EHT: EHT operation not allowed | 4462 | * @NL80211_RRF_NO_EHT: EHT operation not allowed |
| 4463 | * @NL80211_RRF_PSD: Ruleset has power spectral density value | ||
| 4456 | */ | 4464 | */ |
| 4457 | enum nl80211_reg_rule_flags { | 4465 | enum nl80211_reg_rule_flags { |
| 4458 | NL80211_RRF_NO_OFDM = 1<<0, | 4466 | NL80211_RRF_NO_OFDM = 1<<0, |
| @@ -4473,6 +4481,7 @@ enum nl80211_reg_rule_flags { · 14 unmodified lines | |||
| 4473 | NL80211_RRF_NO_HE = 1<<17, | 4481 | NL80211_RRF_NO_HE = 1<<17, |
| 4474 | NL80211_RRF_NO_320MHZ = 1<<18, | 4482 | NL80211_RRF_NO_320MHZ = 1<<18, |
| 4475 | NL80211_RRF_NO_EHT = 1<<19, | 4483 | NL80211_RRF_NO_EHT = 1<<19, |
| 4484 | NL80211_RRF_PSD = 1<<20, | ||
| 4476 | }; | 4485 | }; |
| 4477 | 4486 | ||
| 4478 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR | 4487 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |