]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
b4f85443 JB |
2 | /* |
3 | * Portions | |
f1871abd | 4 | * Copyright (C) 2022 - 2023 Intel Corporation |
b4f85443 | 5 | */ |
bdcbd8e0 JB |
6 | #ifndef __MAC80211_DEBUG_H |
7 | #define __MAC80211_DEBUG_H | |
3fae0273 | 8 | #include <net/cfg80211.h> |
bdcbd8e0 | 9 | |
239281f8 RL |
10 | #ifdef CONFIG_MAC80211_OCB_DEBUG |
11 | #define MAC80211_OCB_DEBUG 1 | |
12 | #else | |
13 | #define MAC80211_OCB_DEBUG 0 | |
14 | #endif | |
15 | ||
bdcbd8e0 JB |
16 | #ifdef CONFIG_MAC80211_IBSS_DEBUG |
17 | #define MAC80211_IBSS_DEBUG 1 | |
18 | #else | |
19 | #define MAC80211_IBSS_DEBUG 0 | |
20 | #endif | |
21 | ||
22 | #ifdef CONFIG_MAC80211_PS_DEBUG | |
23 | #define MAC80211_PS_DEBUG 1 | |
24 | #else | |
25 | #define MAC80211_PS_DEBUG 0 | |
26 | #endif | |
27 | ||
28 | #ifdef CONFIG_MAC80211_HT_DEBUG | |
29 | #define MAC80211_HT_DEBUG 1 | |
30 | #else | |
31 | #define MAC80211_HT_DEBUG 0 | |
32 | #endif | |
33 | ||
34 | #ifdef CONFIG_MAC80211_MPL_DEBUG | |
35 | #define MAC80211_MPL_DEBUG 1 | |
36 | #else | |
37 | #define MAC80211_MPL_DEBUG 0 | |
38 | #endif | |
39 | ||
40 | #ifdef CONFIG_MAC80211_MPATH_DEBUG | |
41 | #define MAC80211_MPATH_DEBUG 1 | |
42 | #else | |
43 | #define MAC80211_MPATH_DEBUG 0 | |
44 | #endif | |
45 | ||
46 | #ifdef CONFIG_MAC80211_MHWMP_DEBUG | |
47 | #define MAC80211_MHWMP_DEBUG 1 | |
48 | #else | |
49 | #define MAC80211_MHWMP_DEBUG 0 | |
50 | #endif | |
51 | ||
52 | #ifdef CONFIG_MAC80211_MESH_SYNC_DEBUG | |
53 | #define MAC80211_MESH_SYNC_DEBUG 1 | |
54 | #else | |
55 | #define MAC80211_MESH_SYNC_DEBUG 0 | |
56 | #endif | |
57 | ||
8f2535b9 CYY |
58 | #ifdef CONFIG_MAC80211_MESH_CSA_DEBUG |
59 | #define MAC80211_MESH_CSA_DEBUG 1 | |
60 | #else | |
61 | #define MAC80211_MESH_CSA_DEBUG 0 | |
62 | #endif | |
63 | ||
3f52b7e3 MP |
64 | #ifdef CONFIG_MAC80211_MESH_PS_DEBUG |
65 | #define MAC80211_MESH_PS_DEBUG 1 | |
66 | #else | |
67 | #define MAC80211_MESH_PS_DEBUG 0 | |
68 | #endif | |
69 | ||
bdcbd8e0 JB |
70 | #ifdef CONFIG_MAC80211_TDLS_DEBUG |
71 | #define MAC80211_TDLS_DEBUG 1 | |
72 | #else | |
73 | #define MAC80211_TDLS_DEBUG 0 | |
74 | #endif | |
75 | ||
76 | #ifdef CONFIG_MAC80211_STA_DEBUG | |
77 | #define MAC80211_STA_DEBUG 1 | |
78 | #else | |
79 | #define MAC80211_STA_DEBUG 0 | |
80 | #endif | |
81 | ||
82 | #ifdef CONFIG_MAC80211_MLME_DEBUG | |
83 | #define MAC80211_MLME_DEBUG 1 | |
84 | #else | |
85 | #define MAC80211_MLME_DEBUG 0 | |
86 | #endif | |
87 | ||
3fae0273 JB |
88 | #ifdef CONFIG_MAC80211_MESSAGE_TRACING |
89 | void __sdata_info(const char *fmt, ...) __printf(1, 2); | |
90 | void __sdata_dbg(bool print, const char *fmt, ...) __printf(2, 3); | |
91 | void __sdata_err(const char *fmt, ...) __printf(1, 2); | |
92 | void __wiphy_dbg(struct wiphy *wiphy, bool print, const char *fmt, ...) | |
93 | __printf(3, 4); | |
94 | ||
95 | #define _sdata_info(sdata, fmt, ...) \ | |
96 | __sdata_info("%s: " fmt, (sdata)->name, ##__VA_ARGS__) | |
97 | #define _sdata_dbg(print, sdata, fmt, ...) \ | |
98 | __sdata_dbg(print, "%s: " fmt, (sdata)->name, ##__VA_ARGS__) | |
99 | #define _sdata_err(sdata, fmt, ...) \ | |
100 | __sdata_err("%s: " fmt, (sdata)->name, ##__VA_ARGS__) | |
101 | #define _wiphy_dbg(print, wiphy, fmt, ...) \ | |
102 | __wiphy_dbg(wiphy, print, fmt, ##__VA_ARGS__) | |
103 | #else | |
bdcbd8e0 JB |
104 | #define _sdata_info(sdata, fmt, ...) \ |
105 | do { \ | |
106 | pr_info("%s: " fmt, \ | |
107 | (sdata)->name, ##__VA_ARGS__); \ | |
108 | } while (0) | |
109 | ||
110 | #define _sdata_dbg(print, sdata, fmt, ...) \ | |
111 | do { \ | |
112 | if (print) \ | |
113 | pr_debug("%s: " fmt, \ | |
114 | (sdata)->name, ##__VA_ARGS__); \ | |
115 | } while (0) | |
116 | ||
117 | #define _sdata_err(sdata, fmt, ...) \ | |
118 | do { \ | |
119 | pr_err("%s: " fmt, \ | |
120 | (sdata)->name, ##__VA_ARGS__); \ | |
121 | } while (0) | |
122 | ||
123 | #define _wiphy_dbg(print, wiphy, fmt, ...) \ | |
124 | do { \ | |
125 | if (print) \ | |
126 | wiphy_dbg((wiphy), fmt, ##__VA_ARGS__); \ | |
127 | } while (0) | |
3fae0273 | 128 | #endif |
bdcbd8e0 JB |
129 | |
130 | #define sdata_info(sdata, fmt, ...) \ | |
131 | _sdata_info(sdata, fmt, ##__VA_ARGS__) | |
132 | #define sdata_err(sdata, fmt, ...) \ | |
133 | _sdata_err(sdata, fmt, ##__VA_ARGS__) | |
134 | #define sdata_dbg(sdata, fmt, ...) \ | |
135 | _sdata_dbg(1, sdata, fmt, ##__VA_ARGS__) | |
136 | ||
b4f85443 | 137 | #define link_info(link, fmt, ...) \ |
c5c48a11 | 138 | do { \ |
f1871abd | 139 | if (ieee80211_vif_is_mld(&(link)->sdata->vif)) \ |
c5c48a11 JB |
140 | _sdata_info((link)->sdata, "[link %d] " fmt, \ |
141 | (link)->link_id, \ | |
142 | ##__VA_ARGS__); \ | |
143 | else \ | |
144 | _sdata_info((link)->sdata, fmt, ##__VA_ARGS__); \ | |
145 | } while (0) | |
b4f85443 | 146 | #define link_err(link, fmt, ...) \ |
c5c48a11 | 147 | do { \ |
f1871abd | 148 | if (ieee80211_vif_is_mld(&(link)->sdata->vif)) \ |
c5c48a11 JB |
149 | _sdata_err((link)->sdata, "[link %d] " fmt, \ |
150 | (link)->link_id, \ | |
151 | ##__VA_ARGS__); \ | |
152 | else \ | |
153 | _sdata_err((link)->sdata, fmt, ##__VA_ARGS__); \ | |
154 | } while (0) | |
310c8387 | 155 | #define _link_id_dbg(print, sdata, link_id, fmt, ...) \ |
c5c48a11 | 156 | do { \ |
310c8387 JB |
157 | if (ieee80211_vif_is_mld(&(sdata)->vif)) \ |
158 | _sdata_dbg(print, sdata, "[link %d] " fmt, \ | |
159 | link_id, ##__VA_ARGS__); \ | |
c5c48a11 | 160 | else \ |
27f8f108 | 161 | _sdata_dbg(print, sdata, fmt, ##__VA_ARGS__); \ |
c5c48a11 | 162 | } while (0) |
310c8387 JB |
163 | #define link_dbg(link, fmt, ...) \ |
164 | _link_id_dbg(1, (link)->sdata, (link)->link_id, \ | |
165 | fmt, ##__VA_ARGS__) | |
b4f85443 | 166 | |
bdcbd8e0 JB |
167 | #define ht_dbg(sdata, fmt, ...) \ |
168 | _sdata_dbg(MAC80211_HT_DEBUG, \ | |
169 | sdata, fmt, ##__VA_ARGS__) | |
170 | ||
171 | #define ht_dbg_ratelimited(sdata, fmt, ...) \ | |
172 | _sdata_dbg(MAC80211_HT_DEBUG && net_ratelimit(), \ | |
173 | sdata, fmt, ##__VA_ARGS__) | |
174 | ||
239281f8 RL |
175 | #define ocb_dbg(sdata, fmt, ...) \ |
176 | _sdata_dbg(MAC80211_OCB_DEBUG, \ | |
177 | sdata, fmt, ##__VA_ARGS__) | |
178 | ||
bdcbd8e0 JB |
179 | #define ibss_dbg(sdata, fmt, ...) \ |
180 | _sdata_dbg(MAC80211_IBSS_DEBUG, \ | |
181 | sdata, fmt, ##__VA_ARGS__) | |
182 | ||
183 | #define ps_dbg(sdata, fmt, ...) \ | |
184 | _sdata_dbg(MAC80211_PS_DEBUG, \ | |
185 | sdata, fmt, ##__VA_ARGS__) | |
186 | ||
187 | #define ps_dbg_hw(hw, fmt, ...) \ | |
188 | _wiphy_dbg(MAC80211_PS_DEBUG, \ | |
189 | (hw)->wiphy, fmt, ##__VA_ARGS__) | |
190 | ||
191 | #define ps_dbg_ratelimited(sdata, fmt, ...) \ | |
192 | _sdata_dbg(MAC80211_PS_DEBUG && net_ratelimit(), \ | |
193 | sdata, fmt, ##__VA_ARGS__) | |
194 | ||
195 | #define mpl_dbg(sdata, fmt, ...) \ | |
196 | _sdata_dbg(MAC80211_MPL_DEBUG, \ | |
197 | sdata, fmt, ##__VA_ARGS__) | |
198 | ||
199 | #define mpath_dbg(sdata, fmt, ...) \ | |
200 | _sdata_dbg(MAC80211_MPATH_DEBUG, \ | |
201 | sdata, fmt, ##__VA_ARGS__) | |
202 | ||
203 | #define mhwmp_dbg(sdata, fmt, ...) \ | |
204 | _sdata_dbg(MAC80211_MHWMP_DEBUG, \ | |
205 | sdata, fmt, ##__VA_ARGS__) | |
206 | ||
207 | #define msync_dbg(sdata, fmt, ...) \ | |
208 | _sdata_dbg(MAC80211_MESH_SYNC_DEBUG, \ | |
209 | sdata, fmt, ##__VA_ARGS__) | |
210 | ||
8f2535b9 CYY |
211 | #define mcsa_dbg(sdata, fmt, ...) \ |
212 | _sdata_dbg(MAC80211_MESH_CSA_DEBUG, \ | |
213 | sdata, fmt, ##__VA_ARGS__) | |
214 | ||
3f52b7e3 MP |
215 | #define mps_dbg(sdata, fmt, ...) \ |
216 | _sdata_dbg(MAC80211_MESH_PS_DEBUG, \ | |
217 | sdata, fmt, ##__VA_ARGS__) | |
218 | ||
bdcbd8e0 JB |
219 | #define tdls_dbg(sdata, fmt, ...) \ |
220 | _sdata_dbg(MAC80211_TDLS_DEBUG, \ | |
221 | sdata, fmt, ##__VA_ARGS__) | |
222 | ||
223 | #define sta_dbg(sdata, fmt, ...) \ | |
224 | _sdata_dbg(MAC80211_STA_DEBUG, \ | |
225 | sdata, fmt, ##__VA_ARGS__) | |
226 | ||
227 | #define mlme_dbg(sdata, fmt, ...) \ | |
228 | _sdata_dbg(MAC80211_MLME_DEBUG, \ | |
229 | sdata, fmt, ##__VA_ARGS__) | |
310c8387 JB |
230 | #define mlme_link_id_dbg(sdata, link_id, fmt, ...) \ |
231 | _link_id_dbg(MAC80211_MLME_DEBUG, sdata, link_id, \ | |
232 | fmt, ##__VA_ARGS__) | |
bdcbd8e0 JB |
233 | |
234 | #define mlme_dbg_ratelimited(sdata, fmt, ...) \ | |
235 | _sdata_dbg(MAC80211_MLME_DEBUG && net_ratelimit(), \ | |
236 | sdata, fmt, ##__VA_ARGS__) | |
237 | ||
238 | #endif /* __MAC80211_DEBUG_H */ |