2 * Debug/trace/assert driver definitions for Dongle Host Driver.
4 * Copyright (C) 1999-2016, Broadcom Corporation
6 * Unless you and Broadcom execute a separate written software license
7 * agreement governing use of this software, this software is licensed to you
8 * under the terms of the GNU General Public License version 2 (the "GPL"),
9 * available at http://www.broadcom.com/licenses/GPLv2.php, with the
10 * following added to such license:
12 * As a special exception, the copyright holders of this software give you
13 * permission to link this software with independent modules, and to copy and
14 * distribute the resulting executable under terms of your choice, provided that
15 * you also meet, for each linked independent module, the terms and conditions of
16 * the license of that module. An independent module is a module which is not
17 * derived from this software. The special exception does not apply to any
18 * modifications of the software.
20 * Notwithstanding the above, under no circumstances may you combine this
21 * software in any way with any other Broadcom software provided under a license
22 * other than the GPL, without Broadcom's express prior written consent.
25 * <<Broadcom-WL-IPTag/Open:>>
27 * $Id: dhd_dbg.h 598059 2015-11-07 07:31:52Z $
33 #define USE_NET_RATELIMIT 1
35 #if defined(DHD_DEBUG)
37 extern void dhd_log_dump_print(const char *fmt, ...);
38 extern char *dhd_log_dump_get_timestamp(void);
39 #define DHD_ERROR(args) \
41 if (dhd_msg_level & DHD_ERROR_VAL) { \
43 dhd_log_dump_print("[%s] %s: ", dhd_log_dump_get_timestamp(), __func__); \
44 dhd_log_dump_print args; \
48 #define DHD_ERROR(args) do {if (dhd_msg_level & DHD_ERROR_VAL) printf args;} while (0)
49 #endif /* DHD_LOG_DUMP */
50 #define DHD_TRACE(args) do {if (dhd_msg_level & DHD_TRACE_VAL) printf args;} while (0)
51 #define DHD_INFO(args) do {if (dhd_msg_level & DHD_INFO_VAL) printf args;} while (0)
52 #define DHD_DATA(args) do {if (dhd_msg_level & DHD_DATA_VAL) printf args;} while (0)
53 #define DHD_CTL(args) do {if (dhd_msg_level & DHD_CTL_VAL) printf args;} while (0)
54 #define DHD_TIMER(args) do {if (dhd_msg_level & DHD_TIMER_VAL) printf args;} while (0)
55 #define DHD_HDRS(args) do {if (dhd_msg_level & DHD_HDRS_VAL) printf args;} while (0)
56 #define DHD_BYTES(args) do {if (dhd_msg_level & DHD_BYTES_VAL) printf args;} while (0)
57 #define DHD_INTR(args) do {if (dhd_msg_level & DHD_INTR_VAL) printf args;} while (0)
58 #define DHD_GLOM(args) do {if (dhd_msg_level & DHD_GLOM_VAL) printf args;} while (0)
60 #define DHD_EVENT(args) \
62 if (dhd_msg_level & DHD_EVENT_VAL) { \
64 dhd_log_dump_print("[%s] %s: ", dhd_log_dump_get_timestamp(), __func__); \
65 dhd_log_dump_print args; \
69 #define DHD_EVENT(args) do {if (dhd_msg_level & DHD_EVENT_VAL) printf args;} while (0)
70 #endif /* DHD_LOG_DUMP */
71 #define DHD_BTA(args) do {if (dhd_msg_level & DHD_BTA_VAL) printf args;} while (0)
72 #define DHD_ISCAN(args) do {if (dhd_msg_level & DHD_ISCAN_VAL) printf args;} while (0)
73 #define DHD_ARPOE(args) do {if (dhd_msg_level & DHD_ARPOE_VAL) printf args;} while (0)
74 #define DHD_REORDER(args) do {if (dhd_msg_level & DHD_REORDER_VAL) printf args;} while (0)
75 #define DHD_PNO(args) do {if (dhd_msg_level & DHD_PNO_VAL) printf args;} while (0)
77 #define DHD_MSGTRACE_LOG(args) \
79 if (dhd_msg_level & DHD_MSGTRACE_VAL) { \
81 dhd_log_dump_print("[%s] %s: ", dhd_log_dump_get_timestamp(), __func__); \
82 dhd_log_dump_print args; \
86 #define DHD_MSGTRACE_LOG(args) do {if (dhd_msg_level & DHD_MSGTRACE_VAL) printf args;} while (0)
87 #endif /* DHD_LOG_DUMP */
88 #define DHD_FWLOG(args) do {if (dhd_msg_level & DHD_FWLOG_VAL) printf args;} while (0)
89 #define DHD_RTT(args) do {if (dhd_msg_level & DHD_RTT_VAL) printf args;} while (0)
90 #define DHD_IOV_INFO(args) do {if (dhd_msg_level & DHD_IOV_INFO_VAL) printf args;} while (0)
93 #define DHD_ERROR_EX(args) \
95 if (dhd_msg_level & DHD_ERROR_VAL) { \
96 dhd_log_dump_print("[%s] %s: ", dhd_log_dump_get_timestamp(), __func__); \
97 dhd_log_dump_print args; \
101 #define DHD_ERROR_EX(args) DHD_ERROR(args)
102 #endif /* DHD_LOG_DUMP */
104 #ifdef CUSTOMER_HW4_DEBUG
105 #define DHD_TRACE_HW4 DHD_ERROR
106 #define DHD_INFO_HW4 DHD_ERROR
108 #define DHD_TRACE_HW4 DHD_TRACE
109 #define DHD_INFO_HW4 DHD_INFO
110 #endif /* CUSTOMER_HW4_DEBUG */
112 #define DHD_ERROR_ON() (dhd_msg_level & DHD_ERROR_VAL)
113 #define DHD_TRACE_ON() (dhd_msg_level & DHD_TRACE_VAL)
114 #define DHD_INFO_ON() (dhd_msg_level & DHD_INFO_VAL)
115 #define DHD_DATA_ON() (dhd_msg_level & DHD_DATA_VAL)
116 #define DHD_CTL_ON() (dhd_msg_level & DHD_CTL_VAL)
117 #define DHD_TIMER_ON() (dhd_msg_level & DHD_TIMER_VAL)
118 #define DHD_HDRS_ON() (dhd_msg_level & DHD_HDRS_VAL)
119 #define DHD_BYTES_ON() (dhd_msg_level & DHD_BYTES_VAL)
120 #define DHD_INTR_ON() (dhd_msg_level & DHD_INTR_VAL)
121 #define DHD_GLOM_ON() (dhd_msg_level & DHD_GLOM_VAL)
122 #define DHD_EVENT_ON() (dhd_msg_level & DHD_EVENT_VAL)
123 #define DHD_BTA_ON() (dhd_msg_level & DHD_BTA_VAL)
124 #define DHD_ISCAN_ON() (dhd_msg_level & DHD_ISCAN_VAL)
125 #define DHD_ARPOE_ON() (dhd_msg_level & DHD_ARPOE_VAL)
126 #define DHD_REORDER_ON() (dhd_msg_level & DHD_REORDER_VAL)
127 #define DHD_NOCHECKDIED_ON() (dhd_msg_level & DHD_NOCHECKDIED_VAL)
128 #define DHD_PNO_ON() (dhd_msg_level & DHD_PNO_VAL)
129 #define DHD_FWLOG_ON() (dhd_msg_level & DHD_FWLOG_VAL)
130 #define DHD_IOV_INFO_ON() (dhd_msg_level & DHD_IOV_INFO_VAL)
132 #else /* defined(BCMDBG) || defined(DHD_DEBUG) */
134 #define DHD_ERROR(args) do {printf args;} while (0)
135 #define DHD_TRACE(args)
136 #define DHD_INFO(args)
137 #define DHD_DATA(args)
138 #define DHD_CTL(args)
139 #define DHD_TIMER(args)
140 #define DHD_HDRS(args)
141 #define DHD_BYTES(args)
142 #define DHD_INTR(args)
143 #define DHD_GLOM(args)
144 #define DHD_EVENT(args)
145 #define DHD_BTA(args)
146 #define DHD_ISCAN(args)
147 #define DHD_ARPOE(args)
148 #define DHD_REORDER(args)
149 #define DHD_PNO(args)
150 #define DHD_MSGTRACE_LOG(args)
151 #define DHD_FWLOG(args)
152 #define DHD_IOV_INFO(args)
153 #define DHD_ERROR_EX(args) DHD_ERROR(args)
155 #ifdef CUSTOMER_HW4_DEBUG
156 #define DHD_TRACE_HW4 DHD_ERROR
157 #define DHD_INFO_HW4 DHD_ERROR
159 #define DHD_TRACE_HW4 DHD_TRACE
160 #define DHD_INFO_HW4 DHD_INFO
161 #endif /* CUSTOMER_HW4_DEBUG */
163 #define DHD_ERROR_ON() 0
164 #define DHD_TRACE_ON() 0
165 #define DHD_INFO_ON() 0
166 #define DHD_DATA_ON() 0
167 #define DHD_CTL_ON() 0
168 #define DHD_TIMER_ON() 0
169 #define DHD_HDRS_ON() 0
170 #define DHD_BYTES_ON() 0
171 #define DHD_INTR_ON() 0
172 #define DHD_GLOM_ON() 0
173 #define DHD_EVENT_ON() 0
174 #define DHD_BTA_ON() 0
175 #define DHD_ISCAN_ON() 0
176 #define DHD_ARPOE_ON() 0
177 #define DHD_REORDER_ON() 0
178 #define DHD_NOCHECKDIED_ON() 0
179 #define DHD_PNO_ON() 0
180 #define DHD_FWLOG_ON() 0
181 #define DHD_IOV_INFO_ON() 0
185 #define DHD_LOG(args)
187 #define DHD_BLOG(cp, size)
189 #define DHD_NONE(args)
190 extern int dhd_msg_level;
192 /* Defines msg bits */
193 #include <dhdioctl.h>
195 #endif /* _dhd_dbg_ */