diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2012-10-05 07:44:12 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-10-19 15:53:12 -0400 |
commit | d9bceaeb174fe70c62933e1bf608500c614c5130 (patch) | |
tree | 73c630bec83b083837a0ed83d5687ea5c4ae6c62 /drivers/net/wireless/rt2x00 | |
parent | de2493c58573214b0cc235c32f9ac59aa8a89c44 (diff) |
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>
Diffstat (limited to 'drivers/net/wireless/rt2x00')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2800lib.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index 2db684283419..b5e646f70e8b 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -2524,7 +2524,6 @@ static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b, | |||
2524 | enum ieee80211_band band, int power_level, | 2524 | enum ieee80211_band band, int power_level, |
2525 | u8 txpower, int delta) | 2525 | u8 txpower, int delta) |
2526 | { | 2526 | { |
2527 | u32 reg; | ||
2528 | u16 eeprom; | 2527 | u16 eeprom; |
2529 | u8 criterion; | 2528 | u8 criterion; |
2530 | u8 eirp_txpower; | 2529 | u8 eirp_txpower; |
@@ -2539,11 +2538,13 @@ static u8 rt2800_compensate_txpower(struct rt2x00_dev *rt2x00dev, int is_rate_b, | |||
2539 | * .11b data rate need add additional 4dbm | 2538 | * .11b data rate need add additional 4dbm |
2540 | * when calculating eirp txpower. | 2539 | * when calculating eirp txpower. |
2541 | */ | 2540 | */ |
2542 | rt2800_register_read(rt2x00dev, TX_PWR_CFG_0, ®); | 2541 | rt2x00_eeprom_read(rt2x00dev, EEPROM_TXPOWER_BYRATE + 1, |
2543 | criterion = rt2x00_get_field32(reg, TX_PWR_CFG_0_6MBS); | 2542 | &eeprom); |
2543 | criterion = rt2x00_get_field16(eeprom, | ||
2544 | EEPROM_TXPOWER_BYRATE_RATE0); | ||
2544 | 2545 | ||
2545 | rt2x00_eeprom_read(rt2x00dev, | 2546 | rt2x00_eeprom_read(rt2x00dev, EEPROM_EIRP_MAX_TX_POWER, |
2546 | EEPROM_EIRP_MAX_TX_POWER, &eeprom); | 2547 | &eeprom); |
2547 | 2548 | ||
2548 | if (band == IEEE80211_BAND_2GHZ) | 2549 | if (band == IEEE80211_BAND_2GHZ) |
2549 | eirp_txpower_criterion = rt2x00_get_field16(eeprom, | 2550 | eirp_txpower_criterion = rt2x00_get_field16(eeprom, |