* [PATCH 0/3] ath11k: enable support of 6G band for WCN6855
@ 2021-08-04 18:12 Jouni Malinen
2021-08-04 18:12 ` [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G " Jouni Malinen
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jouni Malinen @ 2021-08-04 18:12 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath11k, linux-wireless, Wen Gong
From: Wen Gong <wgong@codeaurora.org>
This depends on the following patches:
Pradeep Kumar Chitrapu:
ath11k: add channel 2 into 6 GHz channel list
ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status
Wen Gong (3):
ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855
ath11k: enable 6G channels for WCN6855
ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855
drivers/net/wireless/ath/ath11k/mac.c | 29 +++++++++++++++++++----------
drivers/net/wireless/ath/ath11k/wmi.c | 22 +++++++++++-----------
2 files changed, 30 insertions(+), 21 deletions(-)
--
2.31.1
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855
2021-08-04 18:12 [PATCH 0/3] ath11k: enable support of 6G band for WCN6855 Jouni Malinen
@ 2021-08-04 18:12 ` Jouni Malinen
2021-09-28 13:22 ` Kalle Valo
2021-08-04 18:12 ` [PATCH 2/3] ath11k: enable 6G channels " Jouni Malinen
2021-08-04 18:12 ` [PATCH 3/3] ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP " Jouni Malinen
2 siblings, 1 reply; 5+ messages in thread
From: Jouni Malinen @ 2021-08-04 18:12 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath11k, linux-wireless, Wen Gong, Jouni Malinen
From: Wen Gong <wgong@codeaurora.org>
WCN6855 uses single_pdev_only, so it supports both the 5G and 6G bands
in the same ath11k/pdev and it needs to enable ht_cap/vht_cap for the 5G
band, otherwise it will downgrade to non-HT mode for the 5G band. Some
chips like QCN9074 only support the 6G band, not the 5G band, and use
the flag ar->supports_6ghz which is true to discard ht_cap/vht_cap.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
drivers/net/wireless/ath/ath11k/mac.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 133ecb351365..c83a968fc7ba 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -4491,7 +4491,9 @@ static void ath11k_mac_setup_ht_vht_cap(struct ath11k *ar,
rate_cap_rx_chainmask);
}
- if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP && !ar->supports_6ghz) {
+ if (cap->supported_bands & WMI_HOST_WLAN_5G_CAP &&
+ (ar->ab->hw_params.single_pdev_only ||
+ !ar->supports_6ghz)) {
band = &ar->mac.sbands[NL80211_BAND_5GHZ];
ht_cap = cap->band[NL80211_BAND_5GHZ].ht_cap_info;
if (ht_cap_info)
--
2.25.1
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] ath11k: enable 6G channels for WCN6855
2021-08-04 18:12 [PATCH 0/3] ath11k: enable support of 6G band for WCN6855 Jouni Malinen
2021-08-04 18:12 ` [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G " Jouni Malinen
@ 2021-08-04 18:12 ` Jouni Malinen
2021-08-04 18:12 ` [PATCH 3/3] ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP " Jouni Malinen
2 siblings, 0 replies; 5+ messages in thread
From: Jouni Malinen @ 2021-08-04 18:12 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath11k, linux-wireless, Wen Gong, Jouni Malinen
From: Wen Gong <wgong@codeaurora.org>
For some chips such as WCN6855, single_pdev_only is set in struct
ath11k_hw_params which means ath11k calls ieee80211_register_hw() only
once and create only one device interface, and that device interface
supports all 2G/5G/6G channels.
ath11k_mac_setup_channels_rates() sets up the channels and it is called
for each device interface. It is called only once for single_pdev_only,
and then set up all channels for 2G/5G/6G. The logic of
ath11k_mac_setup_channels_rates() is not suitable for single_pdev_only,
it leads to all 6G channels being disabled for the device interface
which is single_pdev_only such as WCN6855.
Add channel frequency checks for the 6G band and enable the 6G channels
properly based on what is supported by the chip.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
drivers/net/wireless/ath/ath11k/mac.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index c83a968fc7ba..04a8f82e3a17 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -7213,7 +7213,7 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
u32 supported_bands)
{
struct ieee80211_supported_band *band;
- struct ath11k_hal_reg_capabilities_ext *reg_cap;
+ struct ath11k_hal_reg_capabilities_ext *reg_cap, *temp_reg_cap;
void *channels;
u32 phy_id;
@@ -7223,6 +7223,7 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
ATH11K_NUM_CHANS);
reg_cap = &ar->ab->hal_reg_cap[ar->pdev_idx];
+ temp_reg_cap = reg_cap;
if (supported_bands & WMI_HOST_WLAN_2G_CAP) {
channels = kmemdup(ath11k_2ghz_channels,
@@ -7241,11 +7242,11 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
if (ar->ab->hw_params.single_pdev_only) {
phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_2G_CAP);
- reg_cap = &ar->ab->hal_reg_cap[phy_id];
+ temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
}
ath11k_mac_update_ch_list(ar, band,
- reg_cap->low_2ghz_chan,
- reg_cap->high_2ghz_chan);
+ temp_reg_cap->low_2ghz_chan,
+ temp_reg_cap->high_2ghz_chan);
}
if (supported_bands & WMI_HOST_WLAN_5G_CAP) {
@@ -7265,9 +7266,15 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
band->n_bitrates = ath11k_a_rates_size;
band->bitrates = ath11k_a_rates;
ar->hw->wiphy->bands[NL80211_BAND_6GHZ] = band;
+
+ if (ar->ab->hw_params.single_pdev_only) {
+ phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
+ temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
+ }
+
ath11k_mac_update_ch_list(ar, band,
- reg_cap->low_5ghz_chan,
- reg_cap->high_5ghz_chan);
+ temp_reg_cap->low_5ghz_chan,
+ temp_reg_cap->high_5ghz_chan);
}
if (reg_cap->low_5ghz_chan < ATH11K_MIN_6G_FREQ) {
@@ -7290,12 +7297,12 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
if (ar->ab->hw_params.single_pdev_only) {
phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
- reg_cap = &ar->ab->hal_reg_cap[phy_id];
+ temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
}
ath11k_mac_update_ch_list(ar, band,
- reg_cap->low_5ghz_chan,
- reg_cap->high_5ghz_chan);
+ temp_reg_cap->low_5ghz_chan,
+ temp_reg_cap->high_5ghz_chan);
}
}
--
2.25.1
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855
2021-08-04 18:12 [PATCH 0/3] ath11k: enable support of 6G band for WCN6855 Jouni Malinen
2021-08-04 18:12 ` [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G " Jouni Malinen
2021-08-04 18:12 ` [PATCH 2/3] ath11k: enable 6G channels " Jouni Malinen
@ 2021-08-04 18:12 ` Jouni Malinen
2 siblings, 0 replies; 5+ messages in thread
From: Jouni Malinen @ 2021-08-04 18:12 UTC (permalink / raw)
To: Kalle Valo; +Cc: ath11k, linux-wireless, Wen Gong, Jouni Malinen
From: Wen Gong <wgong@codeaurora.org>
WCN6855 has 2 phys, one is 2G, another is 5G/6G, so it should copy the
cap info of 6G band under the check of WMI_HOST_WLAN_5G_CAP as well as
for the 5G band. Some chips like QCN9074 only have 6G, not have 2G and
5G, and this 6G capability is also under WMI_HOST_WLAN_5G_CAP, so this
change will not disturb it.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
---
drivers/net/wireless/ath/ath11k/wmi.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
index e7429d17030b..ec46e06aace9 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.c
+++ b/drivers/net/wireless/ath/ath11k/wmi.c
@@ -407,18 +407,18 @@ ath11k_pull_mac_phy_cap_svc_ready_ext(struct ath11k_pdev_wmi *wmi_handle,
sizeof(u32) * PSOC_HOST_MAX_PHY_SIZE);
memcpy(&cap_band->he_ppet, &mac_phy_caps->he_ppet5g,
sizeof(struct ath11k_ppe_threshold));
- }
- cap_band = &pdev_cap->band[NL80211_BAND_6GHZ];
- cap_band->max_bw_supported = mac_phy_caps->max_bw_supported_5g;
- cap_band->ht_cap_info = mac_phy_caps->ht_cap_info_5g;
- cap_band->he_cap_info[0] = mac_phy_caps->he_cap_info_5g;
- cap_band->he_cap_info[1] = mac_phy_caps->he_cap_info_5g_ext;
- cap_band->he_mcs = mac_phy_caps->he_supp_mcs_5g;
- memcpy(cap_band->he_cap_phy_info, &mac_phy_caps->he_cap_phy_info_5g,
- sizeof(u32) * PSOC_HOST_MAX_PHY_SIZE);
- memcpy(&cap_band->he_ppet, &mac_phy_caps->he_ppet5g,
- sizeof(struct ath11k_ppe_threshold));
+ cap_band = &pdev_cap->band[NL80211_BAND_6GHZ];
+ cap_band->max_bw_supported = mac_phy_caps->max_bw_supported_5g;
+ cap_band->ht_cap_info = mac_phy_caps->ht_cap_info_5g;
+ cap_band->he_cap_info[0] = mac_phy_caps->he_cap_info_5g;
+ cap_band->he_cap_info[1] = mac_phy_caps->he_cap_info_5g_ext;
+ cap_band->he_mcs = mac_phy_caps->he_supp_mcs_5g;
+ memcpy(cap_band->he_cap_phy_info, &mac_phy_caps->he_cap_phy_info_5g,
+ sizeof(u32) * PSOC_HOST_MAX_PHY_SIZE);
+ memcpy(&cap_band->he_ppet, &mac_phy_caps->he_ppet5g,
+ sizeof(struct ath11k_ppe_threshold));
+ }
return 0;
}
--
2.25.1
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855
2021-08-04 18:12 ` [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G " Jouni Malinen
@ 2021-09-28 13:22 ` Kalle Valo
0 siblings, 0 replies; 5+ messages in thread
From: Kalle Valo @ 2021-09-28 13:22 UTC (permalink / raw)
To: Jouni Malinen; +Cc: ath11k, linux-wireless, Wen Gong, Jouni Malinen
Jouni Malinen <jouni@codeaurora.org> wrote:
> WCN6855 uses single_pdev_only, so it supports both the 5G and 6G bands
> in the same ath11k/pdev and it needs to enable ht_cap/vht_cap for the 5G
> band, otherwise it will downgrade to non-HT mode for the 5G band. Some
> chips like QCN9074 only support the 6G band, not the 5G band, and use
> the flag ar->supports_6ghz which is true to discard ht_cap/vht_cap.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>
> Signed-off-by: Wen Gong <wgong@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.
54f40f552afd ath11k: re-enable ht_cap/vht_cap for 5G band for WCN6855
74bba5e5ba45 ath11k: enable 6G channels for WCN6855
0f17ae43823b ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP for WCN6855
--
https://patchwork.kernel.org/project/linux-wireless/patch/20210804181217.88751-2-jouni@codeaurora.org/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-09-28 13:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-04 18:12 [PATCH 0/3] ath11k: enable support of 6G band for WCN6855 Jouni Malinen
2021-08-04 18:12 ` [PATCH 1/3] ath11k: re-enable ht_cap/vht_cap for 5G " Jouni Malinen
2021-09-28 13:22 ` Kalle Valo
2021-08-04 18:12 ` [PATCH 2/3] ath11k: enable 6G channels " Jouni Malinen
2021-08-04 18:12 ` [PATCH 3/3] ath11k: copy cap info of 6G band under WMI_HOST_WLAN_5G_CAP " Jouni Malinen
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).