aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.c
diff options
context:
space:
mode:
authorOleksij Rempel <linux@rempel-privat.de>2015-03-22 14:29:57 -0400
committerKalle Valo <kvalo@codeaurora.org>2015-03-30 04:31:35 -0400
commit7b37e0d4db038d37bbb88a4c8ea2b828707cbd12 (patch)
tree71e4fb1891023e8a1b57498c10c211d356960f17 /drivers/net/wireless/ath/ath9k/hw.c
parent10e03ef6b4669c56d5d6858d80866bfa9bb2dc57 (diff)
ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index 6d5b4bc8ab48..1d9ad5bfe0c8 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -1230,6 +1230,7 @@ static void ath9k_hw_set_operating_mode(struct ath_hw *ah, int opmode)
1230 u32 mask = AR_STA_ID1_STA_AP | AR_STA_ID1_ADHOC; 1230 u32 mask = AR_STA_ID1_STA_AP | AR_STA_ID1_ADHOC;
1231 u32 set = AR_STA_ID1_KSRCH_MODE; 1231 u32 set = AR_STA_ID1_KSRCH_MODE;
1232 1232
1233 ENABLE_REG_RMW_BUFFER(ah);
1233 switch (opmode) { 1234 switch (opmode) {
1234 case NL80211_IFTYPE_ADHOC: 1235 case NL80211_IFTYPE_ADHOC:
1235 if (!AR_SREV_9340_13(ah)) { 1236 if (!AR_SREV_9340_13(ah)) {
@@ -1251,6 +1252,7 @@ static void ath9k_hw_set_operating_mode(struct ath_hw *ah, int opmode)
1251 break; 1252 break;
1252 } 1253 }
1253 REG_RMW(ah, AR_STA_ID1, set, mask); 1254 REG_RMW(ah, AR_STA_ID1, set, mask);
1255 REG_RMW_BUFFER_FLUSH(ah);
1254} 1256}
1255 1257
1256void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled, 1258void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled,
@@ -1963,6 +1965,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
1963 if (!ath9k_hw_mci_is_enabled(ah)) 1965 if (!ath9k_hw_mci_is_enabled(ah))
1964 REG_WRITE(ah, AR_OBS, 8); 1966 REG_WRITE(ah, AR_OBS, 8);
1965 1967
1968 ENABLE_REG_RMW_BUFFER(ah);
1966 if (ah->config.rx_intr_mitigation) { 1969 if (ah->config.rx_intr_mitigation) {
1967 REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, ah->config.rimt_last); 1970 REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, ah->config.rimt_last);
1968 REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, ah->config.rimt_first); 1971 REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, ah->config.rimt_first);
@@ -1972,6 +1975,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
1972 REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300); 1975 REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300);
1973 REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750); 1976 REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750);
1974 } 1977 }
1978 REG_RMW_BUFFER_FLUSH(ah);
1975 1979
1976 ath9k_hw_init_bb(ah, chan); 1980 ath9k_hw_init_bb(ah, chan);
1977 1981