71 lines · c
1/*2 * Copyright (c) 2008-2011 Atheros Communications Inc.3 * Copyright (c) 2011 Neratec Solutions AG4 *5 * Permission to use, copy, modify, and/or distribute this software for any6 * purpose with or without fee is hereby granted, provided that the above7 * copyright notice and this permission notice appear in all copies.8 *9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.16 */17 18 19#ifndef ATH9K_DFS_DEBUG_H20#define ATH9K_DFS_DEBUG_H21 22#include "hw.h"23 24struct ath_softc;25 26/**27 * struct ath_dfs_stats - DFS Statistics per wiphy28 * @pulses_total: pulses reported by HW29 * @pulses_no_dfs: pulses wrongly reported as DFS30 * @pulses_detected: pulses detected so far31 * @datalen_discards: pulses discarded due to invalid datalen32 * @rssi_discards: pulses discarded due to invalid RSSI33 * @bwinfo_discards: pulses discarded due to invalid BW info34 * @pri_phy_errors: pulses reported for primary channel35 * @ext_phy_errors: pulses reported for extension channel36 * @dc_phy_errors: pulses reported for primary + extension channel37 * @pulses_processed: pulses forwarded to detector38 * @radar_detected: radars detected39 */40struct 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++)59void ath9k_dfs_init_debug(struct ath_softc *sc);60 61extern struct ath_dfs_pool_stats global_dfs_pool_stats;62 63#else64 65#define DFS_STAT_INC(sc, c) do { } while (0)66static inline void ath9k_dfs_init_debug(struct ath_softc *sc) { }67 68#endif /* CONFIG_ATH9K_DFS_DEBUGFS */69 70#endif /* ATH9K_DFS_DEBUG_H */71