diff options
Diffstat (limited to 'net/mac80211/driver-trace.h')
-rw-r--r-- | net/mac80211/driver-trace.h | 275 |
1 files changed, 180 insertions, 95 deletions
diff --git a/net/mac80211/driver-trace.h b/net/mac80211/driver-trace.h index 45aab80738e2..ed9edcbd9aa5 100644 --- a/net/mac80211/driver-trace.h +++ b/net/mac80211/driver-trace.h | |||
@@ -55,6 +55,70 @@ DECLARE_EVENT_CLASS(local_only_evt, | |||
55 | TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG) | 55 | TP_printk(LOCAL_PR_FMT, LOCAL_PR_ARG) |
56 | ); | 56 | ); |
57 | 57 | ||
58 | DECLARE_EVENT_CLASS(local_sdata_addr_evt, | ||
59 | TP_PROTO(struct ieee80211_local *local, | ||
60 | struct ieee80211_sub_if_data *sdata), | ||
61 | TP_ARGS(local, sdata), | ||
62 | |||
63 | TP_STRUCT__entry( | ||
64 | LOCAL_ENTRY | ||
65 | VIF_ENTRY | ||
66 | __array(char, addr, 6) | ||
67 | ), | ||
68 | |||
69 | TP_fast_assign( | ||
70 | LOCAL_ASSIGN; | ||
71 | VIF_ASSIGN; | ||
72 | memcpy(__entry->addr, sdata->vif.addr, 6); | ||
73 | ), | ||
74 | |||
75 | TP_printk( | ||
76 | LOCAL_PR_FMT VIF_PR_FMT " addr:%pM", | ||
77 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr | ||
78 | ) | ||
79 | ); | ||
80 | |||
81 | DECLARE_EVENT_CLASS(local_u32_evt, | ||
82 | TP_PROTO(struct ieee80211_local *local, u32 value), | ||
83 | TP_ARGS(local, value), | ||
84 | |||
85 | TP_STRUCT__entry( | ||
86 | LOCAL_ENTRY | ||
87 | __field(u32, value) | ||
88 | ), | ||
89 | |||
90 | TP_fast_assign( | ||
91 | LOCAL_ASSIGN; | ||
92 | __entry->value = value; | ||
93 | ), | ||
94 | |||
95 | TP_printk( | ||
96 | LOCAL_PR_FMT " value:%d", | ||
97 | LOCAL_PR_ARG, __entry->value | ||
98 | ) | ||
99 | ); | ||
100 | |||
101 | DECLARE_EVENT_CLASS(local_sdata_evt, | ||
102 | TP_PROTO(struct ieee80211_local *local, | ||
103 | struct ieee80211_sub_if_data *sdata), | ||
104 | TP_ARGS(local, sdata), | ||
105 | |||
106 | TP_STRUCT__entry( | ||
107 | LOCAL_ENTRY | ||
108 | VIF_ENTRY | ||
109 | ), | ||
110 | |||
111 | TP_fast_assign( | ||
112 | LOCAL_ASSIGN; | ||
113 | VIF_ASSIGN; | ||
114 | ), | ||
115 | |||
116 | TP_printk( | ||
117 | LOCAL_PR_FMT VIF_PR_FMT, | ||
118 | LOCAL_PR_ARG, VIF_PR_ARG | ||
119 | ) | ||
120 | ); | ||
121 | |||
58 | DEFINE_EVENT(local_only_evt, drv_return_void, | 122 | DEFINE_EVENT(local_only_evt, drv_return_void, |
59 | TP_PROTO(struct ieee80211_local *local), | 123 | TP_PROTO(struct ieee80211_local *local), |
60 | TP_ARGS(local) | 124 | TP_ARGS(local) |
@@ -74,6 +138,21 @@ TRACE_EVENT(drv_return_int, | |||
74 | TP_printk(LOCAL_PR_FMT " - %d", LOCAL_PR_ARG, __entry->ret) | 138 | TP_printk(LOCAL_PR_FMT " - %d", LOCAL_PR_ARG, __entry->ret) |
75 | ); | 139 | ); |
76 | 140 | ||
141 | TRACE_EVENT(drv_return_bool, | ||
142 | TP_PROTO(struct ieee80211_local *local, bool ret), | ||
143 | TP_ARGS(local, ret), | ||
144 | TP_STRUCT__entry( | ||
145 | LOCAL_ENTRY | ||
146 | __field(bool, ret) | ||
147 | ), | ||
148 | TP_fast_assign( | ||
149 | LOCAL_ASSIGN; | ||
150 | __entry->ret = ret; | ||
151 | ), | ||
152 | TP_printk(LOCAL_PR_FMT " - %s", LOCAL_PR_ARG, (__entry->ret) ? | ||
153 | "true" : "false") | ||
154 | ); | ||
155 | |||
77 | TRACE_EVENT(drv_return_u64, | 156 | TRACE_EVENT(drv_return_u64, |
78 | TP_PROTO(struct ieee80211_local *local, u64 ret), | 157 | TP_PROTO(struct ieee80211_local *local, u64 ret), |
79 | TP_ARGS(local, ret), | 158 | TP_ARGS(local, ret), |
@@ -93,33 +172,25 @@ DEFINE_EVENT(local_only_evt, drv_start, | |||
93 | TP_ARGS(local) | 172 | TP_ARGS(local) |
94 | ); | 173 | ); |
95 | 174 | ||
175 | DEFINE_EVENT(local_only_evt, drv_suspend, | ||
176 | TP_PROTO(struct ieee80211_local *local), | ||
177 | TP_ARGS(local) | ||
178 | ); | ||
179 | |||
180 | DEFINE_EVENT(local_only_evt, drv_resume, | ||
181 | TP_PROTO(struct ieee80211_local *local), | ||
182 | TP_ARGS(local) | ||
183 | ); | ||
184 | |||
96 | DEFINE_EVENT(local_only_evt, drv_stop, | 185 | DEFINE_EVENT(local_only_evt, drv_stop, |
97 | TP_PROTO(struct ieee80211_local *local), | 186 | TP_PROTO(struct ieee80211_local *local), |
98 | TP_ARGS(local) | 187 | TP_ARGS(local) |
99 | ); | 188 | ); |
100 | 189 | ||
101 | TRACE_EVENT(drv_add_interface, | 190 | DEFINE_EVENT(local_sdata_addr_evt, drv_add_interface, |
102 | TP_PROTO(struct ieee80211_local *local, | 191 | TP_PROTO(struct ieee80211_local *local, |
103 | struct ieee80211_sub_if_data *sdata), | 192 | struct ieee80211_sub_if_data *sdata), |
104 | 193 | TP_ARGS(local, sdata) | |
105 | TP_ARGS(local, sdata), | ||
106 | |||
107 | TP_STRUCT__entry( | ||
108 | LOCAL_ENTRY | ||
109 | VIF_ENTRY | ||
110 | __array(char, addr, 6) | ||
111 | ), | ||
112 | |||
113 | TP_fast_assign( | ||
114 | LOCAL_ASSIGN; | ||
115 | VIF_ASSIGN; | ||
116 | memcpy(__entry->addr, sdata->vif.addr, 6); | ||
117 | ), | ||
118 | |||
119 | TP_printk( | ||
120 | LOCAL_PR_FMT VIF_PR_FMT " addr:%pM", | ||
121 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr | ||
122 | ) | ||
123 | ); | 194 | ); |
124 | 195 | ||
125 | TRACE_EVENT(drv_change_interface, | 196 | TRACE_EVENT(drv_change_interface, |
@@ -150,27 +221,10 @@ TRACE_EVENT(drv_change_interface, | |||
150 | ) | 221 | ) |
151 | ); | 222 | ); |
152 | 223 | ||
153 | TRACE_EVENT(drv_remove_interface, | 224 | DEFINE_EVENT(local_sdata_addr_evt, drv_remove_interface, |
154 | TP_PROTO(struct ieee80211_local *local, struct ieee80211_sub_if_data *sdata), | 225 | TP_PROTO(struct ieee80211_local *local, |
155 | 226 | struct ieee80211_sub_if_data *sdata), | |
156 | TP_ARGS(local, sdata), | 227 | TP_ARGS(local, sdata) |
157 | |||
158 | TP_STRUCT__entry( | ||
159 | LOCAL_ENTRY | ||
160 | VIF_ENTRY | ||
161 | __array(char, addr, 6) | ||
162 | ), | ||
163 | |||
164 | TP_fast_assign( | ||
165 | LOCAL_ASSIGN; | ||
166 | VIF_ASSIGN; | ||
167 | memcpy(__entry->addr, sdata->vif.addr, 6); | ||
168 | ), | ||
169 | |||
170 | TP_printk( | ||
171 | LOCAL_PR_FMT VIF_PR_FMT " addr:%pM", | ||
172 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->addr | ||
173 | ) | ||
174 | ); | 228 | ); |
175 | 229 | ||
176 | TRACE_EVENT(drv_config, | 230 | TRACE_EVENT(drv_config, |
@@ -400,27 +454,22 @@ TRACE_EVENT(drv_update_tkip_key, | |||
400 | ) | 454 | ) |
401 | ); | 455 | ); |
402 | 456 | ||
403 | TRACE_EVENT(drv_hw_scan, | 457 | DEFINE_EVENT(local_sdata_evt, drv_hw_scan, |
404 | TP_PROTO(struct ieee80211_local *local, | 458 | TP_PROTO(struct ieee80211_local *local, |
405 | struct ieee80211_sub_if_data *sdata, | 459 | struct ieee80211_sub_if_data *sdata), |
406 | struct cfg80211_scan_request *req), | 460 | TP_ARGS(local, sdata) |
407 | 461 | ); | |
408 | TP_ARGS(local, sdata, req), | ||
409 | |||
410 | TP_STRUCT__entry( | ||
411 | LOCAL_ENTRY | ||
412 | VIF_ENTRY | ||
413 | ), | ||
414 | 462 | ||
415 | TP_fast_assign( | 463 | DEFINE_EVENT(local_sdata_evt, drv_sched_scan_start, |
416 | LOCAL_ASSIGN; | 464 | TP_PROTO(struct ieee80211_local *local, |
417 | VIF_ASSIGN; | 465 | struct ieee80211_sub_if_data *sdata), |
418 | ), | 466 | TP_ARGS(local, sdata) |
467 | ); | ||
419 | 468 | ||
420 | TP_printk( | 469 | DEFINE_EVENT(local_sdata_evt, drv_sched_scan_stop, |
421 | LOCAL_PR_FMT VIF_PR_FMT, | 470 | TP_PROTO(struct ieee80211_local *local, |
422 | LOCAL_PR_ARG,VIF_PR_ARG | 471 | struct ieee80211_sub_if_data *sdata), |
423 | ) | 472 | TP_ARGS(local, sdata) |
424 | ); | 473 | ); |
425 | 474 | ||
426 | DEFINE_EVENT(local_only_evt, drv_sw_scan_start, | 475 | DEFINE_EVENT(local_only_evt, drv_sw_scan_start, |
@@ -489,46 +538,14 @@ TRACE_EVENT(drv_get_tkip_seq, | |||
489 | ) | 538 | ) |
490 | ); | 539 | ); |
491 | 540 | ||
492 | TRACE_EVENT(drv_set_frag_threshold, | 541 | DEFINE_EVENT(local_u32_evt, drv_set_frag_threshold, |
493 | TP_PROTO(struct ieee80211_local *local, u32 value), | 542 | TP_PROTO(struct ieee80211_local *local, u32 value), |
494 | 543 | TP_ARGS(local, value) | |
495 | TP_ARGS(local, value), | ||
496 | |||
497 | TP_STRUCT__entry( | ||
498 | LOCAL_ENTRY | ||
499 | __field(u32, value) | ||
500 | ), | ||
501 | |||
502 | TP_fast_assign( | ||
503 | LOCAL_ASSIGN; | ||
504 | __entry->value = value; | ||
505 | ), | ||
506 | |||
507 | TP_printk( | ||
508 | LOCAL_PR_FMT " value:%d", | ||
509 | LOCAL_PR_ARG, __entry->value | ||
510 | ) | ||
511 | ); | 544 | ); |
512 | 545 | ||
513 | TRACE_EVENT(drv_set_rts_threshold, | 546 | DEFINE_EVENT(local_u32_evt, drv_set_rts_threshold, |
514 | TP_PROTO(struct ieee80211_local *local, u32 value), | 547 | TP_PROTO(struct ieee80211_local *local, u32 value), |
515 | 548 | TP_ARGS(local, value) | |
516 | TP_ARGS(local, value), | ||
517 | |||
518 | TP_STRUCT__entry( | ||
519 | LOCAL_ENTRY | ||
520 | __field(u32, value) | ||
521 | ), | ||
522 | |||
523 | TP_fast_assign( | ||
524 | LOCAL_ASSIGN; | ||
525 | __entry->value = value; | ||
526 | ), | ||
527 | |||
528 | TP_printk( | ||
529 | LOCAL_PR_FMT " value:%d", | ||
530 | LOCAL_PR_ARG, __entry->value | ||
531 | ) | ||
532 | ); | 549 | ); |
533 | 550 | ||
534 | TRACE_EVENT(drv_set_coverage_class, | 551 | TRACE_EVENT(drv_set_coverage_class, |
@@ -964,11 +981,43 @@ TRACE_EVENT(drv_get_ringparam, | |||
964 | ) | 981 | ) |
965 | ); | 982 | ); |
966 | 983 | ||
984 | DEFINE_EVENT(local_only_evt, drv_tx_frames_pending, | ||
985 | TP_PROTO(struct ieee80211_local *local), | ||
986 | TP_ARGS(local) | ||
987 | ); | ||
988 | |||
967 | DEFINE_EVENT(local_only_evt, drv_offchannel_tx_cancel_wait, | 989 | DEFINE_EVENT(local_only_evt, drv_offchannel_tx_cancel_wait, |
968 | TP_PROTO(struct ieee80211_local *local), | 990 | TP_PROTO(struct ieee80211_local *local), |
969 | TP_ARGS(local) | 991 | TP_ARGS(local) |
970 | ); | 992 | ); |
971 | 993 | ||
994 | TRACE_EVENT(drv_set_bitrate_mask, | ||
995 | TP_PROTO(struct ieee80211_local *local, | ||
996 | struct ieee80211_sub_if_data *sdata, | ||
997 | const struct cfg80211_bitrate_mask *mask), | ||
998 | |||
999 | TP_ARGS(local, sdata, mask), | ||
1000 | |||
1001 | TP_STRUCT__entry( | ||
1002 | LOCAL_ENTRY | ||
1003 | VIF_ENTRY | ||
1004 | __field(u32, legacy_2g) | ||
1005 | __field(u32, legacy_5g) | ||
1006 | ), | ||
1007 | |||
1008 | TP_fast_assign( | ||
1009 | LOCAL_ASSIGN; | ||
1010 | VIF_ASSIGN; | ||
1011 | __entry->legacy_2g = mask->control[IEEE80211_BAND_2GHZ].legacy; | ||
1012 | __entry->legacy_5g = mask->control[IEEE80211_BAND_5GHZ].legacy; | ||
1013 | ), | ||
1014 | |||
1015 | TP_printk( | ||
1016 | LOCAL_PR_FMT VIF_PR_FMT " 2G Mask:0x%x 5G Mask:0x%x", | ||
1017 | LOCAL_PR_ARG, VIF_PR_ARG, __entry->legacy_2g, __entry->legacy_5g | ||
1018 | ) | ||
1019 | ); | ||
1020 | |||
972 | /* | 1021 | /* |
973 | * Tracing for API calls that drivers call. | 1022 | * Tracing for API calls that drivers call. |
974 | */ | 1023 | */ |
@@ -1147,6 +1196,42 @@ TRACE_EVENT(api_scan_completed, | |||
1147 | ) | 1196 | ) |
1148 | ); | 1197 | ); |
1149 | 1198 | ||
1199 | TRACE_EVENT(api_sched_scan_results, | ||
1200 | TP_PROTO(struct ieee80211_local *local), | ||
1201 | |||
1202 | TP_ARGS(local), | ||
1203 | |||
1204 | TP_STRUCT__entry( | ||
1205 | LOCAL_ENTRY | ||
1206 | ), | ||
1207 | |||
1208 | TP_fast_assign( | ||
1209 | LOCAL_ASSIGN; | ||
1210 | ), | ||
1211 | |||
1212 | TP_printk( | ||
1213 | LOCAL_PR_FMT, LOCAL_PR_ARG | ||
1214 | ) | ||
1215 | ); | ||
1216 | |||
1217 | TRACE_EVENT(api_sched_scan_stopped, | ||
1218 | TP_PROTO(struct ieee80211_local *local), | ||
1219 | |||
1220 | TP_ARGS(local), | ||
1221 | |||
1222 | TP_STRUCT__entry( | ||
1223 | LOCAL_ENTRY | ||
1224 | ), | ||
1225 | |||
1226 | TP_fast_assign( | ||
1227 | LOCAL_ASSIGN; | ||
1228 | ), | ||
1229 | |||
1230 | TP_printk( | ||
1231 | LOCAL_PR_FMT, LOCAL_PR_ARG | ||
1232 | ) | ||
1233 | ); | ||
1234 | |||
1150 | TRACE_EVENT(api_sta_block_awake, | 1235 | TRACE_EVENT(api_sta_block_awake, |
1151 | TP_PROTO(struct ieee80211_local *local, | 1236 | TP_PROTO(struct ieee80211_local *local, |
1152 | struct ieee80211_sta *sta, bool block), | 1237 | struct ieee80211_sta *sta, bool block), |