From aaa57924324c1ee77afa5e3effc95cc86158ddcc Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Sun, 22 Dec 2024 17:06:59 +0800 Subject: [PATCH 2/4] rt2x00: rework link tuner for MT7620 Correct the VGC gain value for MT7620 and only do gain calibration for supported devices. Signed-off-by: Shiji Yang --- drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c @@ -5561,6 +5561,9 @@ static void rt2800_config_txpower(struct void rt2800_gain_calibration(struct rt2x00_dev *rt2x00dev) { + if (rt2x00_rt(rt2x00dev, RT6352)) + return; + rt2800_config_txpower(rt2x00dev, rt2x00dev->hw->conf.chandef.chan, rt2x00dev->tx_power); } @@ -5773,9 +5776,10 @@ static u8 rt2800_get_default_vgc(struct rt2x00_rt(rt2x00dev, RT3593) || rt2x00_rt(rt2x00dev, RT5390) || rt2x00_rt(rt2x00dev, RT5392) || - rt2x00_rt(rt2x00dev, RT5592) || - rt2x00_rt(rt2x00dev, RT6352)) + rt2x00_rt(rt2x00dev, RT5592)) vgc = 0x1c + (2 * rt2x00dev->lna_gain); + else if(rt2x00_rt(rt2x00dev, RT6352)) + vgc = 0x04 + (2 * rt2x00dev->lna_gain); else vgc = 0x2e + rt2x00dev->lna_gain; } else { /* 5GHZ band */ @@ -5828,7 +5832,8 @@ void rt2800_link_tuner(struct rt2x00_dev { u8 vgc; - if (rt2x00_rt_rev(rt2x00dev, RT2860, REV_RT2860C)) + if (rt2x00_rt_rev(rt2x00dev, RT2860, REV_RT2860C) || + rt2x00_rt(rt2x00dev, RT6352)) return; /* When RSSI is better than a certain threshold, increase VGC