Message ID | 20180730153933.3771-1-sven.eckelmann@openmesh.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 34d5629d2ca89d847b7040762b87964c696c14da |
Delegated to: | Kalle Valo |
Headers | show |
Series | ath10k: Limit available channels via DT ieee80211-freq-limit | expand |
+ Rafał On 7/30/2018 5:39 PM, Sven Eckelmann wrote: > Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in > the RX and TX path. These filtered channel can in theory still be used by > the hardware but the signal strength is reduced so much that it makes no > sense. > > There is already a DT property to limit the available channels but ath10k > has to manually call this functionality to limit the currrently set wiphy > channels further. Wondering whether we can call it in wiphy_register() like below. Not sure why we did not explore that with the introduction of it by Rafał. Maybe he remembers. I did not find something in that direction in patchwork, but may have missed it. I know mt76 drops the band reference if it ends up with all channels disabled. Maybe that was the reason. Regards, Arend --- diff --git a/net/wireless/core.c b/net/wireless/core.c index a88551f..2e00cb1 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -742,6 +742,8 @@ int wiphy_register(struct wiphy *wiphy) if (res) return res; + wiphy_read_of_freq_limits(wiphy); + /* sanity check supported bands/channels */ for (band = 0; band < NUM_NL80211_BANDS; band++) { u16 types = 0;
+ Rafał On 7/30/2018 5:39 PM, Sven Eckelmann wrote: > Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in > the RX and TX path. These filtered channel can in theory still be used by > the hardware but the signal strength is reduced so much that it makes no > sense. > > There is already a DT property to limit the available channels but ath10k > has to manually call this functionality to limit the currrently set wiphy > channels further. Wondering whether we can call it in wiphy_register() like below. Not sure why we did not explore that with the introduction of it by Rafał. Maybe he remembers. I did not find something in that direction in patchwork, but may have missed it. I know mt76 drops the band reference if it ends up with all channels disabled. Maybe that was the reason. Regards, Arend --- diff --git a/net/wireless/core.c b/net/wireless/core.c index a88551f..2e00cb1 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -742,6 +742,8 @@ int wiphy_register(struct wiphy *wiphy) if (res) return res; + wiphy_read_of_freq_limits(wiphy); + /* sanity check supported bands/channels */ for (band = 0; band < NUM_NL80211_BANDS; band++) { u16 types = 0;
On 7/30/2018 8:54 PM, Arend van Spriel wrote: > + Rafał > > On 7/30/2018 5:39 PM, Sven Eckelmann wrote: >> Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special >> filters in >> the RX and TX path. These filtered channel can in theory still be used by >> the hardware but the signal strength is reduced so much that it makes no >> sense. >> >> There is already a DT property to limit the available channels but ath10k >> has to manually call this functionality to limit the currrently set wiphy >> channels further. > > Wondering whether we can call it in wiphy_register() like below. Not > sure why we did not explore that with the introduction of it by Rafał. > Maybe he remembers. I did not find something in that direction in > patchwork, but may have missed it. I know mt76 drops the band reference > if it ends up with all channels disabled. Maybe that was the reason. Sorry for sending this twice. My wifi connection was quirky. Gr. AvS
Arend van Spriel <arend.vanspriel@broadcom.com> writes: > + Rafał > > On 7/30/2018 5:39 PM, Sven Eckelmann wrote: >> Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in >> the RX and TX path. These filtered channel can in theory still be used by >> the hardware but the signal strength is reduced so much that it makes no >> sense. >> >> There is already a DT property to limit the available channels but ath10k >> has to manually call this functionality to limit the currrently set wiphy >> channels further. > > Wondering whether we can call it in wiphy_register() like below. Not > sure why we did not explore that with the introduction of it by Rafał. > Maybe he remembers. I did not find something in that direction in > patchwork, but may have missed it. I know mt76 drops the band > reference if it ends up with all channels disabled. Maybe that was the > reason. > > Regards, > Arend > --- > diff --git a/net/wireless/core.c b/net/wireless/core.c > index a88551f..2e00cb1 100644 > --- a/net/wireless/core.c > +++ b/net/wireless/core.c > @@ -742,6 +742,8 @@ int wiphy_register(struct wiphy *wiphy) > if (res) > return res; > > + wiphy_read_of_freq_limits(wiphy); > + > /* sanity check supported bands/channels */ > for (band = 0; band < NUM_NL80211_BANDS; band++) { > u16 types = 0; Nobody commented to this, so not sure what to do. Maybe it's best to apply Sven's patch now and we can later move the call to cfg80211 if needed. Sounds good?
Sven Eckelmann <sven.eckelmann@openmesh.com> wrote: > Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in > the RX and TX path. These filtered channel can in theory still be used by > the hardware but the signal strength is reduced so much that it makes no > sense. > > There is already a DT property to limit the available channels but ath10k > has to manually call this functionality to limit the currrently set wiphy > channels further. > > Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Patch applied to ath-next branch of ath.git, thanks. 34d5629d2ca8 ath10k: limit available channels via DT ieee80211-freq-limit
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 95243b48a179..8ed37ffd320f 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -18,6 +18,7 @@ #include "mac.h" +#include <net/cfg80211.h> #include <net/mac80211.h> #include <linux/etherdevice.h> #include <linux/acpi.h> @@ -8306,6 +8307,7 @@ int ath10k_mac_register(struct ath10k *ar) ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band; } + wiphy_read_of_freq_limits(ar->hw->wiphy); ath10k_mac_setup_ht_vht_cap(ar); ar->hw->wiphy->interface_modes =
Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in the RX and TX path. These filtered channel can in theory still be used by the hardware but the signal strength is reduced so much that it makes no sense. There is already a DT property to limit the available channels but ath10k has to manually call this functionality to limit the currrently set wiphy channels further. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> --- drivers/net/wireless/ath/ath10k/mac.c | 2 ++ 1 file changed, 2 insertions(+)