mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-23 11:04:44 +08:00
rt2800: fix LNA gain assignment for MT7620
The base value used for MT7620 differs from Rt5392 which resulted in quite bad RX signal quality. Fix this by using the correct base value as well as the LNA calibration values for HT20. Reported-by: Tom Psyborg <pozega.tomislav@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
0b16e0e98e
commit
225a644aae
@ -3806,11 +3806,25 @@ static void rt2800_config_channel(struct rt2x00_dev *rt2x00dev,
|
||||
}
|
||||
|
||||
if (rt2x00_rt(rt2x00dev, RT5592) || rt2x00_rt(rt2x00dev, RT6352)) {
|
||||
reg = 0x10;
|
||||
if (!conf_is_ht40(conf)) {
|
||||
if (rt2x00_rt(rt2x00dev, RT6352) &&
|
||||
rt2x00_has_cap_external_lna_bg(rt2x00dev)) {
|
||||
reg |= 0x5;
|
||||
} else {
|
||||
reg |= 0xa;
|
||||
}
|
||||
}
|
||||
rt2800_bbp_write(rt2x00dev, 195, 141);
|
||||
rt2800_bbp_write(rt2x00dev, 196, conf_is_ht40(conf) ? 0x10 : 0x1a);
|
||||
rt2800_bbp_write(rt2x00dev, 196, reg);
|
||||
|
||||
/* AGC init */
|
||||
reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2 * rt2x00dev->lna_gain;
|
||||
if (rt2x00_rt(rt2x00dev, RT6352))
|
||||
reg = 0x04;
|
||||
else
|
||||
reg = rf->channel <= 14 ? 0x1c : 0x24;
|
||||
|
||||
reg += 2 * rt2x00dev->lna_gain;
|
||||
rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg);
|
||||
|
||||
rt2800_iq_calibrate(rt2x00dev, rf->channel);
|
||||
|
Loading…
Reference in New Issue
Block a user