aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/hw.h
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-05-13 13:33:43 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-02 16:13:00 -0400
commitaea702b70ae0964c16e17944e4a5ce2c2b038ced (patch)
tree8d4bcd9197d442e293a0479fbab3297df95da859 /drivers/net/wireless/ath/ath9k/hw.h
parentec8aa669b8393b6789b1954d587c63264af7ff99 (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.h9
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
794static inline struct ath_common *ath9k_hw_common(struct ath_hw *ah) 798static 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);
910void ar9002_hw_enable_wep_aggregation(struct ath_hw *ah); 914void 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 */
916void ar9003_hw_set_nf_limits(struct ath_hw *ah); 920void ar9003_hw_set_nf_limits(struct ath_hw *ah);
921void ar9003_hw_bb_watchdog_config(struct ath_hw *ah);
922void ar9003_hw_bb_watchdog_read(struct ath_hw *ah);
923void ar9003_hw_bb_watchdog_dbg_info(struct ath_hw *ah);
917 924
918/* Hardware family op attach helpers */ 925/* Hardware family op attach helpers */
919void ar5008_hw_attach_phy_ops(struct ath_hw *ah); 926void ar5008_hw_attach_phy_ops(struct ath_hw *ah);