mt76: mt7915: fix txpower init for TSSI off chips

[ Upstream commit a226ccd04c479ccd23d6927c64bad1b441707f70 ]

Fix incorrect txpower init value for TSSI off chips which causes
too small txpower.

Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Shayne Chen 2021-04-01 10:31:29 +08:00 committed by Greg Kroah-Hartman
parent 7eb1e84cfe
commit f1c230d75b

View File

@ -104,7 +104,7 @@ int mt7915_eeprom_get_target_power(struct mt7915_dev *dev,
struct ieee80211_channel *chan,
u8 chain_idx)
{
int index;
int index, target_power;
bool tssi_on;
if (chain_idx > 3)
@ -113,15 +113,22 @@ int mt7915_eeprom_get_target_power(struct mt7915_dev *dev,
tssi_on = mt7915_tssi_enabled(dev, chan->band);
if (chan->band == NL80211_BAND_2GHZ) {
index = MT_EE_TX0_POWER_2G + chain_idx * 3 + !tssi_on;
} else {
int group = tssi_on ?
mt7915_get_channel_group(chan->hw_value) : 8;
index = MT_EE_TX0_POWER_2G + chain_idx * 3;
target_power = mt7915_eeprom_read(dev, index);
index = MT_EE_TX0_POWER_5G + chain_idx * 12 + group;
if (!tssi_on)
target_power += mt7915_eeprom_read(dev, index + 1);
} else {
int group = mt7915_get_channel_group(chan->hw_value);
index = MT_EE_TX0_POWER_5G + chain_idx * 12;
target_power = mt7915_eeprom_read(dev, index + group);
if (!tssi_on)
target_power += mt7915_eeprom_read(dev, index + 8);
}
return mt7915_eeprom_read(dev, index);
return target_power;
}
static const u8 sku_cck_delta_map[] = {