]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: rt2x00: correct wrong BBP register in RxDCOC calibration
authorShiji Yang <yangshiji66@outlook.com>
Thu, 9 Nov 2023 04:38:51 +0000 (12:38 +0800)
committerKalle Valo <kvalo@kernel.org>
Tue, 14 Nov 2023 10:18:11 +0000 (12:18 +0200)
Refer to Mediatek vendor driver RxDCOC_Calibration() function, when
performing gainfreeze calibration, we should write register 140
instead of 141. This fix can reduce the total calibration time from
6 seconds to 1 second.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/TYAP286MB0315B13B89DF57B6B27BB854BCAFA@TYAP286MB0315.JPNP286.PROD.OUTLOOK.COM
drivers/net/wireless/ralink/rt2x00/rt2800lib.c

index 70cd35d9033878a418138c69dde78744394ee18e..84b218adbaaf1917043ae1b573b2b54fdb35dc01 100644 (file)
@@ -8711,7 +8711,7 @@ static void rt2800_rxdcoc_calibration(struct rt2x00_dev *rt2x00dev)
        rt2800_rfcsr_write_bank(rt2x00dev, 5, 4, saverfb5r4);
        rt2800_rfcsr_write_bank(rt2x00dev, 7, 4, saverfb7r4);
 
-       rt2800_bbp_write(rt2x00dev, 158, 141);
+       rt2800_bbp_write(rt2x00dev, 158, 140);
        bbpreg = rt2800_bbp_read(rt2x00dev, 159);
        bbpreg = bbpreg & (~0x40);
        rt2800_bbp_write(rt2x00dev, 159, bbpreg);