Fix compilation on Linux 3.1 broken by VLAN API changes
[madwifi/.git] / ath / if_ath_debug.h
1 /*
2  * This software is distributed under the terms of the
3  * GNU General Public License ("GPL") version 2 as published by the Free
4  * Software Foundation.
5  *
6  * NO WARRANTY
7  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
8  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
9  * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTIBILITY
10  * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
11  * THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY,
12  * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
13  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
14  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
15  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
16  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
17  * THE POSSIBILITY OF SUCH DAMAGES.
18  *
19  * $Id: if_ath_radar.h 2464 2007-06-15 22:51:56Z mtaylor $
20  */
21 #ifndef _IF_ATH_DEBUG_H_
22 #define _IF_ATH_DEBUG_H_
23
24 enum {
25         ATH_DEBUG_XMIT          = 0x00000001,   /* basic xmit operation */
26         ATH_DEBUG_XMIT_DESC     = 0x00000002,   /* xmit descriptors */
27         ATH_DEBUG_RECV          = 0x00000004,   /* basic recv operation */
28         ATH_DEBUG_RECV_DESC     = 0x00000008,   /* recv descriptors */
29         ATH_DEBUG_RATE          = 0x00000010,   /* rate control */
30         ATH_DEBUG_RESET         = 0x00000020,   /* reset processing */
31         ATH_DEBUG_SKB_REF       = 0x00000040,   /* sbk references */
32         ATH_DEBUG_BEACON        = 0x00000080,   /* beacon handling */
33         ATH_DEBUG_WATCHDOG      = 0x00000100,   /* watchdog timeout */
34         ATH_DEBUG_INTR          = 0x00001000,   /* ISR */
35         ATH_DEBUG_TX_PROC       = 0x00002000,   /* tx ISR proc */
36         ATH_DEBUG_RX_PROC       = 0x00004000,   /* rx ISR proc */
37         ATH_DEBUG_BEACON_PROC   = 0x00008000,   /* beacon ISR proc */
38         ATH_DEBUG_CALIBRATE     = 0x00010000,   /* periodic calibration */
39         ATH_DEBUG_KEYCACHE      = 0x00020000,   /* key cache management */
40         ATH_DEBUG_STATE         = 0x00040000,   /* 802.11 state transitions */
41         ATH_DEBUG_TSF           = 0x00080000,   /* timestamp processing */
42         ATH_DEBUG_LED           = 0x00100000,   /* led management */
43         ATH_DEBUG_FF            = 0x00200000,   /* fast frames */
44         ATH_DEBUG_TURBO         = 0x00400000,   /* turbo/dynamic turbo */
45         ATH_DEBUG_UAPSD         = 0x00800000,   /* uapsd */
46         ATH_DEBUG_DOTH          = 0x01000000,   /* 11.h */
47         ATH_DEBUG_DOTHFILT      = 0x02000000,   /* 11.h radar pulse filter algorithm */
48         ATH_DEBUG_DOTHFILTVBSE  = 0x04000000,   /* 11.h radar pulse filter algorithm - pulse level debug */
49         ATH_DEBUG_DOTHFILTNOSC  = 0x08000000,   /* 11.h radar pulse filter algorithm - disable short circuit of processing after detection */
50         ATH_DEBUG_DOTHPULSES    = 0x10000000,   /* 11.h radar pulse events */
51         ATH_DEBUG_TXBUF         = 0x20000000,   /* TX buffer usage/leak debugging */
52         ATH_DEBUG_SKB           = 0x40000000,   /* SKB usage/leak debugging [applies to all vaps] */
53         ATH_DEBUG_FATAL         = 0x80000000,   /* fatal errors */
54         ATH_DEBUG_ANY           = 0xffffffff,
55         ATH_DEBUG_GLOBAL        = (ATH_DEBUG_SKB|ATH_DEBUG_SKB_REF)
56 };
57
58 #ifdef AR_DEBUG
59
60 /* DEBUG-ONLY DEFINITIONS */
61 #define DFLAG_ISSET(_sc, _m) (((_sc)->sc_debug & _m))
62 #define DPRINTF(_sc, _m, _fmt, ...) do {                                \
63         if (DFLAG_ISSET((_sc), (_m)))                                   \
64                 printk(KERN_DEBUG "%s: %s: " _fmt, \
65                         SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__); \
66 } while (0)
67 #define KEYPRINTF(_sc, _ix, _hk, _mac) do {                             \
68         if (DFLAG_ISSET((_sc), ATH_DEBUG_KEYCACHE))                     \
69                 ath_keyprint((_sc), __func__, _ix, _hk, _mac);          \
70 } while (0)
71
72 #else /* #ifdef AR_DEBUG */
73
74 #define DFLAG_ISSET(_sc, _m)            0
75 #define DPRINTF(_sc, _m, _fmt, ...)
76 #define KEYPRINTF(_sc, _ix, _hk, _mac)
77
78 #endif /* #ifdef AR_DEBUG */
79
80 #define IFF_DUMPPKTS(_sc, _m)   DFLAG_ISSET((_sc), (_m))
81
82 #define EPRINTF(_sc, _fmt, ...) \
83                 printk(KERN_ERR "%s: %s: " _fmt, \
84                         SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
85
86 #define WPRINTF(_sc, _fmt, ...) \
87                 printk(KERN_WARNING "%s: %s: " _fmt, \
88                         SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
89
90 #define IPRINTF(_sc, _fmt, ...) \
91                 printk(KERN_INFO "%s: %s: " _fmt, \
92                         SC_DEV_NAME(_sc), __func__, ## __VA_ARGS__)
93
94 #endif /* #ifndef _IF_ATH_DEBUG_H_ */