diff options
author | Oleksij Rempel <linux@rempel-privat.de> | 2015-03-22 14:29:59 -0400 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2015-03-30 04:31:37 -0400 |
commit | 2028523b6dcead43ddbbe4dc14f59f07b6238d34 (patch) | |
tree | 4b7c3d11b16b307c3c2247c6b08ec0bb92678d62 | |
parent | 18d6616f1bb14a29b14c6b0d4cde7fd527579b72 (diff) |
ath9k: ath9k_hw_analog_shift_rmw: use REG_RMW
use REG_RMW in ath9k_hw_analog_shift_rmw.
It will double execution speed on usb bus.
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/eeprom.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/net/wireless/ath/ath9k/eeprom.c b/drivers/net/wireless/ath/ath9k/eeprom.c index 971d770722cf..cc81482c934d 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom.c +++ b/drivers/net/wireless/ath/ath9k/eeprom.c | |||
@@ -27,12 +27,7 @@ void ath9k_hw_analog_shift_regwrite(struct ath_hw *ah, u32 reg, u32 val) | |||
27 | void ath9k_hw_analog_shift_rmw(struct ath_hw *ah, u32 reg, u32 mask, | 27 | void ath9k_hw_analog_shift_rmw(struct ath_hw *ah, u32 reg, u32 mask, |
28 | u32 shift, u32 val) | 28 | u32 shift, u32 val) |
29 | { | 29 | { |
30 | u32 regVal; | 30 | REG_RMW(ah, reg, ((val << shift) & mask), mask); |
31 | |||
32 | regVal = REG_READ(ah, reg) & ~mask; | ||
33 | regVal |= (val << shift) & mask; | ||
34 | |||
35 | REG_WRITE(ah, reg, regVal); | ||
36 | 31 | ||
37 | if (ah->config.analog_shiftreg) | 32 | if (ah->config.analog_shiftreg) |
38 | udelay(100); | 33 | udelay(100); |