.. | .. |
---|
256 | 256 | struct ieee80211_channel *chan = dev->mphy.chandef.chan; |
---|
257 | 257 | int channel = chan->hw_value; |
---|
258 | 258 | s8 lna_5g[3], lna_2g; |
---|
259 | | - u8 lna; |
---|
| 259 | + bool use_lna; |
---|
| 260 | + u8 lna = 0; |
---|
260 | 261 | u16 val; |
---|
261 | 262 | |
---|
262 | 263 | if (chan->band == NL80211_BAND_2GHZ) |
---|
.. | .. |
---|
275 | 276 | dev->cal.rx.mcu_gain |= (lna_5g[1] & 0xff) << 16; |
---|
276 | 277 | dev->cal.rx.mcu_gain |= (lna_5g[2] & 0xff) << 24; |
---|
277 | 278 | |
---|
278 | | - lna = mt76x02_get_lna_gain(dev, &lna_2g, lna_5g, chan); |
---|
| 279 | + val = mt76x02_eeprom_get(dev, MT_EE_NIC_CONF_1); |
---|
| 280 | + if (chan->band == NL80211_BAND_2GHZ) |
---|
| 281 | + use_lna = !(val & MT_EE_NIC_CONF_1_LNA_EXT_2G); |
---|
| 282 | + else |
---|
| 283 | + use_lna = !(val & MT_EE_NIC_CONF_1_LNA_EXT_5G); |
---|
| 284 | + |
---|
| 285 | + if (use_lna) |
---|
| 286 | + lna = mt76x02_get_lna_gain(dev, &lna_2g, lna_5g, chan); |
---|
| 287 | + |
---|
279 | 288 | dev->cal.rx.lna_gain = mt76x02_sign_extend(lna, 8); |
---|
280 | 289 | } |
---|
281 | 290 | EXPORT_SYMBOL_GPL(mt76x2_read_rx_gain); |
---|