lkml.org 
[lkml]   [2022]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.15 031/109] ath9k: fix QCA9561 PA bias level
    Date
    From: Thibaut VARÈNE <hacks+kernel@slashdirt.org>

    [ Upstream commit e999a5da28a0e0f7de242d841ef7d5e48f4646ae ]

    This patch fixes an invalid TX PA DC bias level on QCA9561, 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).

    This patch was suggested by Felix Fietkau, who noted[1]:
    "The value written to that register is wrong, because while the mask
    definition AR_CH0_TOP2_XPABIASLVL uses a different value for 9561, the
    shift definition AR_CH0_TOP2_XPABIASLVL_S is hardcoded to 12, which is
    wrong for 9561."

    In real life testing, without this patch the 2.4GHz throughput on
    Yuncore XD3200 is around 10Mbps sitting next to the AP, and closer to
    practical maximum with the patch applied.

    [1] https://lore.kernel.org/all/91c58969-c60e-2f41-00ac-737786d435ae@nbd.name

    Signed-off-by: Thibaut VARÈNE <hacks+kernel@slashdirt.org>
    Acked-by: Felix Fietkau <nbd@nbd.name>
    Acked-by: Toke Høiland-Jørgensen <toke@toke.dk>
    Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
    Link: https://lore.kernel.org/r/20220417145145.1847-1-hacks+kernel@slashdirt.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.h b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
    index a171dbb29fbb..ad949eb02f3d 100644
    --- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h
    +++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h
    @@ -720,7 +720,7 @@
    #define AR_CH0_TOP2 (AR_SREV_9300(ah) ? 0x1628c : \
    (AR_SREV_9462(ah) ? 0x16290 : 0x16284))
    #define AR_CH0_TOP2_XPABIASLVL (AR_SREV_9561(ah) ? 0x1e00 : 0xf000)
    -#define AR_CH0_TOP2_XPABIASLVL_S 12
    +#define AR_CH0_TOP2_XPABIASLVL_S (AR_SREV_9561(ah) ? 9 : 12)

    #define AR_CH0_XTAL (AR_SREV_9300(ah) ? 0x16294 : \
    ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x16298 : \
    --
    2.35.1
    \
     
     \ /
      Last update: 2022-05-30 16:10    [W:4.332 / U:0.188 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site