Merge branch develop-3.10-next
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / rkwifi / bcmdhd / wl_dbg.h
1 /*
2  * Minimal debug/trace/assert driver definitions for
3  * Broadcom 802.11 Networking Adapter.
4  *
5  * $Copyright Open Broadcom Corporation$
6  *
7  * $Id: wl_dbg.h 472390 2014-04-23 23:32:01Z $
8  */
9
10
11 #ifndef _wl_dbg_h_
12 #define _wl_dbg_h_
13
14 /* wl_msg_level is a bit vector with defs in wlioctl.h */
15 extern uint32 wl_msg_level;
16 extern uint32 wl_msg_level2;
17
18 #define WL_TIMESTAMP()
19
20 #if 0 && (VERSION_MAJOR > 9)
21 extern int osl_printf(const char *fmt, ...);
22 #include <IOKit/apple80211/IO8Log.h>
23 #define WL_PRINT(args)          do { osl_printf args; } while (0)
24 #define RELEASE_PRINT(args)     do { WL_PRINT(args); IO8Log args; } while (0)
25 #else
26 #define WL_PRINT(args)          do { WL_TIMESTAMP(); printf args; } while (0)
27 #endif 
28
29 #if defined(EVENT_LOG_COMPILE) && defined(WLMSG_SRSCAN)
30 #define _WL_SRSCAN(fmt, ...)    EVENT_LOG(EVENT_LOG_TAG_SRSCAN, fmt, ##__VA_ARGS__)
31 #define WL_SRSCAN(args)         _WL_SRSCAN args
32 #else
33 #define WL_SRSCAN(args)
34 #endif
35
36 #if defined(BCMCONDITIONAL_LOGGING)
37
38 /* Ideally this should be some include file that vendors can include to conditionalize logging */
39
40 /* DBGONLY() macro to reduce ifdefs in code for statements that are only needed when
41  * BCMDBG is defined.
42  */
43 #define DBGONLY(x)
44
45 /* To disable a message completely ... until you need it again */
46 #define WL_NONE(args)
47 #define WL_ERROR(args)          do {if (wl_msg_level & WL_ERROR_VAL) WL_PRINT(args);} while (0)
48 #define WL_TRACE(args)
49 #define WL_PRHDRS_MSG(args)
50 #define WL_PRHDRS(i, p, f, t, r, l)
51 #define WL_PRPKT(m, b, n)
52 #define WL_INFORM(args)
53 #define WL_TMP(args)
54 #define WL_OID(args)
55 #define WL_RATE(args)           do {if (wl_msg_level & WL_RATE_VAL) WL_PRINT(args);} while (0)
56 #define WL_ASSOC(args)          do {if (wl_msg_level & WL_ASSOC_VAL) WL_PRINT(args);} while (0)
57 #define WL_PRUSR(m, b, n)
58 #define WL_PS(args)             do {if (wl_msg_level & WL_PS_VAL) WL_PRINT(args);} while (0)
59
60 #define WL_PORT(args)
61 #define WL_DUAL(args)
62 #define WL_REGULATORY(args)     do {if (wl_msg_level & WL_REGULATORY_VAL) WL_PRINT(args);} while (0)
63
64 #define WL_MPC(args)
65 #define WL_APSTA(args)
66 #define WL_APSTA_BCN(args)
67 #define WL_APSTA_TX(args)
68 #define WL_APSTA_TSF(args)
69 #define WL_APSTA_BSSID(args)
70 #define WL_BA(args)
71 #define WL_MBSS(args)
72 #define WL_PROTO(args)
73
74 #define WL_CAC(args)            do {if (wl_msg_level & WL_CAC_VAL) WL_PRINT(args);} while (0)
75 #define WL_AMSDU(args)
76 #define WL_AMPDU(args)
77 #define WL_FFPLD(args)
78 #define WL_MCHAN(args)
79
80 #define WL_DFS(args)
81 #define WL_WOWL(args)
82 #define WL_DPT(args)
83 #define WL_ASSOC_OR_DPT(args)
84 #define WL_SCAN(args)           do {if (wl_msg_level2 & WL_SCAN_VAL) WL_PRINT(args);} while (0)
85 #define WL_COEX(args)
86 #define WL_RTDC(w, s, i, j)
87 #define WL_RTDC2(w, s, i, j)
88 #define WL_CHANINT(args)
89 #define WL_BTA(args)
90 #define WL_P2P(args)
91 #define WL_ITFR(args)
92 #define WL_TDLS(args)
93 #define WL_MCNX(args)
94 #define WL_PROT(args)
95 #define WL_PSTA(args)
96 #define WL_TRF_MGMT(args)
97 #define WL_L2FILTER(args)
98 #define WL_MQ(args)
99 #define WL_TXBF(args)
100 #define WL_P2PO(args)
101 #define WL_NET_DETECT(args)
102 #define WL_ROAM(args)
103 #define WL_WNM(args)
104
105
106 #define WL_AMPDU_UPDN(args)
107 #define WL_AMPDU_RX(args)
108 #define WL_AMPDU_ERR(args)
109 #define WL_AMPDU_TX(args)
110 #define WL_AMPDU_CTL(args)
111 #define WL_AMPDU_HW(args)
112 #define WL_AMPDU_HWTXS(args)
113 #define WL_AMPDU_HWDBG(args)
114 #define WL_AMPDU_STAT(args)
115 #define WL_AMPDU_ERR_ON()       0
116 #define WL_AMPDU_HW_ON()        0
117 #define WL_AMPDU_HWTXS_ON()     0
118
119 #define WL_APSTA_UPDN(args)
120 #define WL_APSTA_RX(args)
121 #define WL_WSEC(args)
122 #define WL_WSEC_DUMP(args)
123 #define WL_PCIE(args)
124 #define WL_CHANLOG(w, s, i, j)
125
126 #define WL_ERROR_ON()           (wl_msg_level & WL_ERROR_VAL)
127 #define WL_TRACE_ON()           0
128 #define WL_PRHDRS_ON()          0
129 #define WL_PRPKT_ON()           0
130 #define WL_INFORM_ON()          0
131 #define WL_TMP_ON()             0
132 #define WL_OID_ON()             0
133 #define WL_RATE_ON()            (wl_msg_level & WL_RATE_VAL)
134 #define WL_ASSOC_ON()           (wl_msg_level & WL_ASSOC_VAL)
135 #define WL_PRUSR_ON()           0
136 #define WL_PS_ON()              (wl_msg_level & WL_PS_VAL)
137 #define WL_PORT_ON()            0
138 #define WL_WSEC_ON()            0
139 #define WL_WSEC_DUMP_ON()       0
140 #define WL_MPC_ON()             0
141 #define WL_REGULATORY_ON()      (wl_msg_level & WL_REGULATORY_VAL)
142 #define WL_APSTA_ON()           0
143 #define WL_DFS_ON()             0
144 #define WL_MBSS_ON()            0
145 #define WL_CAC_ON()             (wl_msg_level & WL_CAC_VAL)
146 #define WL_AMPDU_ON()           0
147 #define WL_DPT_ON()             0
148 #define WL_WOWL_ON()            0
149 #define WL_SCAN_ON()            (wl_msg_level2 & WL_SCAN_VAL)
150 #define WL_BTA_ON()             0
151 #define WL_P2P_ON()             0
152 #define WL_ITFR_ON()            0
153 #define WL_MCHAN_ON()           0
154 #define WL_TDLS_ON()            0
155 #define WL_MCNX_ON()            0
156 #define WL_PROT_ON()            0
157 #define WL_PSTA_ON()            0
158 #define WL_TRF_MGMT_ON()        0
159 #define WL_LPC_ON()             0
160 #define WL_L2FILTER_ON()        0
161 #define WL_TXBF_ON()            0
162 #define WL_P2PO_ON()            0
163 #define WL_CHANLOG_ON()         0
164 #define WL_NET_DETECT_ON()      0
165 #define WL_WNM_ON()             0
166 #define WL_PCIE_ON()            0
167
168 #else /* !BCMDBG */
169
170 /* DBGONLY() macro to reduce ifdefs in code for statements that are only needed when
171  * BCMDBG is defined.
172  */
173 #define DBGONLY(x)
174
175 /* To disable a message completely ... until you need it again */
176 #define WL_NONE(args)
177
178 #define WL_ERROR(args)
179 #define WL_TRACE(args)
180 #ifndef LINUX_POSTMOGRIFY_REMOVAL
181 #ifdef WLMSG_PRHDRS
182 #define WL_PRHDRS_MSG(args)             WL_PRINT(args)
183 #define WL_PRHDRS(i, p, f, t, r, l)     wlc_print_hdrs(i, p, f, t, r, l)
184 #else
185 #define WL_PRHDRS_MSG(args)
186 #define WL_PRHDRS(i, p, f, t, r, l)
187 #endif
188 #ifdef WLMSG_PRPKT
189 #define WL_PRPKT(m, b, n)       prhex(m, b, n)
190 #else
191 #define WL_PRPKT(m, b, n)
192 #endif
193 #ifdef WLMSG_INFORM
194 #define WL_INFORM(args)         WL_PRINT(args)
195 #else
196 #define WL_INFORM(args)
197 #endif
198 #define WL_TMP(args)
199 #ifdef WLMSG_OID
200 #define WL_OID(args)            WL_PRINT(args)
201 #else
202 #define WL_OID(args)
203 #endif
204 #define WL_RATE(args)
205 #ifdef WLMSG_ASSOC
206 #define WL_ASSOC(args)          WL_PRINT(args)
207 #else
208 #define WL_ASSOC(args)
209 #endif
210 #define WL_PRUSR(m, b, n)
211 #ifdef WLMSG_PS
212 #define WL_PS(args)             WL_PRINT(args)
213 #else
214 #define WL_PS(args)
215 #endif
216 #ifdef WLMSG_ROAM
217 #define WL_ROAM(args)   WL_PRINT(args)
218 #else
219 #define WL_ROAM(args)
220 #endif
221 #define WL_PORT(args)
222 #define WL_DUAL(args)
223 #define WL_REGULATORY(args)
224
225 #ifdef WLMSG_MPC
226 #define WL_MPC(args)            WL_PRINT(args)
227 #else
228 #define WL_MPC(args)
229 #endif
230 #define WL_APSTA(args)
231 #define WL_APSTA_BCN(args)
232 #define WL_APSTA_TX(args)
233 #define WL_APSTA_TSF(args)
234 #define WL_APSTA_BSSID(args)
235 #define WL_BA(args)
236 #define WL_MBSS(args)
237 #define WL_MODE_SWITCH(args)
238 #define WL_PROTO(args)
239
240 #define WL_CAC(args)
241 #define WL_AMSDU(args)
242 #define WL_AMPDU(args)
243 #define WL_FFPLD(args)
244 #define WL_MCHAN(args)
245
246 /* Define WLMSG_DFS automatically for WLTEST builds */
247
248 #ifdef WLMSG_DFS
249 #define WL_DFS(args)            do {if (wl_msg_level & WL_DFS_VAL) WL_PRINT(args);} while (0)
250 #else /* WLMSG_DFS */
251 #define WL_DFS(args)
252 #endif /* WLMSG_DFS */
253 #define WL_WOWL(args)
254 #ifdef WLMSG_SCAN
255 #define WL_SCAN(args)           WL_PRINT(args)
256 #else
257 #define WL_SCAN(args)
258 #endif
259 #define WL_COEX(args)
260 #define WL_RTDC(w, s, i, j)
261 #define WL_RTDC2(w, s, i, j)
262 #define WL_CHANINT(args)
263 #ifdef WLMSG_BTA
264 #define WL_BTA(args)            WL_PRINT(args)
265 #else
266 #define WL_BTA(args)
267 #endif
268 #define WL_WMF(args)
269 #define WL_P2P(args)
270 #define WL_ITFR(args)
271 #define WL_TDLS(args)
272 #define WL_MCNX(args)
273 #define WL_PROT(args)
274 #define WL_PSTA(args)
275 #define WL_TBTT(args)
276 #define WL_TRF_MGMT(args)
277 #define WL_L2FILTER(args)
278 #define WL_MQ(args)
279 #define WL_P2PO(args)
280 #define WL_WNM(args)
281 #define WL_TXBF(args)
282 #define WL_CHANLOG(w, s, i, j)
283 #define WL_NET_DETECT(args)
284
285 #define WL_ERROR_ON()           0
286 #define WL_TRACE_ON()           0
287 #ifdef WLMSG_PRHDRS
288 #define WL_PRHDRS_ON()          1
289 #else
290 #define WL_PRHDRS_ON()          0
291 #endif
292 #ifdef WLMSG_PRPKT
293 #define WL_PRPKT_ON()           1
294 #else
295 #define WL_PRPKT_ON()           0
296 #endif
297 #ifdef WLMSG_INFORM
298 #define WL_INFORM_ON()          1
299 #else
300 #define WL_INFORM_ON()          0
301 #endif
302 #ifdef WLMSG_OID
303 #define WL_OID_ON()             1
304 #else
305 #define WL_OID_ON()             0
306 #endif
307 #define WL_TMP_ON()             0
308 #define WL_RATE_ON()            0
309 #ifdef WLMSG_ASSOC
310 #define WL_ASSOC_ON()           1
311 #else
312 #define WL_ASSOC_ON()           0
313 #endif
314 #define WL_PORT_ON()            0
315 #ifdef WLMSG_WSEC
316 #define WL_WSEC_ON()            1
317 #define WL_WSEC_DUMP_ON()       1
318 #else
319 #define WL_WSEC_ON()            0
320 #define WL_WSEC_DUMP_ON()       0
321 #endif
322 #ifdef WLMSG_MPC
323 #define WL_MPC_ON()             1
324 #else
325 #define WL_MPC_ON()             0
326 #endif
327 #define WL_REGULATORY_ON()      0
328
329 #define WL_APSTA_ON()           0
330 #define WL_BA_ON()              0
331 #define WL_MBSS_ON()            0
332 #define WL_MODE_SWITCH_ON()             0
333 #ifdef WLMSG_DFS
334 #define WL_DFS_ON()             1
335 #else /* WLMSG_DFS */
336 #define WL_DFS_ON()             0
337 #endif /* WLMSG_DFS */
338 #ifdef WLMSG_SCAN
339 #define WL_SCAN_ON()            1
340 #else
341 #define WL_SCAN_ON()            0
342 #endif
343 #ifdef WLMSG_BTA
344 #define WL_BTA_ON()             1
345 #else
346 #define WL_BTA_ON()             0
347 #endif
348 #define WL_WMF_ON()             0
349 #define WL_P2P_ON()             0
350 #define WL_MCHAN_ON()           0
351 #define WL_TDLS_ON()            0
352 #define WL_MCNX_ON()            0
353 #define WL_PROT_ON()            0
354 #define WL_TBTT_ON()            0
355 #define WL_PWRSEL_ON()          0
356 #define WL_L2FILTER_ON()        0
357 #define WL_MQ_ON()              0
358 #define WL_P2PO_ON()            0
359 #define WL_TXBF_ON()            0
360 #define WL_CHANLOG_ON()         0
361
362 #define WL_AMPDU_UPDN(args)
363 #define WL_AMPDU_RX(args)
364 #define WL_AMPDU_ERR(args)
365 #define WL_AMPDU_TX(args)
366 #define WL_AMPDU_CTL(args)
367 #define WL_AMPDU_HW(args)
368 #define WL_AMPDU_HWTXS(args)
369 #define WL_AMPDU_HWDBG(args)
370 #define WL_AMPDU_STAT(args)
371 #define WL_AMPDU_ERR_ON()       0
372 #define WL_AMPDU_HW_ON()        0
373 #define WL_AMPDU_HWTXS_ON()     0
374
375 #define WL_WNM_ON()             0
376 #endif /* LINUX_POSTMOGRIFY_REMOVAL */
377 #define WL_APSTA_UPDN(args)
378 #define WL_APSTA_RX(args)
379 #ifdef WLMSG_WSEC
380 #define WL_WSEC(args)           WL_PRINT(args)
381 #define WL_WSEC_DUMP(args)      WL_PRINT(args)
382 #else
383 #define WL_WSEC(args)
384 #define WL_WSEC_DUMP(args)
385 #endif
386 #define WL_PCIE(args)           do {if (wl_msg_level2 & WL_PCIE_VAL) WL_PRINT(args);} while (0)
387 #define WL_PCIE_ON()            (wl_msg_level2 & WL_PCIE_VAL)
388 #endif 
389
390 extern uint32 wl_msg_level;
391 extern uint32 wl_msg_level2;
392 #endif /* _wl_dbg_h_ */