Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/net/mac802154/trace.h
26285 views
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
300