All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ath11k: Disable SU support in meshpoint mode
@ 2019-09-04  9:15 John Crispin
  2019-09-04  9:21 ` Sven Eckelmann
  0 siblings, 1 reply; 2+ messages in thread
From: John Crispin @ 2019-09-04  9:15 UTC (permalink / raw)
  To: Kalle Valo; +Cc: ath11k, Sven Eckelmann

From: Sven Eckelmann <seckelmann@datto.com>

The firmware WLAN.HK.2.1.0.1-00629-QCAHKSWPL_SILICONZ-1 often stops sending
data on 5GHz when SU support is advertised. A simple throughput benchmark
will end up at only a couple hundred kilobytes per second (when finishing
at all).

Disabling SU related flags works around this problem and allowed a maximum
throughput of ~450 MBit/s in a simple test setup with an HK01 over air.

Signed-off-by: Sven Eckelmann <seckelmann@datto.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 4d40c9635a4a..0869900d7e18 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -3365,19 +3365,20 @@ static int ath11k_mac_copy_he_cap(struct ath11k *ar,
 			he_cap_elem->phy_cap_info[3] &=
 				~(IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA |
 				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_MASK |
-				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK);
-			he_cap_elem->phy_cap_info[4] &=
-				~IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
-			he_cap_elem->phy_cap_info[5] &=
-				~IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
+				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK |
+			          IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER);
+			he_cap_elem->phy_cap_info[4] = 0;
+			he_cap_elem->phy_cap_info[5] = 0;
 			he_cap_elem->phy_cap_info[6] &=
 				~(IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
+				  IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
 				  IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
 				  IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB |
 				  IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO);
 			he_cap_elem->phy_cap_info[7] &=
 				~(IEEE80211_HE_PHY_CAP7_SRP_BASED_SR |
 				  IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
+				  IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI |
 				  IEEE80211_HE_PHY_CAP7_STBC_TX_ABOVE_80MHZ |
 				  IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ);
 			he_cap_elem->phy_cap_info[8] &=
-- 
2.20.1


_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

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

* Re: [PATCH] ath11k: Disable SU support in meshpoint mode
  2019-09-04  9:15 [PATCH] ath11k: Disable SU support in meshpoint mode John Crispin
@ 2019-09-04  9:21 ` Sven Eckelmann
  0 siblings, 0 replies; 2+ messages in thread
From: Sven Eckelmann @ 2019-09-04  9:21 UTC (permalink / raw)
  To: ath11k; +Cc: Kalle Valo, John Crispin


[-- Attachment #1.1: Type: text/plain, Size: 2349 bytes --]

On Wednesday, 4 September 2019 11:15:27 CEST John Crispin wrote:
> From: Sven Eckelmann <seckelmann@datto.com>
> 
> The firmware WLAN.HK.2.1.0.1-00629-QCAHKSWPL_SILICONZ-1 often stops sending
> data on 5GHz when SU support is advertised. A simple throughput benchmark
> will end up at only a couple hundred kilobytes per second (when finishing
> at all).
> 
> Disabling SU related flags works around this problem and allowed a maximum
> throughput of ~450 MBit/s in a simple test setup with an HK01 over air.
> 
> Signed-off-by: Sven Eckelmann <seckelmann@datto.com>
> ---
>  drivers/net/wireless/ath/ath11k/mac.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)

This is the incorrect patch. The correct version can be found at 
https://patchwork.kernel.org/project/ath11k/list/?series=159083

> diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
> index 4d40c9635a4a..0869900d7e18 100644
> --- a/drivers/net/wireless/ath/ath11k/mac.c
> +++ b/drivers/net/wireless/ath/ath11k/mac.c
> @@ -3365,19 +3365,20 @@ static int ath11k_mac_copy_he_cap(struct ath11k *ar,
>  			he_cap_elem->phy_cap_info[3] &=
>  				~(IEEE80211_HE_PHY_CAP3_RX_HE_MU_PPDU_FROM_NON_AP_STA |
>  				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_TX_MASK |
> -				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK);
> -			he_cap_elem->phy_cap_info[4] &=
> -				~IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
> -			he_cap_elem->phy_cap_info[5] &=
> -				~IEEE80211_HE_PHY_CAP5_NG16_MU_FEEDBACK;
> +				  IEEE80211_HE_PHY_CAP3_DCM_MAX_CONST_RX_MASK |
> +			          IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER);
> +			he_cap_elem->phy_cap_info[4] = 0;
> +			he_cap_elem->phy_cap_info[5] = 0;
>  			he_cap_elem->phy_cap_info[6] &=
>  				~(IEEE80211_HE_PHY_CAP6_CODEBOOK_SIZE_75_MU |
> +				  IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMER_FB |
>  				  IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMER_FB |
>  				  IEEE80211_HE_PHY_CAP6_TRIG_CQI_FB |
>  				  IEEE80211_HE_PHY_CAP6_PARTIAL_BANDWIDTH_DL_MUMIMO);
>  			he_cap_elem->phy_cap_info[7] &=
>  				~(IEEE80211_HE_PHY_CAP7_SRP_BASED_SR |
>  				  IEEE80211_HE_PHY_CAP7_POWER_BOOST_FACTOR_AR |
> +				  IEEE80211_HE_PHY_CAP7_HE_SU_MU_PPDU_4XLTF_AND_08_US_GI |
>  				  IEEE80211_HE_PHY_CAP7_STBC_TX_ABOVE_80MHZ |
>  				  IEEE80211_HE_PHY_CAP7_STBC_RX_ABOVE_80MHZ);
>  			he_cap_elem->phy_cap_info[8] &=
> 


[-- Attachment #1.2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 146 bytes --]

_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

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

end of thread, other threads:[~2019-09-04  9:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-09-04  9:15 [PATCH] ath11k: Disable SU support in meshpoint mode John Crispin
2019-09-04  9:21 ` Sven Eckelmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.