2020-05-26 22:50:21

by Pradeep Kumar Chitrapu

[permalink] [raw]
Subject: [PATCH v3 0/9] add 6GHz radio support in ath11k driver

This patch series adds 6GHz frequency listing in ath11k driver and mac80211
registration for the 6GHz band. Also, extends some of wmi command tlvs for
supporting 6GHz.

In cfg80211, a helper function is added for identifying Preferred Scanning
Channels (PSC) in 6GHz band.

changes in v3:
- cfg80211: remove PSC channel flag and instead add helper function.
- Address differences in 6GHZ frequencies between IEEE P802.11ax/D6.0
and IEEE P802.11ax/D6.1

changes in v2:
- Fixed ath11k_phymode to be set in 6GHZ band

Pradeep Kumar Chitrapu (9):
cfg80211: Add helper function to identify 6GHz PSC channel
ath11k: add 6G frequency list supported by driver
ath11k: add support for 6GHz radio in driver
ath11k: Use freq instead of channel number in rx path
ath11k: extend peer_assoc_cmd for 6GHz band
ath11k: set psc channel flag when sending channel list to firmware.
ath11k: Add 6G scan dwell time parameter in scan request command
ath11k: Send multiple scan_chan_list messages if required
ath11k: Add support for 6g scan hint

drivers/net/wireless/ath/ath11k/core.h | 6 +-
drivers/net/wireless/ath/ath11k/dp_rx.c | 6 +-
drivers/net/wireless/ath/ath11k/mac.c | 174 +++++++++++++--
drivers/net/wireless/ath/ath11k/reg.c | 4 +
drivers/net/wireless/ath/ath11k/wmi.c | 269 +++++++++++++++++-------
drivers/net/wireless/ath/ath11k/wmi.h | 40 +++-
include/net/cfg80211.h | 24 +++
7 files changed, 425 insertions(+), 98 deletions(-)

--
2.17.1


2020-05-26 22:50:50

by Pradeep Kumar Chitrapu

[permalink] [raw]
Subject: [PATCH v3 6/9] ath11k: set psc channel flag when sending channel list to firmware.

If 6 ghz channel is a Preferred Scanning Channel(PSC), mark
the channel flag accordingly when updating channel list to firmware.
This will be used when making scanning decision in 6GHz channels.

Signed-off-by: Pradeep Kumar Chitrapu <[email protected]>
---
v3:
- use helper function ieee80211_is_channel_psc() instead of
channel flag for identifying 6GHz PSC channels.

drivers/net/wireless/ath/ath11k/reg.c | 4 ++++
drivers/net/wireless/ath/ath11k/wmi.h | 3 ++-
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c
index 453aa9c06969..cb08c73fd215 100644
--- a/drivers/net/wireless/ath/ath11k/reg.c
+++ b/drivers/net/wireless/ath/ath11k/reg.c
@@ -161,6 +161,10 @@ int ath11k_reg_update_chan_list(struct ath11k *ar)
else
ch->phy_mode = MODE_11A;

+ if (channel->band == NL80211_BAND_6GHZ &&
+ ieee80211_is_channel_psc(channel))
+ ch->psc_channel = true;
+
ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
"mac channel [%d/%d] freq %d maxpower %d regpower %d antenna %d mode %d\n",
i, params->nallchans,
diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h
index fd82cff7537b..76c2da2c5db7 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.h
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
@@ -2520,7 +2520,8 @@ struct channel_param {
allow_ht:1,
allow_vht:1,
allow_he:1,
- set_agile:1;
+ set_agile:1,
+ psc_channel:1;
u32 phy_mode;
u32 cfreq1;
u32 cfreq2;
--
2.17.1