diff options
author | Felix Fietkau <nbd@nbd.name> | 2019-03-03 17:10:00 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-05-04 10:21:12 +0300 |
commit | 63019ec07c615ebb1dc06f4a4bac758a180a0939 (patch) | |
tree | 8690506f2074663fdf7bf46812855dce1388d461 | |
parent | a495f4c9afbf4dc5da8955ff26035eaeee510e2d (diff) | |
download | linux-63019ec07c615ebb1dc06f4a4bac758a180a0939.tar.xz |
mt76: mt76x2: fix external LNA gain settings
[ Upstream commit 45a042e3026824a7e910db7a4dd38fef0540b902 ]
Devices with external LNA need different values for AGC registers 8 and 9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt76x2/phy.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c b/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c index c9634a774705..11167b7af668 100644 --- a/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c +++ b/drivers/net/wireless/mediatek/mt76/mt76x2/phy.c @@ -260,10 +260,15 @@ mt76x2_phy_set_gain_val(struct mt76x02_dev *dev) gain_val[0] = dev->cal.agc_gain_cur[0] - dev->cal.agc_gain_adjust; gain_val[1] = dev->cal.agc_gain_cur[1] - dev->cal.agc_gain_adjust; - if (dev->mt76.chandef.width >= NL80211_CHAN_WIDTH_40) + val = 0x1836 << 16; + if (!mt76x2_has_ext_lna(dev) && + dev->mt76.chandef.width >= NL80211_CHAN_WIDTH_40) val = 0x1e42 << 16; - else - val = 0x1836 << 16; + + if (mt76x2_has_ext_lna(dev) && + dev->mt76.chandef.chan->band == NL80211_BAND_2GHZ && + dev->mt76.chandef.width < NL80211_CHAN_WIDTH_40) + val = 0x0f36 << 16; val |= 0xf8; |