diff options
author | Lorenzo Bianconi <lorenzo@kernel.org> | 2019-06-11 08:38:53 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2019-06-27 12:58:13 +0200 |
commit | 16a2f8e2cad50618f7c5ccf18e83263f940afdb0 (patch) | |
tree | e6bf1c9c54575f31e5d5b500d462a4c263cc2525 /drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | |
parent | 391ff7ffd149da87019d652cd678d9e76103e415 (diff) |
mt76: mt7615: take into account extPA when configuring tx power
When TSSI calibration is disabled (which it means the device has been
equipped with an external power amplifier) we need to refer to
different eeprom fields in order to properly configure tx power
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c')
-rw-r--r-- | drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c index 023c8bbc767d..dc94f52e6e8b 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/eeprom.c @@ -110,7 +110,8 @@ static void mt7615_eeprom_parse_hw_cap(struct mt7615_dev *dev) } } -int mt7615_eeprom_get_power_index(struct ieee80211_channel *chan, +int mt7615_eeprom_get_power_index(struct mt7615_dev *dev, + struct ieee80211_channel *chan, u8 chain_idx) { int index; @@ -118,6 +119,15 @@ int mt7615_eeprom_get_power_index(struct ieee80211_channel *chan, if (chain_idx > 3) return -EINVAL; + /* TSSI disabled */ + if (mt7615_ext_pa_enabled(dev, chan->band)) { + if (chan->band == NL80211_BAND_2GHZ) + return MT_EE_EXT_PA_2G_TARGET_POWER; + else + return MT_EE_EXT_PA_5G_TARGET_POWER; + } + + /* TSSI enabled */ if (chan->band == NL80211_BAND_2GHZ) { index = MT_EE_TX0_2G_TARGET_POWER + chain_idx * 6; } else { |