Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7b37e0d4 authored by Oleksij Rempel's avatar Oleksij Rempel Committed by Kalle Valo
Browse files

ath9k: use rmw buffer in ath9k_hw_set_operating_mode and ath9k_hw_reset

parent 10e03ef6
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1230,6 +1230,7 @@ static void ath9k_hw_set_operating_mode(struct ath_hw *ah, int opmode)
	u32 mask = AR_STA_ID1_STA_AP | AR_STA_ID1_ADHOC;
	u32 mask = AR_STA_ID1_STA_AP | AR_STA_ID1_ADHOC;
	u32 set = AR_STA_ID1_KSRCH_MODE;
	u32 set = AR_STA_ID1_KSRCH_MODE;


	ENABLE_REG_RMW_BUFFER(ah);
	switch (opmode) {
	switch (opmode) {
	case NL80211_IFTYPE_ADHOC:
	case NL80211_IFTYPE_ADHOC:
		if (!AR_SREV_9340_13(ah)) {
		if (!AR_SREV_9340_13(ah)) {
@@ -1251,6 +1252,7 @@ static void ath9k_hw_set_operating_mode(struct ath_hw *ah, int opmode)
		break;
		break;
	}
	}
	REG_RMW(ah, AR_STA_ID1, set, mask);
	REG_RMW(ah, AR_STA_ID1, set, mask);
	REG_RMW_BUFFER_FLUSH(ah);
}
}


void ath9k_hw_get_delta_slope_vals(struct ath_hw *ah, u32 coef_scaled,
void 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,
	if (!ath9k_hw_mci_is_enabled(ah))
	if (!ath9k_hw_mci_is_enabled(ah))
		REG_WRITE(ah, AR_OBS, 8);
		REG_WRITE(ah, AR_OBS, 8);


	ENABLE_REG_RMW_BUFFER(ah);
	if (ah->config.rx_intr_mitigation) {
	if (ah->config.rx_intr_mitigation) {
		REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, ah->config.rimt_last);
		REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, ah->config.rimt_last);
		REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, ah->config.rimt_first);
		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,
		REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300);
		REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300);
		REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750);
		REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750);
	}
	}
	REG_RMW_BUFFER_FLUSH(ah);


	ath9k_hw_init_bb(ah, chan);
	ath9k_hw_init_bb(ah, chan);