linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list
@ 2021-07-22 10:20 Jouni Malinen
  2021-07-22 10:20 ` [PATCH 2/3] ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status Jouni Malinen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Jouni Malinen @ 2021-07-22 10:20 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless, Pradeep Kumar Chitrapu, Jouni Malinen

From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>

Add support for the 6 GHz channel 2 with center frequency 5935 MHz and
operating class 136 per IEEE Std 802.11ax-2021, Table E-4.

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/core.h | 4 ++--
 drivers/net/wireless/ath/ath11k/mac.c  | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h
index 79c52d28a3a2..d58ca38d78c7 100644
--- a/drivers/net/wireless/ath/ath11k/core.h
+++ b/drivers/net/wireless/ath/ath11k/core.h
@@ -381,9 +381,9 @@ struct ath11k_sta {
 };
 
 #define ATH11K_MIN_5G_FREQ 4150
-#define ATH11K_MIN_6G_FREQ 5945
+#define ATH11K_MIN_6G_FREQ 5925
 #define ATH11K_MAX_6G_FREQ 7115
-#define ATH11K_NUM_CHANS 100
+#define ATH11K_NUM_CHANS 101
 #define ATH11K_MAX_5G_CHAN 173
 
 enum ath11k_state {
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 10a838563683..56120407bfdd 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -150,6 +150,9 @@ static const struct ieee80211_channel ath11k_6ghz_channels[] = {
 	CHAN6G(225, 7075, 0),
 	CHAN6G(229, 7095, 0),
 	CHAN6G(233, 7115, 0),
+
+	/* new addition in IEEE Std 802.11ax-2021 */
+	CHAN6G(2, 5935, 0),
 };
 
 static struct ieee80211_rate ath11k_legacy_rates[] = {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/3] ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status
  2021-07-22 10:20 [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Jouni Malinen
@ 2021-07-22 10:20 ` Jouni Malinen
  2021-07-22 10:20 ` [PATCH 3/3] ath11k: fix survey dump collection in 6 GHz Jouni Malinen
  2021-09-28 13:17 ` [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Jouni Malinen @ 2021-07-22 10:20 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless, Pradeep Kumar Chitrapu, Jouni Malinen

From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>

Frequency in rx status is being filled incorrectly in the 6 GHz band as
channel number received is invalid in this case which is causing packet
drops. So fix that.

Fixes: 5dcf42f8b79d ("ath11k: Use freq instead of channel number in rx path")
Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/dp_rx.c |  9 ++++++---
 drivers/net/wireless/ath/ath11k/wmi.c   | 10 +++++++---
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c
index 9d9af6d65afd..90da56316e7e 100644
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -2393,8 +2393,10 @@ static void ath11k_dp_rx_h_ppdu(struct ath11k *ar, struct hal_rx_desc *rx_desc,
 	channel_num = meta_data;
 	center_freq = meta_data >> 16;
 
-	if (center_freq >= 5935 && center_freq <= 7105) {
+	if (center_freq >= ATH11K_MIN_6G_FREQ &&
+	    center_freq <= ATH11K_MAX_6G_FREQ) {
 		rx_status->band = NL80211_BAND_6GHZ;
+		rx_status->freq = center_freq;
 	} else if (channel_num >= 1 && channel_num <= 14) {
 		rx_status->band = NL80211_BAND_2GHZ;
 	} else if (channel_num >= 36 && channel_num <= 173) {
@@ -2412,8 +2414,9 @@ static void ath11k_dp_rx_h_ppdu(struct ath11k *ar, struct hal_rx_desc *rx_desc,
 				rx_desc, sizeof(struct hal_rx_desc));
 	}
 
-	rx_status->freq = ieee80211_channel_to_frequency(channel_num,
-							 rx_status->band);
+	if (rx_status->band != NL80211_BAND_6GHZ)
+		rx_status->freq = ieee80211_channel_to_frequency(channel_num,
+								 rx_status->band);
 
 	ath11k_dp_rx_h_rate(ar, rx_desc, rx_status);
 }
diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index 5e196829ecf3..e7429d17030b 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -6184,8 +6184,10 @@ static void ath11k_mgmt_rx_event(struct ath11k_base *ab, struct sk_buff *skb)
 	if (rx_ev.status & WMI_RX_STATUS_ERR_MIC)
 		status->flag |= RX_FLAG_MMIC_ERROR;
 
-	if (rx_ev.chan_freq >= ATH11K_MIN_6G_FREQ) {
+	if (rx_ev.chan_freq >= ATH11K_MIN_6G_FREQ &&
+	    rx_ev.chan_freq <= ATH11K_MAX_6G_FREQ) {
 		status->band = NL80211_BAND_6GHZ;
+		status->freq = rx_ev.chan_freq;
 	} else if (rx_ev.channel >= 1 && rx_ev.channel <= 14) {
 		status->band = NL80211_BAND_2GHZ;
 	} else if (rx_ev.channel >= 36 && rx_ev.channel <= ATH11K_MAX_5G_CHAN) {
@@ -6206,8 +6208,10 @@ static void ath11k_mgmt_rx_event(struct ath11k_base *ab, struct sk_buff *skb)
 
 	sband = &ar->mac.sbands[status->band];
 
-	status->freq = ieee80211_channel_to_frequency(rx_ev.channel,
-						      status->band);
+	if (status->band != NL80211_BAND_6GHZ)
+		status->freq = ieee80211_channel_to_frequency(rx_ev.channel,
+							      status->band);
+
 	status->signal = rx_ev.snr + ATH11K_DEFAULT_NOISE_FLOOR;
 	status->rate_idx = ath11k_mac_bitrate_to_idx(sband, rx_ev.rate / 100);
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 3/3] ath11k: fix survey dump collection in 6 GHz
  2021-07-22 10:20 [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Jouni Malinen
  2021-07-22 10:20 ` [PATCH 2/3] ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status Jouni Malinen
@ 2021-07-22 10:20 ` Jouni Malinen
  2021-09-28 13:17 ` [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Jouni Malinen @ 2021-07-22 10:20 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, linux-wireless, Pradeep Kumar Chitrapu, Jouni Malinen

From: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>

When ath11k receives survey request, choose the 6 GHz band when enabled.
Without this, survey request does not include any 6 GHz band results,
thereby causing auto channel selection to fail.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1-01386-QCAHKSWPL_SILICONZ-1

Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
 drivers/net/wireless/ath/ath11k/mac.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 56120407bfdd..133ecb351365 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -7073,7 +7073,13 @@ static int ath11k_mac_op_get_survey(struct ieee80211_hw *hw, int idx,
 
 	if (!sband)
 		sband = hw->wiphy->bands[NL80211_BAND_5GHZ];
+	if (sband && idx >= sband->n_channels) {
+		idx -= sband->n_channels;
+		sband = NULL;
+	}
 
+	if (!sband)
+		sband = hw->wiphy->bands[NL80211_BAND_6GHZ];
 	if (!sband || idx >= sband->n_channels) {
 		ret = -ENOENT;
 		goto exit;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list
  2021-07-22 10:20 [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Jouni Malinen
  2021-07-22 10:20 ` [PATCH 2/3] ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status Jouni Malinen
  2021-07-22 10:20 ` [PATCH 3/3] ath11k: fix survey dump collection in 6 GHz Jouni Malinen
@ 2021-09-28 13:17 ` Kalle Valo
  2 siblings, 0 replies; 4+ messages in thread
From: Kalle Valo @ 2021-09-28 13:17 UTC (permalink / raw)
  To: Jouni Malinen
  Cc: ath11k, linux-wireless, Pradeep Kumar Chitrapu, Jouni Malinen

Jouni Malinen <jouni@codeaurora.org> wrote:

> Add support for the 6 GHz channel 2 with center frequency 5935 MHz and
> operating class 136 per IEEE Std 802.11ax-2021, Table E-4.
> 
> Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
> Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

3 patches applied to ath-next branch of ath.git, thanks.

4a9550f536cc ath11k: add channel 2 into 6 GHz channel list
9d6ae1f5cf73 ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status
b6b142f644d2 ath11k: fix survey dump collection in 6 GHz

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20210722102054.43419-1-jouni@codeaurora.org/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-09-28 13:17 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-22 10:20 [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Jouni Malinen
2021-07-22 10:20 ` [PATCH 2/3] ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status Jouni Malinen
2021-07-22 10:20 ` [PATCH 3/3] ath11k: fix survey dump collection in 6 GHz Jouni Malinen
2021-09-28 13:17 ` [PATCH 1/3] ath11k: add channel 2 into 6 GHz channel list Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).