| .. | .. |
|---|
| 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); |
|---|