[openwrt/openwrt] mac80211 adjust QCA9561 PA bias

LEDE Commits lede-commits at lists.infradead.org
Thu Apr 14 22:11:46 PDT 2022


ynezz pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/f9ff282d17ec652d63fa2404e47bb0e15ed95b69

commit f9ff282d17ec652d63fa2404e47bb0e15ed95b69
Author: Thibaut VARÈNE <hacks at slashdirt.org>
AuthorDate: Thu Apr 14 12:39:04 2022 +0200

    mac80211 adjust QCA9561 PA bias
    
    ath9k is setting the TX PA DC bias level different on QCA9561 and QCA9565
    although they have the same radio IP-core, which results in a very low
    output power and very low throughput as devices are further away from
    the AP (compared to other 2.4GHz APs.)
    
    In real life testing, without this patch the 2.4GHz throughput on Yuncore
    XD3200 is around 10Mbps sitting close to the AP, and close to theoretical
    maximum with the patch applied.
    
    Signed-off-by: Clemens Hopfer <openwrt at wireloss.net>
    [edit commit message]
    Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
---
 .../ath9k/580-ath9k_ar9561_xpa_bias_level_top.patch    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_xpa_bias_level_top.patch b/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_xpa_bias_level_top.patch
new file mode 100644
index 0000000000..25db3ab5ba
--- /dev/null
+++ b/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_xpa_bias_level_top.patch
@@ -0,0 +1,18 @@
+--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
++++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+@@ -3604,10 +3604,13 @@ static void ar9003_hw_xpa_bias_level_app
+ {
+ 	int bias = ar9003_modal_header(ah, is2ghz)->xpaBiasLvl;
+ 
++	
++
+ 	if (AR_SREV_9485(ah) || AR_SREV_9330(ah) || AR_SREV_9340(ah) ||
+-	    AR_SREV_9531(ah) || AR_SREV_9561(ah))
++	    AR_SREV_9531(ah))
+ 		REG_RMW_FIELD(ah, AR_CH0_TOP2, AR_CH0_TOP2_XPABIASLVL, bias);
+-	else if (AR_SREV_9462(ah) || AR_SREV_9550(ah) || AR_SREV_9565(ah))
++	else if (AR_SREV_9462(ah) || AR_SREV_9550(ah) || AR_SREV_9565(ah) || 
++        AR_SREV_9561(ah))
+ 		REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);
+ 	else {
+ 		REG_RMW_FIELD(ah, AR_CH0_TOP, AR_CH0_TOP_XPABIASLVL, bias);




More information about the lede-commits mailing list