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