Skip to content

Commit

Permalink
mt76: mt7603: fix reading target tx power from eeprom
Browse files Browse the repository at this point in the history
For the external PA (TSSI OFF) case, the target power needs to be read
from a different location in EEPROM

Signed-off-by: Felix Fietkau <nbd@nbd.name>
  • Loading branch information
Felix Fietkau committed Jun 27, 2019
1 parent 2dcb79c commit b0297b6
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 0 deletions.
2 changes: 2 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt7603/eeprom.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ enum mt7603_eeprom_field {

MT_EE_CP_FT_VERSION = 0x0f0,

MT_EE_TX_POWER_TSSI_OFF = 0x0f2,

MT_EE_XTAL_FREQ_OFFSET = 0x0f4,
MT_EE_XTAL_TRIM_2_COMP = 0x0f5,
MT_EE_XTAL_TRIM_3_COMP = 0x0f6,
Expand Down
4 changes: 4 additions & 0 deletions drivers/net/wireless/mediatek/mt76/mt7603/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,9 +465,13 @@ mt7603_init_txpower(struct mt7603_dev *dev,
u8 *eeprom = (u8 *)dev->mt76.eeprom.data;
int target_power = eeprom[MT_EE_TX_POWER_0_START_2G + 2] & ~BIT(7);
u8 *rate_power = &eeprom[MT_EE_TX_POWER_CCK];
bool ext_pa = eeprom[MT_EE_NIC_CONF_0 + 1] & BIT(1);
int max_offset, cur_offset;
int i;

if (ext_pa && is_mt7603(dev))
target_power = eeprom[MT_EE_TX_POWER_TSSI_OFF] & ~BIT(7);

if (target_power & BIT(6))
target_power = -(target_power & GENMASK(5, 0));

Expand Down

0 comments on commit b0297b6

Please sign in to comment.