mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-14 09:09:56 +00:00
ath9k_hw: apply internal regulator settings on AR933x
On AR933x, the internal regulator settings need to be applied before the PLL init to avoid stability issues. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5a71f13402
commit
bfc441a4bb
@ -3809,7 +3809,7 @@ static bool is_pmu_set(struct ath_hw *ah, u32 pmu_reg, int pmu_set)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
|
void ar9003_hw_internal_regulator_apply(struct ath_hw *ah)
|
||||||
{
|
{
|
||||||
int internal_regulator =
|
int internal_regulator =
|
||||||
ath9k_hw_ar9300_get_eeprom(ah, EEP_INTERNAL_REGULATOR);
|
ath9k_hw_ar9300_get_eeprom(ah, EEP_INTERNAL_REGULATOR);
|
||||||
|
@ -334,4 +334,7 @@ u8 *ar9003_get_spur_chan_ptr(struct ath_hw *ah, bool is_2ghz);
|
|||||||
|
|
||||||
unsigned int ar9003_get_paprd_scale_factor(struct ath_hw *ah,
|
unsigned int ar9003_get_paprd_scale_factor(struct ath_hw *ah,
|
||||||
struct ath9k_channel *chan);
|
struct ath9k_channel *chan);
|
||||||
|
|
||||||
|
void ar9003_hw_internal_regulator_apply(struct ath_hw *ah);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1468,6 +1468,9 @@ static bool ath9k_hw_chip_reset(struct ath_hw *ah,
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
ah->chip_fullsleep = false;
|
ah->chip_fullsleep = false;
|
||||||
|
|
||||||
|
if (AR_SREV_9330(ah))
|
||||||
|
ar9003_hw_internal_regulator_apply(ah);
|
||||||
ath9k_hw_init_pll(ah, chan);
|
ath9k_hw_init_pll(ah, chan);
|
||||||
ath9k_hw_set_rfmode(ah, chan);
|
ath9k_hw_set_rfmode(ah, chan);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user