forked from Minki/linux
ath9k_hw: add HTC init hardware call for special resets for AR9271
AR9271 needs a full reset only upon the first reset, add a call for the driver to enable these special resets. We can optimize this out later without an export. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
25e2ab17fd
commit
05020d236e
@ -1951,6 +1951,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
|
||||
ath9k_hw_mark_phy_inactive(ah);
|
||||
|
||||
/* Only required on the first reset */
|
||||
if (AR_SREV_9271(ah) && ah->htc_reset_init) {
|
||||
REG_WRITE(ah,
|
||||
AR9271_RESET_POWER_DOWN_CONTROL,
|
||||
@ -1963,6 +1964,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Only required on the first reset */
|
||||
if (AR_SREV_9271(ah) && ah->htc_reset_init) {
|
||||
ah->htc_reset_init = false;
|
||||
REG_WRITE(ah,
|
||||
@ -3857,6 +3859,16 @@ void ath_gen_timer_isr(struct ath_hw *ah)
|
||||
}
|
||||
EXPORT_SYMBOL(ath_gen_timer_isr);
|
||||
|
||||
/********/
|
||||
/* HTC */
|
||||
/********/
|
||||
|
||||
void ath9k_hw_htc_resetinit(struct ath_hw *ah)
|
||||
{
|
||||
ah->htc_reset_init = true;
|
||||
}
|
||||
EXPORT_SYMBOL(ath9k_hw_htc_resetinit);
|
||||
|
||||
static struct {
|
||||
u32 version;
|
||||
const char * name;
|
||||
|
@ -707,6 +707,9 @@ u32 ath9k_hw_gettsf32(struct ath_hw *ah);
|
||||
|
||||
void ath9k_hw_name(struct ath_hw *ah, char *hw_name, size_t len);
|
||||
|
||||
/* HTC */
|
||||
void ath9k_hw_htc_resetinit(struct ath_hw *ah);
|
||||
|
||||
#define ATH_PCIE_CAP_LINK_CTRL 0x70
|
||||
#define ATH_PCIE_CAP_LINK_L0S 1
|
||||
#define ATH_PCIE_CAP_LINK_L1 2
|
||||
|
Loading…
Reference in New Issue
Block a user