~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/net/mac802154/trace.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /* Based on net/mac80211/trace.h */
  3 
  4 #undef TRACE_SYSTEM
  5 #define TRACE_SYSTEM mac802154
  6 
  7 #if !defined(__MAC802154_DRIVER_TRACE) || defined(TRACE_HEADER_MULTI_READ)
  8 #define __MAC802154_DRIVER_TRACE
  9 
 10 #include <linux/tracepoint.h>
 11 
 12 #include <net/mac802154.h>
 13 #include "ieee802154_i.h"
 14 
 15 #define MAXNAME         32
 16 #define LOCAL_ENTRY     __array(char, wpan_phy_name, MAXNAME)
 17 #define LOCAL_ASSIGN    strscpy(__entry->wpan_phy_name, \
 18                                 wpan_phy_name(local->hw.phy), MAXNAME)
 19 #define LOCAL_PR_FMT    "%s"
 20 #define LOCAL_PR_ARG    __entry->wpan_phy_name
 21 
 22 #define CCA_ENTRY __field(enum nl802154_cca_modes, cca_mode) \
 23                   __field(enum nl802154_cca_opts, cca_opt)
 24 #define CCA_ASSIGN \
 25         do {                                     \
 26                 (__entry->cca_mode) = cca->mode; \
 27                 (__entry->cca_opt) = cca->opt;   \
 28         } while (0)
 29 #define CCA_PR_FMT "cca_mode: %d, cca_opt: %d"
 30 #define CCA_PR_ARG __entry->cca_mode, __entry->cca_opt
 31 
 32 #define BOOL_TO_STR(bo) (bo) ? "true" : "false"
 33 
 34 /* Tracing for driver callbacks */
 35 
 36 DECLARE_EVENT_CLASS(local_only_evt4,
 37         TP_PROTO(struct ieee802154_local *local),
 38         TP_ARGS(local),
 39         TP_STRUCT__entry(
 40                 LOCAL_ENTRY
 41         ),
 42         TP_fast_assign(
 43                 LOCAL_ASSIGN;
 44         ),
 45         TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG)
 46 );
 47 
 48 DEFINE_EVENT(local_only_evt4, 802154_drv_return_void,
 49         TP_PROTO(struct ieee802154_local *local),
 50         TP_ARGS(local)
 51 );
 52 
 53 TRACE_EVENT(802154_drv_return_int,
 54         TP_PROTO(struct ieee802154_local *local, int ret),
 55         TP_ARGS(local, ret),
 56         TP_STRUCT__entry(
 57                 LOCAL_ENTRY
 58                 __field(int, ret)
 59         ),
 60         TP_fast_assign(
 61                 LOCAL_ASSIGN;
 62                 __entry->ret = ret;
 63         ),
 64         TP_printk(LOCAL_PR_FMT ", returned: %d", LOCAL_PR_ARG,
 65                   __entry->ret)
 66 );
 67 
 68 DEFINE_EVENT(local_only_evt4, 802154_drv_start,
 69         TP_PROTO(struct ieee802154_local *local),
 70         TP_ARGS(local)
 71 );
 72 
 73 DEFINE_EVENT(local_only_evt4, 802154_drv_stop,
 74         TP_PROTO(struct ieee802154_local *local),
 75         TP_ARGS(local)
 76 );
 77 
 78 TRACE_EVENT(802154_drv_set_channel,
 79         TP_PROTO(struct ieee802154_local *local, u8 page, u8 channel),
 80         TP_ARGS(local, page, channel),
 81         TP_STRUCT__entry(
 82                 LOCAL_ENTRY
 83                 __field(u8, page)
 84                 __field(u8, channel)
 85         ),
 86         TP_fast_assign(
 87                 LOCAL_ASSIGN;
 88                 __entry->page = page;
 89                 __entry->channel = channel;
 90         ),
 91         TP_printk(LOCAL_PR_FMT ", page: %d, channel: %d", LOCAL_PR_ARG,
 92                   __entry->page, __entry->channel)
 93 );
 94 
 95 TRACE_EVENT(802154_drv_set_cca_mode,
 96         TP_PROTO(struct ieee802154_local *local,
 97                  const struct wpan_phy_cca *cca),
 98         TP_ARGS(local, cca),
 99         TP_STRUCT__entry(
100                 LOCAL_ENTRY
101                 CCA_ENTRY
102         ),
103         TP_fast_assign(
104                 LOCAL_ASSIGN;
105                 CCA_ASSIGN;
106         ),
107         TP_printk(LOCAL_PR_FMT ", " CCA_PR_FMT, LOCAL_PR_ARG,
108                   CCA_PR_ARG)
109 );
110 
111 TRACE_EVENT(802154_drv_set_cca_ed_level,
112         TP_PROTO(struct ieee802154_local *local, s32 mbm),
113         TP_ARGS(local, mbm),
114         TP_STRUCT__entry(
115                 LOCAL_ENTRY
116                 __field(s32, mbm)
117         ),
118         TP_fast_assign(
119                 LOCAL_ASSIGN;
120                 __entry->mbm = mbm;
121         ),
122         TP_printk(LOCAL_PR_FMT ", ed level: %d", LOCAL_PR_ARG,
123                   __entry->mbm)
124 );
125 
126 TRACE_EVENT(802154_drv_set_tx_power,
127         TP_PROTO(struct ieee802154_local *local, s32 power),
128         TP_ARGS(local, power),
129         TP_STRUCT__entry(
130                 LOCAL_ENTRY
131                 __field(s32, power)
132         ),
133         TP_fast_assign(
134                 LOCAL_ASSIGN;
135                 __entry->power = power;
136         ),
137         TP_printk(LOCAL_PR_FMT ", mbm: %d", LOCAL_PR_ARG,
138                  __entry->power)
139 );
140 
141 TRACE_EVENT(802154_drv_set_lbt_mode,
142         TP_PROTO(struct ieee802154_local *local, bool mode),
143         TP_ARGS(local, mode),
144         TP_STRUCT__entry(
145                 LOCAL_ENTRY
146                 __field(bool, mode)
147         ),
148         TP_fast_assign(
149                 LOCAL_ASSIGN;
150                 __entry->mode = mode;
151         ),
152         TP_printk(LOCAL_PR_FMT ", lbt mode: %s", LOCAL_PR_ARG,
153                   BOOL_TO_STR(__entry->mode))
154 );
155 
156 TRACE_EVENT(802154_drv_set_short_addr,
157         TP_PROTO(struct ieee802154_local *local, __le16 short_addr),
158         TP_ARGS(local, short_addr),
159         TP_STRUCT__entry(
160                 LOCAL_ENTRY
161                 __field(__le16, short_addr)
162         ),
163         TP_fast_assign(
164                 LOCAL_ASSIGN;
165                 __entry->short_addr = short_addr;
166         ),
167         TP_printk(LOCAL_PR_FMT ", short addr: 0x%04x", LOCAL_PR_ARG,
168                   le16_to_cpu(__entry->short_addr))
169 );
170 
171 TRACE_EVENT(802154_drv_set_pan_id,
172         TP_PROTO(struct ieee802154_local *local, __le16 pan_id),
173         TP_ARGS(local, pan_id),
174         TP_STRUCT__entry(
175                 LOCAL_ENTRY
176                 __field(__le16, pan_id)
177         ),
178         TP_fast_assign(
179                 LOCAL_ASSIGN;
180                 __entry->pan_id = pan_id;
181         ),
182         TP_printk(LOCAL_PR_FMT ", pan id: 0x%04x", LOCAL_PR_ARG,
183                   le16_to_cpu(__entry->pan_id))
184 );
185 
186 TRACE_EVENT(802154_drv_set_extended_addr,
187         TP_PROTO(struct ieee802154_local *local, __le64 extended_addr),
188         TP_ARGS(local, extended_addr),
189         TP_STRUCT__entry(
190                 LOCAL_ENTRY
191                 __field(__le64, extended_addr)
192         ),
193         TP_fast_assign(
194                 LOCAL_ASSIGN;
195                 __entry->extended_addr = extended_addr;
196         ),
197         TP_printk(LOCAL_PR_FMT ", extended addr: 0x%llx", LOCAL_PR_ARG,
198                   le64_to_cpu(__entry->extended_addr))
199 );
200 
201 TRACE_EVENT(802154_drv_set_pan_coord,
202         TP_PROTO(struct ieee802154_local *local, bool is_coord),
203         TP_ARGS(local, is_coord),
204         TP_STRUCT__entry(
205                 LOCAL_ENTRY
206                 __field(bool, is_coord)
207         ),
208         TP_fast_assign(
209                 LOCAL_ASSIGN;
210                 __entry->is_coord = is_coord;
211         ),
212         TP_printk(LOCAL_PR_FMT ", is_coord: %s", LOCAL_PR_ARG,
213                   BOOL_TO_STR(__entry->is_coord))
214 );
215 
216 TRACE_EVENT(802154_drv_set_csma_params,
217         TP_PROTO(struct ieee802154_local *local, u8 min_be, u8 max_be,
218                  u8 max_csma_backoffs),
219         TP_ARGS(local, min_be, max_be, max_csma_backoffs),
220         TP_STRUCT__entry(
221                 LOCAL_ENTRY
222                 __field(u8, min_be)
223                 __field(u8, max_be)
224                 __field(u8, max_csma_backoffs)
225         ),
226         TP_fast_assign(
227                 LOCAL_ASSIGN,
228                 __entry->min_be = min_be;
229                 __entry->max_be = max_be;
230                 __entry->max_csma_backoffs = max_csma_backoffs;
231         ),
232         TP_printk(LOCAL_PR_FMT ", min be: %d, max be: %d, max csma backoffs: %d",
233                   LOCAL_PR_ARG, __entry->min_be, __entry->max_be,
234                   __entry->max_csma_backoffs)
235 );
236 
237 TRACE_EVENT(802154_drv_set_max_frame_retries,
238         TP_PROTO(struct ieee802154_local *local, s8 max_frame_retries),
239         TP_ARGS(local, max_frame_retries),
240         TP_STRUCT__entry(
241                 LOCAL_ENTRY
242                 __field(s8, max_frame_retries)
243         ),
244         TP_fast_assign(
245                 LOCAL_ASSIGN;
246                 __entry->max_frame_retries = max_frame_retries;
247         ),
248         TP_printk(LOCAL_PR_FMT ", max frame retries: %d", LOCAL_PR_ARG,
249                   __entry->max_frame_retries)
250 );
251 
252 TRACE_EVENT(802154_drv_set_promiscuous_mode,
253         TP_PROTO(struct ieee802154_local *local, bool on),
254         TP_ARGS(local, on),
255         TP_STRUCT__entry(
256                 LOCAL_ENTRY
257                 __field(bool, on)
258         ),
259         TP_fast_assign(
260                 LOCAL_ASSIGN;
261                 __entry->on = on;
262         ),
263         TP_printk(LOCAL_PR_FMT ", promiscuous mode: %s", LOCAL_PR_ARG,
264                   BOOL_TO_STR(__entry->on))
265 );
266 
267 TRACE_EVENT(802154_new_scan_event,
268         TP_PROTO(struct ieee802154_coord_desc *desc),
269         TP_ARGS(desc),
270         TP_STRUCT__entry(
271                 __field(__le16, pan_id)
272                 __field(__le64, addr)
273                 __field(u8, channel)
274                 __field(u8, page)
275         ),
276         TP_fast_assign(
277                 __entry->page = desc->page;
278                 __entry->channel = desc->channel;
279                 __entry->pan_id = desc->addr.pan_id;
280                 __entry->addr = desc->addr.extended_addr;
281         ),
282         TP_printk("panid: %u, coord_addr: 0x%llx, page: %u, channel: %u",
283                   __le16_to_cpu(__entry->pan_id), __le64_to_cpu(__entry->addr),
284                   __entry->page, __entry->channel)
285 );
286 
287 DEFINE_EVENT(802154_new_scan_event, 802154_scan_event,
288         TP_PROTO(struct ieee802154_coord_desc *desc),
289         TP_ARGS(desc)
290 );
291 
292 #endif /* !__MAC802154_DRIVER_TRACE || TRACE_HEADER_MULTI_READ */
293 
294 #undef TRACE_INCLUDE_PATH
295 #define TRACE_INCLUDE_PATH .
296 #undef TRACE_INCLUDE_FILE
297 #define TRACE_INCLUDE_FILE trace
298 #include <trace/define_trace.h>
299 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php