mirror of
https://github.com/torvalds/linux.git
synced 2026-06-08 06:25:52 +02:00
mt76: mt7915: fix txpower init for TSSI off chips
[ Upstream commit a226ccd04c ]
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:
parent
7eb1e84cfe
commit
f1c230d75b
|
|
@ -104,7 +104,7 @@ int mt7915_eeprom_get_target_power(struct mt7915_dev *dev,
|
||||||
struct ieee80211_channel *chan,
|
struct ieee80211_channel *chan,
|
||||||
u8 chain_idx)
|
u8 chain_idx)
|
||||||
{
|
{
|
||||||
int index;
|
int index, target_power;
|
||||||
bool tssi_on;
|
bool tssi_on;
|
||||||
|
|
||||||
if (chain_idx > 3)
|
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);
|
tssi_on = mt7915_tssi_enabled(dev, chan->band);
|
||||||
|
|
||||||
if (chan->band == NL80211_BAND_2GHZ) {
|
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;
|
||||||
} else {
|
target_power = mt7915_eeprom_read(dev, index);
|
||||||
int group = tssi_on ?
|
|
||||||
mt7915_get_channel_group(chan->hw_value) : 8;
|
|
||||||
|
|
||||||
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[] = {
|
static const u8 sku_cck_delta_map[] = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user