diff options
author | Larry Finger <Larry.Finger@lwfinger.net> | 2010-12-08 12:12:31 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-12-15 16:17:49 -0500 |
commit | 0c8173385e549f95cd80c3fff5aab87b4f881d8d (patch) | |
tree | eb818f70ed027eecbc5e170b046aa0d785168d43 /drivers/net/wireless/rtlwifi/debug.h | |
parent | 412b31334b831a8c2909afaca017c5a236ac2dd0 (diff) |
rtl8192ce: Add new driver
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/debug.h')
-rw-r--r-- | drivers/net/wireless/rtlwifi/debug.h | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/drivers/net/wireless/rtlwifi/debug.h b/drivers/net/wireless/rtlwifi/debug.h new file mode 100644 index 000000000000..08bdec2ceda4 --- /dev/null +++ b/drivers/net/wireless/rtlwifi/debug.h | |||
@@ -0,0 +1,212 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Copyright(c) 2009-2010 Realtek Corporation. | ||
4 | * | ||
5 | * Tmis program is free software; you can redistribute it and/or modify it | ||
6 | * under the terms of version 2 of the GNU General Public License as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * Tmis program is distributed in the hope that it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
12 | * more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along with | ||
15 | * tmis program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA | ||
17 | * | ||
18 | * Tme full GNU General Public License is included in this distribution in the | ||
19 | * file called LICENSE. | ||
20 | * | ||
21 | * Contact Information: | ||
22 | * wlanfae <wlanfae@realtek.com> | ||
23 | * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, | ||
24 | * Hsinchu 300, Taiwan. | ||
25 | * | ||
26 | * Larry Finger <Larry.Finger@lwfinger.net> | ||
27 | *****************************************************************************/ | ||
28 | |||
29 | #ifndef __RTL_DEBUG_H__ | ||
30 | #define __RTL_DEBUG_H__ | ||
31 | |||
32 | /*-------------------------------------------------------------- | ||
33 | Debug level | ||
34 | --------------------------------------------------------------*/ | ||
35 | /* | ||
36 | *Fatal bug. | ||
37 | *For example, Tx/Rx/IO locked up, | ||
38 | *memory access violation, | ||
39 | *resource allocation failed, | ||
40 | *unexpected HW behavior, HW BUG | ||
41 | *and so on. | ||
42 | */ | ||
43 | #define DBG_EMERG 0 | ||
44 | |||
45 | /* | ||
46 | *Abnormal, rare, or unexpeted cases. | ||
47 | *For example, Packet/IO Ctl canceled, | ||
48 | *device suprisely unremoved and so on. | ||
49 | */ | ||
50 | #define DBG_WARNING 2 | ||
51 | |||
52 | /* | ||
53 | *Normal case driver developer should | ||
54 | *open, we can see link status like | ||
55 | *assoc/AddBA/DHCP/adapter start and | ||
56 | *so on basic and useful infromations. | ||
57 | */ | ||
58 | #define DBG_DMESG 3 | ||
59 | |||
60 | /* | ||
61 | *Normal case with useful information | ||
62 | *about current SW or HW state. | ||
63 | *For example, Tx/Rx descriptor to fill, | ||
64 | *Tx/Rx descriptor completed status, | ||
65 | *SW protocol state change, dynamic | ||
66 | *mechanism state change and so on. | ||
67 | */ | ||
68 | #define DBG_LOUD 4 | ||
69 | |||
70 | /* | ||
71 | *Normal case with detail execution | ||
72 | *flow or information. | ||
73 | */ | ||
74 | #define DBG_TRACE 5 | ||
75 | |||
76 | /*-------------------------------------------------------------- | ||
77 | Define the rt_trace components | ||
78 | --------------------------------------------------------------*/ | ||
79 | #define COMP_ERR BIT(0) | ||
80 | #define COMP_FW BIT(1) | ||
81 | #define COMP_INIT BIT(2) /*For init/deinit */ | ||
82 | #define COMP_RECV BIT(3) /*For Rx. */ | ||
83 | #define COMP_SEND BIT(4) /*For Tx. */ | ||
84 | #define COMP_MLME BIT(5) /*For MLME. */ | ||
85 | #define COMP_SCAN BIT(6) /*For Scan. */ | ||
86 | #define COMP_INTR BIT(7) /*For interrupt Related. */ | ||
87 | #define COMP_LED BIT(8) /*For LED. */ | ||
88 | #define COMP_SEC BIT(9) /*For sec. */ | ||
89 | #define COMP_BEACON BIT(10) /*For beacon. */ | ||
90 | #define COMP_RATE BIT(11) /*For rate. */ | ||
91 | #define COMP_RXDESC BIT(12) /*For rx desc. */ | ||
92 | #define COMP_DIG BIT(13) /*For DIG */ | ||
93 | #define COMP_TXAGC BIT(14) /*For Tx power */ | ||
94 | #define COMP_HIPWR BIT(15) /*For High Power Mechanism */ | ||
95 | #define COMP_POWER BIT(16) /*For lps/ips/aspm. */ | ||
96 | #define COMP_POWER_TRACKING BIT(17) /*For TX POWER TRACKING */ | ||
97 | #define COMP_BB_POWERSAVING BIT(18) | ||
98 | #define COMP_SWAS BIT(19) /*For SW Antenna Switch */ | ||
99 | #define COMP_RF BIT(20) /*For RF. */ | ||
100 | #define COMP_TURBO BIT(21) /*For EDCA TURBO. */ | ||
101 | #define COMP_RATR BIT(22) | ||
102 | #define COMP_CMD BIT(23) | ||
103 | #define COMP_EFUSE BIT(24) | ||
104 | #define COMP_QOS BIT(25) | ||
105 | #define COMP_MAC80211 BIT(26) | ||
106 | #define COMP_REGD BIT(27) | ||
107 | #define COMP_CHAN BIT(28) | ||
108 | |||
109 | /*-------------------------------------------------------------- | ||
110 | Define the rt_print components | ||
111 | --------------------------------------------------------------*/ | ||
112 | /* Define EEPROM and EFUSE check module bit*/ | ||
113 | #define EEPROM_W BIT(0) | ||
114 | #define EFUSE_PG BIT(1) | ||
115 | #define EFUSE_READ_ALL BIT(2) | ||
116 | |||
117 | /* Define init check for module bit*/ | ||
118 | #define INIT_EEPROM BIT(0) | ||
119 | #define INIT_TxPower BIT(1) | ||
120 | #define INIT_IQK BIT(2) | ||
121 | #define INIT_RF BIT(3) | ||
122 | |||
123 | /* Define PHY-BB/RF/MAC check module bit */ | ||
124 | #define PHY_BBR BIT(0) | ||
125 | #define PHY_BBW BIT(1) | ||
126 | #define PHY_RFR BIT(2) | ||
127 | #define PHY_RFW BIT(3) | ||
128 | #define PHY_MACR BIT(4) | ||
129 | #define PHY_MACW BIT(5) | ||
130 | #define PHY_ALLR BIT(6) | ||
131 | #define PHY_ALLW BIT(7) | ||
132 | #define PHY_TXPWR BIT(8) | ||
133 | #define PHY_PWRDIFF BIT(9) | ||
134 | |||
135 | enum dbgp_flag_e { | ||
136 | FQOS = 0, | ||
137 | FTX = 1, | ||
138 | FRX = 2, | ||
139 | FSEC = 3, | ||
140 | FMGNT = 4, | ||
141 | FMLME = 5, | ||
142 | FRESOURCE = 6, | ||
143 | FBEACON = 7, | ||
144 | FISR = 8, | ||
145 | FPHY = 9, | ||
146 | FMP = 10, | ||
147 | FEEPROM = 11, | ||
148 | FPWR = 12, | ||
149 | FDM = 13, | ||
150 | FDBGCtrl = 14, | ||
151 | FC2H = 15, | ||
152 | FBT = 16, | ||
153 | FINIT = 17, | ||
154 | FIOCTL = 18, | ||
155 | DBGP_TYPE_MAX | ||
156 | }; | ||
157 | |||
158 | #define RT_ASSERT(_exp, fmt) \ | ||
159 | do { \ | ||
160 | if (!(_exp)) { \ | ||
161 | printk(KERN_DEBUG "%s:%s(): ", KBUILD_MODNAME, \ | ||
162 | __func__); \ | ||
163 | printk fmt; \ | ||
164 | } \ | ||
165 | } while (0); | ||
166 | |||
167 | #define RT_TRACE(rtlpriv, comp, level, fmt)\ | ||
168 | do { \ | ||
169 | if (unlikely(((comp) & rtlpriv->dbg.global_debugcomponents) && \ | ||
170 | ((level) <= rtlpriv->dbg.global_debuglevel))) {\ | ||
171 | printk(KERN_DEBUG "%s:%s():<%lx-%x> ", KBUILD_MODNAME, \ | ||
172 | __func__, in_interrupt(), in_atomic()); \ | ||
173 | printk fmt; \ | ||
174 | } \ | ||
175 | } while (0); | ||
176 | |||
177 | #define RTPRINT(rtlpriv, dbgtype, dbgflag, printstr) \ | ||
178 | do { \ | ||
179 | if (unlikely(rtlpriv->dbg.dbgp_type[dbgtype] & dbgflag)) { \ | ||
180 | printk(KERN_DEBUG "%s: ", KBUILD_MODNAME); \ | ||
181 | printk printstr; \ | ||
182 | } \ | ||
183 | } while (0); | ||
184 | |||
185 | #define RT_PRINT_DATA(rtlpriv, _comp, _level, _titlestring, _hexdata, \ | ||
186 | _hexdatalen) \ | ||
187 | do {\ | ||
188 | if (unlikely(((_comp) & rtlpriv->dbg.global_debugcomponents) &&\ | ||
189 | (_level <= rtlpriv->dbg.global_debuglevel))) { \ | ||
190 | int __i; \ | ||
191 | u8* ptr = (u8 *)_hexdata; \ | ||
192 | printk(KERN_DEBUG "%s: ", KBUILD_MODNAME); \ | ||
193 | printk("In process \"%s\" (pid %i):", current->comm,\ | ||
194 | current->pid); \ | ||
195 | printk(_titlestring); \ | ||
196 | for (__i = 0; __i < (int)_hexdatalen; __i++) { \ | ||
197 | printk("%02X%s", ptr[__i], (((__i + 1) % 4)\ | ||
198 | == 0) ? " " : " ");\ | ||
199 | if (((__i + 1) % 16) == 0) \ | ||
200 | printk("\n"); \ | ||
201 | } \ | ||
202 | printk(KERN_DEBUG "\n"); \ | ||
203 | } \ | ||
204 | } while (0); | ||
205 | |||
206 | #define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" | ||
207 | #define MAC_ARG(x) \ | ||
208 | ((u8 *)(x))[0], ((u8 *)(x))[1], ((u8 *)(x))[2],\ | ||
209 | ((u8 *)(x))[3], ((u8 *)(x))[4], ((u8 *)(x))[5] | ||
210 | |||
211 | void rtl_dbgp_flag_init(struct ieee80211_hw *hw); | ||
212 | #endif | ||