diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-05-13 13:33:43 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-06-02 16:13:00 -0400 |
commit | aea702b70ae0964c16e17944e4a5ce2c2b038ced (patch) | |
tree | 8d4bcd9197d442e293a0479fbab3297df95da859 /drivers/net/wireless/ath/ath9k/hw.h | |
parent | ec8aa669b8393b6789b1954d587c63264af7ff99 (diff) |
ath9k_hw: add support for the AR9003 baseband watchdog
The baseband watchdog will monitor blocks of the baseband
through timers and will issue an interrupt when things are
detected to be stalled. It is only available on the AR9003
family.
Cc: Sam Ng <sam.ng@atheros.com>
Cc: Paul Shaw <paul.shaw@atheros.com>
Cc: Don Breslin <don.breslin@atheros.com>
Cc: Cliff Holden <cliff.holden@atheros.com
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 77245dff5993..bfecde083a42 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h | |||
@@ -279,6 +279,7 @@ enum ath9k_int { | |||
279 | ATH9K_INT_TX = 0x00000040, | 279 | ATH9K_INT_TX = 0x00000040, |
280 | ATH9K_INT_TXDESC = 0x00000080, | 280 | ATH9K_INT_TXDESC = 0x00000080, |
281 | ATH9K_INT_TIM_TIMER = 0x00000100, | 281 | ATH9K_INT_TIM_TIMER = 0x00000100, |
282 | ATH9K_INT_BB_WATCHDOG = 0x00000400, | ||
282 | ATH9K_INT_TXURN = 0x00000800, | 283 | ATH9K_INT_TXURN = 0x00000800, |
283 | ATH9K_INT_MIB = 0x00001000, | 284 | ATH9K_INT_MIB = 0x00001000, |
284 | ATH9K_INT_RXPHY = 0x00004000, | 285 | ATH9K_INT_RXPHY = 0x00004000, |
@@ -789,6 +790,9 @@ struct ath_hw { | |||
789 | u32 ts_paddr_end; | 790 | u32 ts_paddr_end; |
790 | u16 ts_tail; | 791 | u16 ts_tail; |
791 | u8 ts_size; | 792 | u8 ts_size; |
793 | |||
794 | u32 bb_watchdog_last_status; | ||
795 | u32 bb_watchdog_timeout_ms; /* in ms, 0 to disable */ | ||
792 | }; | 796 | }; |
793 | 797 | ||
794 | static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) | 798 | static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) |
@@ -910,10 +914,13 @@ void ar9002_hw_enable_async_fifo(struct ath_hw *ah); | |||
910 | void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah); | 914 | void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah); |
911 | 915 | ||
912 | /* | 916 | /* |
913 | * Code specifric to AR9003, we stuff these here to avoid callbacks | 917 | * Code specific to AR9003, we stuff these here to avoid callbacks |
914 | * for older families | 918 | * for older families |
915 | */ | 919 | */ |
916 | void ar9003_hw_set_nf_limits(struct ath_hw *ah); | 920 | void ar9003_hw_set_nf_limits(struct ath_hw *ah); |
921 | void ar9003_hw_bb_watchdog_config(struct ath_hw *ah); | ||
922 | void ar9003_hw_bb_watchdog_read(struct ath_hw *ah); | ||
923 | void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah); | ||
917 | 924 | ||
918 | /* Hardware family op attach helpers */ | 925 | /* Hardware family op attach helpers */ |
919 | void ar5008_hw_attach_phy_ops(struct ath_hw *ah); | 926 | void ar5008_hw_attach_phy_ops(struct ath_hw *ah); |