diff options
Diffstat (limited to 'drivers/net/wireless/ath9k/core.h')
-rw-r--r-- | drivers/net/wireless/ath9k/core.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath9k/core.h b/drivers/net/wireless/ath9k/core.h index 23844e02eff1..9abdbd8686e7 100644 --- a/drivers/net/wireless/ath9k/core.h +++ b/drivers/net/wireless/ath9k/core.h | |||
@@ -88,16 +88,66 @@ enum ATH_DEBUG { | |||
88 | 88 | ||
89 | #ifdef CONFIG_ATH9K_DEBUG | 89 | #ifdef CONFIG_ATH9K_DEBUG |
90 | 90 | ||
91 | /** | ||
92 | * struct ath_interrupt_stats - Contains statistics about interrupts | ||
93 | * @total: Total no. of interrupts generated so far | ||
94 | * @rxok: RX with no errors | ||
95 | * @rxeol: RX with no more RXDESC available | ||
96 | * @rxorn: RX FIFO overrun | ||
97 | * @txok: TX completed at the requested rate | ||
98 | * @txurn: TX FIFO underrun | ||
99 | * @mib: MIB regs reaching its threshold | ||
100 | * @rxphyerr: RX with phy errors | ||
101 | * @rx_keycache_miss: RX with key cache misses | ||
102 | * @swba: Software Beacon Alert | ||
103 | * @bmiss: Beacon Miss | ||
104 | * @bnr: Beacon Not Ready | ||
105 | * @cst: Carrier Sense TImeout | ||
106 | * @gtt: Global TX Timeout | ||
107 | * @tim: RX beacon TIM occurrence | ||
108 | * @cabend: RX End of CAB traffic | ||
109 | * @dtimsync: DTIM sync lossage | ||
110 | * @dtim: RX Beacon with DTIM | ||
111 | */ | ||
112 | struct ath_interrupt_stats { | ||
113 | u32 total; | ||
114 | u32 rxok; | ||
115 | u32 rxeol; | ||
116 | u32 rxorn; | ||
117 | u32 txok; | ||
118 | u32 txeol; | ||
119 | u32 txurn; | ||
120 | u32 mib; | ||
121 | u32 rxphyerr; | ||
122 | u32 rx_keycache_miss; | ||
123 | u32 swba; | ||
124 | u32 bmiss; | ||
125 | u32 bnr; | ||
126 | u32 cst; | ||
127 | u32 gtt; | ||
128 | u32 tim; | ||
129 | u32 cabend; | ||
130 | u32 dtimsync; | ||
131 | u32 dtim; | ||
132 | }; | ||
133 | |||
134 | struct ath_stats { | ||
135 | struct ath_interrupt_stats istats; | ||
136 | }; | ||
137 | |||
91 | struct ath9k_debug { | 138 | struct ath9k_debug { |
92 | int debug_mask; | 139 | int debug_mask; |
93 | struct dentry *debugfs_root; | 140 | struct dentry *debugfs_root; |
94 | struct dentry *debugfs_phy; | 141 | struct dentry *debugfs_phy; |
95 | struct dentry *debugfs_dma; | 142 | struct dentry *debugfs_dma; |
143 | struct dentry *debugfs_interrupt; | ||
144 | struct ath_stats stats; | ||
96 | }; | 145 | }; |
97 | 146 | ||
98 | void DPRINTF(struct ath_softc *sc, int dbg_mask, const char *fmt, ...); | 147 | void DPRINTF(struct ath_softc *sc, int dbg_mask, const char *fmt, ...); |
99 | int ath9k_init_debug(struct ath_softc *sc); | 148 | int ath9k_init_debug(struct ath_softc *sc); |
100 | void ath9k_exit_debug(struct ath_softc *sc); | 149 | void ath9k_exit_debug(struct ath_softc *sc); |
150 | void ath_debug_stat_interrupt(struct ath_softc *sc, enum ath9k_int status); | ||
101 | 151 | ||
102 | #else | 152 | #else |
103 | 153 | ||
@@ -115,6 +165,11 @@ static inline void ath9k_exit_debug(struct ath_softc *sc) | |||
115 | { | 165 | { |
116 | } | 166 | } |
117 | 167 | ||
168 | static inline void ath_debug_stat_interrupt(struct ath_softc *sc, | ||
169 | enum ath9k_int status) | ||
170 | { | ||
171 | } | ||
172 | |||
118 | #endif /* CONFIG_ATH9K_DEBUG */ | 173 | #endif /* CONFIG_ATH9K_DEBUG */ |
119 | 174 | ||
120 | struct ath_config { | 175 | struct ath_config { |