diff options
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 12 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 5bc5f5fdff57..05aeb511c686 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -1951,6 +1951,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, | |||
1951 | 1951 | ||
1952 | ath9k_hw_mark_phy_inactive(ah); | 1952 | ath9k_hw_mark_phy_inactive(ah); |
1953 | 1953 | ||
1954 | /* Only required on the first reset */ | ||
1954 | if (AR_SREV_9271(ah) && ah->htc_reset_init) { | 1955 | if (AR_SREV_9271(ah) && ah->htc_reset_init) { |
1955 | REG_WRITE(ah, | 1956 | REG_WRITE(ah, |
1956 | AR9271_RESET_POWER_DOWN_CONTROL, | 1957 | AR9271_RESET_POWER_DOWN_CONTROL, |
@@ -1963,6 +1964,7 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, | |||
1963 | return -EINVAL; | 1964 | return -EINVAL; |
1964 | } | 1965 | } |
1965 | 1966 | ||
1967 | /* Only required on the first reset */ | ||
1966 | if (AR_SREV_9271(ah) && ah->htc_reset_init) { | 1968 | if (AR_SREV_9271(ah) && ah->htc_reset_init) { |
1967 | ah->htc_reset_init = false; | 1969 | ah->htc_reset_init = false; |
1968 | REG_WRITE(ah, | 1970 | REG_WRITE(ah, |
@@ -3857,6 +3859,16 @@ void ath_gen_timer_isr(struct ath_hw *ah) | |||
3857 | } | 3859 | } |
3858 | EXPORT_SYMBOL(ath_gen_timer_isr); | 3860 | EXPORT_SYMBOL(ath_gen_timer_isr); |
3859 | 3861 | ||
3862 | /********/ | ||
3863 | /* HTC */ | ||
3864 | /********/ | ||
3865 | |||
3866 | void ath9k_hw_htc_resetinit(struct ath_hw *ah) | ||
3867 | { | ||
3868 | ah->htc_reset_init = true; | ||
3869 | } | ||
3870 | EXPORT_SYMBOL(ath9k_hw_htc_resetinit); | ||
3871 | |||
3860 | static struct { | 3872 | static struct { |
3861 | u32 version; | 3873 | u32 version; |
3862 | const char * name; | 3874 | const char * name; |
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index e63edfb91590..6b03e1688b22 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -707,6 +707,9 @@ u32 ath9k_hw_gettsf32(struct ath_hw *ah); | |||
707 | 707 | ||
708 | void ath9k_hw_name(struct ath_hw *ah, char *hw_name, size_t len); | 708 | void ath9k_hw_name(struct ath_hw *ah, char *hw_name, size_t len); |
709 | 709 | ||
710 | /* HTC */ | ||
711 | void ath9k_hw_htc_resetinit(struct ath_hw *ah); | ||
712 | |||
710 | #define ATH_PCIE_CAP_LINK_CTRL 0x70 | 713 | #define ATH_PCIE_CAP_LINK_CTRL 0x70 |
711 | #define ATH_PCIE_CAP_LINK_L0S 1 | 714 | #define ATH_PCIE_CAP_LINK_L0S 1 |
712 | #define ATH_PCIE_CAP_LINK_L1 2 | 715 | #define ATH_PCIE_CAP_LINK_L1 2 |