Commit a226ccd0 authored by Shayne Chen's avatar Shayne Chen Committed by Felix Fietkau

mt76: mt7915: fix txpower init for TSSI off chips

Fix incorrect txpower init value for TSSI off chips which causes
too small txpower.
Signed-off-by: default avatarShayne Chen <shayne.chen@mediatek.com>
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
parent 2df51a2b
......@@ -124,7 +124,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)
......@@ -133,15 +133,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;
index = MT_EE_TX0_POWER_2G + chain_idx * 3;
target_power = mt7915_eeprom_read(dev, index);
if (!tssi_on)
target_power += mt7915_eeprom_read(dev, index + 1);
} else {
int group = tssi_on ?
mt7915_get_channel_group(chan->hw_value) : 8;
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);
index = MT_EE_TX0_POWER_5G + chain_idx * 12 + 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[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment