|
@@ -85,17 +85,15 @@ void rtl92cu_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
|
|
if (mac->act_scanning) {
|
|
if (mac->act_scanning) {
|
|
tx_agc[RF90_PATH_A] = 0x3f3f3f3f;
|
|
tx_agc[RF90_PATH_A] = 0x3f3f3f3f;
|
|
tx_agc[RF90_PATH_B] = 0x3f3f3f3f;
|
|
tx_agc[RF90_PATH_B] = 0x3f3f3f3f;
|
|
- if (turbo_scanoff) {
|
|
|
|
- for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) {
|
|
|
|
- tx_agc[idx1] = ppowerlevel[idx1] |
|
|
|
|
- (ppowerlevel[idx1] << 8) |
|
|
|
|
- (ppowerlevel[idx1] << 16) |
|
|
|
|
- (ppowerlevel[idx1] << 24);
|
|
|
|
- if (rtlhal->interface == INTF_USB) {
|
|
|
|
- if (tx_agc[idx1] > 0x20 &&
|
|
|
|
- rtlefuse->external_pa)
|
|
|
|
- tx_agc[idx1] = 0x20;
|
|
|
|
- }
|
|
|
|
|
|
+ for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) {
|
|
|
|
+ tx_agc[idx1] = ppowerlevel[idx1] |
|
|
|
|
+ (ppowerlevel[idx1] << 8) |
|
|
|
|
+ (ppowerlevel[idx1] << 16) |
|
|
|
|
+ (ppowerlevel[idx1] << 24);
|
|
|
|
+ if (rtlhal->interface == INTF_USB) {
|
|
|
|
+ if (tx_agc[idx1] > 0x20 &&
|
|
|
|
+ rtlefuse->external_pa)
|
|
|
|
+ tx_agc[idx1] = 0x20;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -107,7 +105,7 @@ void rtl92cu_phy_rf6052_set_cck_txpower(struct ieee80211_hw *hw,
|
|
TXHIGHPWRLEVEL_LEVEL2) {
|
|
TXHIGHPWRLEVEL_LEVEL2) {
|
|
tx_agc[RF90_PATH_A] = 0x00000000;
|
|
tx_agc[RF90_PATH_A] = 0x00000000;
|
|
tx_agc[RF90_PATH_B] = 0x00000000;
|
|
tx_agc[RF90_PATH_B] = 0x00000000;
|
|
- } else{
|
|
|
|
|
|
+ } else {
|
|
for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) {
|
|
for (idx1 = RF90_PATH_A; idx1 <= RF90_PATH_B; idx1++) {
|
|
tx_agc[idx1] = ppowerlevel[idx1] |
|
|
tx_agc[idx1] = ppowerlevel[idx1] |
|
|
(ppowerlevel[idx1] << 8) |
|
|
(ppowerlevel[idx1] << 8) |
|
|
@@ -373,7 +371,12 @@ static void _rtl92c_write_ofdm_power_reg(struct ieee80211_hw *hw,
|
|
regoffset == RTXAGC_B_MCS07_MCS04)
|
|
regoffset == RTXAGC_B_MCS07_MCS04)
|
|
regoffset = 0xc98;
|
|
regoffset = 0xc98;
|
|
for (i = 0; i < 3; i++) {
|
|
for (i = 0; i < 3; i++) {
|
|
- writeVal = (writeVal > 6) ? (writeVal - 6) : 0;
|
|
|
|
|
|
+ if (i != 2)
|
|
|
|
+ writeVal = (writeVal > 8) ?
|
|
|
|
+ (writeVal - 8) : 0;
|
|
|
|
+ else
|
|
|
|
+ writeVal = (writeVal > 6) ?
|
|
|
|
+ (writeVal - 6) : 0;
|
|
rtl_write_byte(rtlpriv, (u32)(regoffset + i),
|
|
rtl_write_byte(rtlpriv, (u32)(regoffset + i),
|
|
(u8)writeVal);
|
|
(u8)writeVal);
|
|
}
|
|
}
|