diff mbox series

[6/6] wifi: mac80211_hwsim: Add custom reg for DFS concurrent

Message ID 20231113112844.560597906f17.Ic285ca7a4728e77a4bea1394a6a52cf286fbea22@changeid
State New
Headers show
Series cfg80211/mac80211 patches from our internal tree 2023-11-13 | expand

Commit Message

Greenman, Gregory Nov. 13, 2023, 9:35 a.m. UTC
From: Andrei Otcheretianski <andrei.otcheretianski@intel.com>

Add custom regulatory that marks DFS channels as DFS_CONCURRENT.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
---
 drivers/net/wireless/virtual/mac80211_hwsim.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Comments

Johannes Berg Nov. 24, 2023, 7:17 p.m. UTC | #1
On Mon, 2023-11-13 at 11:35 +0200, gregory.greenman@intel.com wrote:
>  
> +static const struct ieee80211_regdomain hwsim_world_regdom_custom_04 = {
> +	.n_reg_rules = 6,
> +	.alpha2 =  "99",
> +	.reg_rules = {
> +		REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0),
> +		REG_RULE(2484 - 10, 2484 + 10, 40, 0, 20, 0),
> +		REG_RULE(5150 - 10, 5240 + 10, 80, 0, 30, 0),

Didn't you say that could be 160? But that'd need merging with the next
range or auto-bw.

> +	/* TODO: Add param */
> +	wiphy_ext_feature_set(hw->wiphy,
> +			      NL80211_EXT_FEATURE_DFS_CONCURRENT);

Hm, yes? :)

johannes
Andrei Otcheretianski Nov. 28, 2023, 8:39 a.m. UTC | #2
> > +static const struct ieee80211_regdomain
> hwsim_world_regdom_custom_04 = {
> > +	.n_reg_rules = 6,
> > +	.alpha2 =  "99",
> > +	.reg_rules = {
> > +		REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0),
> > +		REG_RULE(2484 - 10, 2484 + 10, 40, 0, 20, 0),
> > +		REG_RULE(5150 - 10, 5240 + 10, 80, 0, 30, 0),
> 
> Didn't you say that could be 160? But that'd need merging with the next
> range or auto-bw.

The entire range here is 80, so 160 doesn't make sense here.
I will add auto_bw here similar to what we have in world_regdom.
And also the second DFS range with 160.

> 
> > +	/* TODO: Add param */
> > +	wiphy_ext_feature_set(hw->wiphy,
> > +			      NL80211_EXT_FEATURE_DFS_CONCURRENT);
> 
> Hm, yes? :)

Actually, as ,mac80211_hwsim should be anyway started with custom regdom, I don't think now that an addition module param is still needed.
I will just remove the TODO here.

> 
> johannes
diff mbox series

Patch

diff --git a/drivers/net/wireless/virtual/mac80211_hwsim.c b/drivers/net/wireless/virtual/mac80211_hwsim.c
index c7b4414cc6c3..3816b0d335f0 100644
--- a/drivers/net/wireless/virtual/mac80211_hwsim.c
+++ b/drivers/net/wireless/virtual/mac80211_hwsim.c
@@ -190,10 +190,25 @@  static const struct ieee80211_regdomain hwsim_world_regdom_custom_03 = {
 	}
 };
 
+static const struct ieee80211_regdomain hwsim_world_regdom_custom_04 = {
+	.n_reg_rules = 6,
+	.alpha2 =  "99",
+	.reg_rules = {
+		REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0),
+		REG_RULE(2484 - 10, 2484 + 10, 40, 0, 20, 0),
+		REG_RULE(5150 - 10, 5240 + 10, 80, 0, 30, 0),
+		REG_RULE(5260 - 10, 5320 + 10, 80, 0, 30,
+			 NL80211_RRF_DFS_CONCURRENT | NL80211_RRF_DFS),
+		REG_RULE(5745 - 10, 5825 + 10, 80, 0, 30, 0),
+		REG_RULE(5855 - 10, 5925 + 10, 80, 0, 33, 0),
+	}
+};
+
 static const struct ieee80211_regdomain *hwsim_world_regdom_custom[] = {
 	&hwsim_world_regdom_custom_01,
 	&hwsim_world_regdom_custom_02,
 	&hwsim_world_regdom_custom_03,
+	&hwsim_world_regdom_custom_04,
 };
 
 struct hwsim_vif_priv {
@@ -5288,6 +5303,10 @@  static int mac80211_hwsim_new_radio(struct genl_info *info,
 		schedule_timeout_interruptible(1);
 	}
 
+	/* TODO: Add param */
+	wiphy_ext_feature_set(hw->wiphy,
+			      NL80211_EXT_FEATURE_DFS_CONCURRENT);
+
 	if (param->no_vif)
 		ieee80211_hw_set(hw, NO_AUTO_VIF);