summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorOleksij Rempel <linux@rempel-privat.de>2015-03-22 19:29:59 +0100
committerKalle Valo <kvalo@codeaurora.org>2015-03-30 11:31:37 +0300
commit2028523b6dcead43ddbbe4dc14f59f07b6238d34 (patch)
tree4b7c3d11b16b307c3c2247c6b08ec0bb92678d62 /drivers/net/wireless
parent18d6616f1bb14a29b14c6b0d4cde7fd527579b72 (diff)
downloadlinux-2028523b6dcead43ddbbe4dc14f59f07b6238d34.tar.gz
linux-2028523b6dcead43ddbbe4dc14f59f07b6238d34.tar.bz2
linux-2028523b6dcead43ddbbe4dc14f59f07b6238d34.zip
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/ath9k/eeprom.c7
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)
void ath9k_hw_analog_shift_rmw(struct ath_hw *ah, u32 reg, u32 mask,
u32 shift, u32 val)
{
- u32 regVal;
-
- regVal = REG_READ(ah, reg) & ~mask;
- regVal |= (val << shift) & mask;
-
- REG_WRITE(ah, reg, regVal);
+ REG_RMW(ah, reg, ((val << shift) & mask), mask);
if (ah->config.analog_shiftreg)
udelay(100);