Branch data Line data Source code
1 : : /* 2 : : * Copyright (c) 2008-2011 Atheros Communications Inc. 3 : : * Copyright (c) 2011 Neratec Solutions AG 4 : : * 5 : : * Permission to use, copy, modify, and/or distribute this software for any 6 : : * purpose with or without fee is hereby granted, provided that the above 7 : : * copyright notice and this permission notice appear in all copies. 8 : : * 9 : : * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 : : * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 : : * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 : : * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 : : * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 : : * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 : : * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 : : */ 17 : : 18 : : 19 : : #ifndef ATH9K_DFS_DEBUG_H 20 : : #define ATH9K_DFS_DEBUG_H 21 : : 22 : : #include "hw.h" 23 : : 24 : : struct ath_softc; 25 : : 26 : : /** 27 : : * struct ath_dfs_stats - DFS Statistics per wiphy 28 : : * @pulses_total: pulses reported by HW 29 : : * @pulses_no_dfs: pulses wrongly reported as DFS 30 : : * @pulses_detected: pulses detected so far 31 : : * @datalen_discards: pulses discarded due to invalid datalen 32 : : * @rssi_discards: pulses discarded due to invalid RSSI 33 : : * @bwinfo_discards: pulses discarded due to invalid BW info 34 : : * @pri_phy_errors: pulses reported for primary channel 35 : : * @ext_phy_errors: pulses reported for extension channel 36 : : * @dc_phy_errors: pulses reported for primary + extension channel 37 : : * @pulses_processed: pulses forwarded to detector 38 : : * @radar_detected: radars detected 39 : : */ 40 : : struct ath_dfs_stats { 41 : : /* pulse stats */ 42 : : u32 pulses_total; 43 : : u32 pulses_no_dfs; 44 : : u32 pulses_detected; 45 : : u32 datalen_discards; 46 : : u32 rssi_discards; 47 : : u32 bwinfo_discards; 48 : : u32 pri_phy_errors; 49 : : u32 ext_phy_errors; 50 : : u32 dc_phy_errors; 51 : : /* pattern detection stats */ 52 : : u32 pulses_processed; 53 : : u32 radar_detected; 54 : : }; 55 : : 56 : : #if defined(CONFIG_ATH9K_DFS_DEBUGFS) 57 : : 58 : : #define DFS_STAT_INC(sc, c) (sc->debug.stats.dfs_stats.c++) 59 : : void ath9k_dfs_init_debug(struct ath_softc *sc); 60 : : 61 : : extern struct ath_dfs_pool_stats global_dfs_pool_stats; 62 : : 63 : : #else 64 : : 65 : : #define DFS_STAT_INC(sc, c) do { } while (0) 66 : 6 : static inline void ath9k_dfs_init_debug(struct ath_softc *sc) { } 67 : : 68 : : #endif /* CONFIG_ATH9K_DFS_DEBUGFS */ 69 : : 70 : : #endif /* ATH9K_DFS_DEBUG_H */