forked from luck/tmp_suning_uos_patched
rt2800: use eeprom OFDM 6M TX power as criterion
Don use TX_PWR_CFG_0 register value of OFDM 6M tx power as criterion since it can be changed. The same do vendor driver (see AsicAdjustSingleSkuTxPower and AsicGetTxPowerOffset functions from 2011_0719_RT3070_RT3370_RT5370_RT5372_Linux_STA_V2.5.0.3_DPO). Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Gertjan van Wingerde <gwingerde@gmail.com> Acked-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
de2493c585
commit
d9bceaeb17
@ -2524,7 +2524,6 @@ static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b,
|
||||
enum ieee80211_band band, int power_level,
|
||||
u8 txpower, int delta)
|
||||
{
|
||||
u32 reg;
|
||||
u16 eeprom;
|
||||
u8 criterion;
|
||||
u8 eirp_txpower;
|
||||
@ -2539,11 +2538,13 @@ static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b,
|
||||
* .11b data rate need add additional 4dbm
|
||||
* when calculating eirp txpower.
|
||||
*/
|
||||
rt2800_register_read(rt2x00dev, TX_PWR_CFG_0, ®);
|
||||
criterion = rt2x00_get_field32(reg, TX_PWR_CFG_0_6MBS);
|
||||
rt2x00_eeprom_read(rt2x00dev, EEPROM_TXPOWER_BYRATE + 1,
|
||||
&eeprom);
|
||||
criterion = rt2x00_get_field16(eeprom,
|
||||
EEPROM_TXPOWER_BYRATE_RATE0);
|
||||
|
||||
rt2x00_eeprom_read(rt2x00dev,
|
||||
EEPROM_EIRP_MAX_TX_POWER, &eeprom);
|
||||
rt2x00_eeprom_read(rt2x00dev, EEPROM_EIRP_MAX_TX_POWER,
|
||||
&eeprom);
|
||||
|
||||
if (band == IEEE80211_BAND_2GHZ)
|
||||
eirp_txpower_criterion = rt2x00_get_field16(eeprom,
|
||||
|
Loading…
Reference in New Issue
Block a user