Notify userland the hw supports background radar/CAC detection.
Tested-by: Owen Peng <[email protected]>
Signed-off-by: Lorenzo Bianconi <[email protected]>
---
drivers/net/wireless/mediatek/mt76/mt7915/init.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/init.c b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
index 5c1643963506..91c7ce60f296 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
@@ -309,6 +309,7 @@ static void
mt7915_init_wiphy(struct ieee80211_hw *hw)
{
struct mt7915_phy *phy = mt7915_hw_phy(hw);
+ struct mt76_dev *mdev = &phy->dev->mt76;
struct wiphy *wiphy = hw->wiphy;
struct mt7915_dev *dev = phy->dev;
@@ -337,6 +338,12 @@ mt7915_init_wiphy(struct ieee80211_hw *hw)
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_VHT);
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_HE);
+ if (!mdev->dev->of_node ||
+ !of_property_read_bool(mdev->dev->of_node,
+ "mediatek,disable-radar-background"))
+ wiphy_ext_feature_set(wiphy,
+ NL80211_EXT_FEATURE_RADAR_BACKGROUND);
+
ieee80211_hw_set(hw, HAS_RATE_CONTROL);
ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
--
2.34.1
On 1/12/22 6:13 AM, Lorenzo Bianconi wrote:
> Notify userland the hw supports background radar/CAC detection.
So, what about someone like me using mtk7915 4x4 radio from asia-rf? It
has no extra RF chains afaik, and it is certainly broken when
trying to use DFS channels on my system.
Maybe you need a positive check instead of negative check before
enabling this feature?
Thanks,
Ben
>
> Tested-by: Owen Peng <[email protected]>
> Signed-off-by: Lorenzo Bianconi <[email protected]>
> ---
> drivers/net/wireless/mediatek/mt76/mt7915/init.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/init.c b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> index 5c1643963506..91c7ce60f296 100644
> --- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> +++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> @@ -309,6 +309,7 @@ static void
> mt7915_init_wiphy(struct ieee80211_hw *hw)
> {
> struct mt7915_phy *phy = mt7915_hw_phy(hw);
> + struct mt76_dev *mdev = &phy->dev->mt76;
> struct wiphy *wiphy = hw->wiphy;
> struct mt7915_dev *dev = phy->dev;
>
> @@ -337,6 +338,12 @@ mt7915_init_wiphy(struct ieee80211_hw *hw)
> wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_VHT);
> wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_HE);
>
> + if (!mdev->dev->of_node ||
> + !of_property_read_bool(mdev->dev->of_node,
> + "mediatek,disable-radar-background"))
> + wiphy_ext_feature_set(wiphy,
> + NL80211_EXT_FEATURE_RADAR_BACKGROUND);
> +
> ieee80211_hw_set(hw, HAS_RATE_CONTROL);
> ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
> ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
>
--
Ben Greear <[email protected]>
Candela Technologies Inc http://www.candelatech.com
> On 1/12/22 6:13 AM, Lorenzo Bianconi wrote:
> > Notify userland the hw supports background radar/CAC detection.
>
> So, what about someone like me using mtk7915 4x4 radio from asia-rf? It
> has no extra RF chains afaik, and it is certainly broken when
> trying to use DFS channels on my system.
according to my understanding asia-rf card can be considered an outlier from
this point of view (mt7915 regular card should support a dedicated radar chain).
AFAIU there is no way to autodetect this feature (@Ryder correct?), so we could
add a module parameter (similar to dts one) to disable this feature. What do
you think?
Regards,
Lorenzo
>
> Maybe you need a positive check instead of negative check before
> enabling this feature?
>
> Thanks,
> Ben
>
> >
> > Tested-by: Owen Peng <[email protected]>
> > Signed-off-by: Lorenzo Bianconi <[email protected]>
> > ---
> > drivers/net/wireless/mediatek/mt76/mt7915/init.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/init.c b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> > index 5c1643963506..91c7ce60f296 100644
> > --- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> > +++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
> > @@ -309,6 +309,7 @@ static void
> > mt7915_init_wiphy(struct ieee80211_hw *hw)
> > {
> > struct mt7915_phy *phy = mt7915_hw_phy(hw);
> > + struct mt76_dev *mdev = &phy->dev->mt76;
> > struct wiphy *wiphy = hw->wiphy;
> > struct mt7915_dev *dev = phy->dev;
> > @@ -337,6 +338,12 @@ mt7915_init_wiphy(struct ieee80211_hw *hw)
> > wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_VHT);
> > wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_BEACON_RATE_HE);
> > + if (!mdev->dev->of_node ||
> > + !of_property_read_bool(mdev->dev->of_node,
> > + "mediatek,disable-radar-background"))
> > + wiphy_ext_feature_set(wiphy,
> > + NL80211_EXT_FEATURE_RADAR_BACKGROUND);
> > +
> > ieee80211_hw_set(hw, HAS_RATE_CONTROL);
> > ieee80211_hw_set(hw, SUPPORTS_TX_ENCAP_OFFLOAD);
> > ieee80211_hw_set(hw, SUPPORTS_RX_DECAP_OFFLOAD);
> >
>
>
> --
> Ben Greear <[email protected]>
> Candela Technologies Inc http://www.candelatech.com
>