]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mt76: adjust AGC control register 26 based on gain for VHT80
authorFelix Fietkau <nbd@nbd.name>
Thu, 21 Jun 2018 09:17:56 +0000 (11:17 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 27 Jun 2018 16:14:54 +0000 (19:14 +0300)
Use values based on the vendor driver

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/mediatek/mt76/mt76x2_phy.c

index a510f116d52a836a5406d6295af2b35aa4f69191..a2c3f0e35f8630bc633467607868f7ca2e926820 100644 (file)
@@ -525,10 +525,17 @@ mt76x2_phy_update_channel_gain(struct mt76x2_dev *dev)
 
        dev->cal.low_gain = low_gain;
 
-       if (dev->mt76.chandef.width == NL80211_CHAN_WIDTH_80)
+       if (dev->mt76.chandef.width == NL80211_CHAN_WIDTH_80) {
                mt76_wr(dev, MT_BBP(RXO, 14), 0x00560211);
-       else
+               val = mt76_rr(dev, MT_BBP(AGC, 26)) & ~0xf;
+               if (low_gain == 2)
+                       val |= 0x3;
+               else
+                       val |= 0x5;
+               mt76_wr(dev, MT_BBP(AGC, 26), val);
+       } else {
                mt76_wr(dev, MT_BBP(RXO, 14), 0x00560423);
+       }
 
        if (low_gain == 2) {
                mt76_wr(dev, MT_BBP(RXO, 18), 0xf000a990);