diff options
Diffstat (limited to 'net/mac80211/trace.h')
-rw-r--r-- | net/mac80211/trace.h | 116 |
1 files changed, 73 insertions, 43 deletions
diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h index 0638541b625..a8270b441a6 100644 --- a/net/mac80211/trace.h +++ b/net/mac80211/trace.h | |||
@@ -28,16 +28,21 @@ | |||
28 | #define VIF_PR_FMT " vif:%s(%d%s)" | 28 | #define VIF_PR_FMT " vif:%s(%d%s)" |
29 | #define VIF_PR_ARG __get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : "" | 29 | #define VIF_PR_ARG __get_str(vif_name), __entry->vif_type, __entry->p2p ? "/p2p" : "" |
30 | 30 | ||
31 | #define CHANCTX_ENTRY __field(int, freq) \ | 31 | #define CHANCTX_ENTRY __field(u32, control_freq) \ |
32 | __field(int, chantype) \ | 32 | __field(u32, chan_width) \ |
33 | __field(u32, center_freq1) \ | ||
34 | __field(u32, center_freq2) \ | ||
33 | __field(u8, rx_chains_static) \ | 35 | __field(u8, rx_chains_static) \ |
34 | __field(u8, rx_chains_dynamic) | 36 | __field(u8, rx_chains_dynamic) |
35 | #define CHANCTX_ASSIGN __entry->freq = ctx->conf.channel->center_freq; \ | 37 | #define CHANCTX_ASSIGN __entry->control_freq = ctx->conf.def.chan->center_freq;\ |
36 | __entry->chantype = ctx->conf.channel_type; \ | 38 | __entry->chan_width = ctx->conf.def.width; \ |
39 | __entry->center_freq1 = ctx->conf.def.center_freq1; \ | ||
40 | __entry->center_freq2 = ctx->conf.def.center_freq2; \ | ||
37 | __entry->rx_chains_static = ctx->conf.rx_chains_static; \ | 41 | __entry->rx_chains_static = ctx->conf.rx_chains_static; \ |
38 | __entry->rx_chains_dynamic = ctx->conf.rx_chains_dynamic | 42 | __entry->rx_chains_dynamic = ctx->conf.rx_chains_dynamic |
39 | #define CHANCTX_PR_FMT " freq:%d MHz chantype:%d chains:%d/%d" | 43 | #define CHANCTX_PR_FMT " control:%d MHz width:%d center: %d/%d MHz chains:%d/%d" |
40 | #define CHANCTX_PR_ARG __entry->freq, __entry->chantype, \ | 44 | #define CHANCTX_PR_ARG __entry->control_freq, __entry->chan_width, \ |
45 | __entry->center_freq1, __entry->center_freq2, \ | ||
41 | __entry->rx_chains_static, __entry->rx_chains_dynamic | 46 | __entry->rx_chains_static, __entry->rx_chains_dynamic |
42 | 47 | ||
43 | 48 | ||
@@ -334,7 +339,8 @@ TRACE_EVENT(drv_bss_info_changed, | |||
334 | __field(u16, ht_operation_mode) | 339 | __field(u16, ht_operation_mode) |
335 | __field(s32, cqm_rssi_thold); | 340 | __field(s32, cqm_rssi_thold); |
336 | __field(s32, cqm_rssi_hyst); | 341 | __field(s32, cqm_rssi_hyst); |
337 | __field(u32, channel_type); | 342 | __field(u32, channel_width); |
343 | __field(u32, channel_cfreq1); | ||
338 | __dynamic_array(u32, arp_addr_list, info->arp_addr_cnt); | 344 | __dynamic_array(u32, arp_addr_list, info->arp_addr_cnt); |
339 | __field(bool, arp_filter_enabled); | 345 | __field(bool, arp_filter_enabled); |
340 | __field(bool, qos); | 346 | __field(bool, qos); |
@@ -342,6 +348,9 @@ TRACE_EVENT(drv_bss_info_changed, | |||
342 | __field(bool, ps); | 348 | __field(bool, ps); |
343 | __dynamic_array(u8, ssid, info->ssid_len); | 349 | __dynamic_array(u8, ssid, info->ssid_len); |
344 | __field(bool, hidden_ssid); | 350 | __field(bool, hidden_ssid); |
351 | __field(int, txpower) | ||
352 | __field(u8, p2p_ctwindow) | ||
353 | __field(bool, p2p_oppps) | ||
345 | ), | 354 | ), |
346 | 355 | ||
347 | TP_fast_assign( | 356 | TP_fast_assign( |
@@ -367,7 +376,8 @@ TRACE_EVENT(drv_bss_info_changed, | |||
367 | __entry->ht_operation_mode = info->ht_operation_mode; | 376 | __entry->ht_operation_mode = info->ht_operation_mode; |
368 | __entry->cqm_rssi_thold = info->cqm_rssi_thold; | 377 | __entry->cqm_rssi_thold = info->cqm_rssi_thold; |
369 | __entry->cqm_rssi_hyst = info->cqm_rssi_hyst; | 378 | __entry->cqm_rssi_hyst = info->cqm_rssi_hyst; |
370 | __entry->channel_type = info->channel_type; | 379 | __entry->channel_width = info->chandef.width; |
380 | __entry->channel_cfreq1 = info->chandef.center_freq1; | ||
371 | memcpy(__get_dynamic_array(arp_addr_list), info->arp_addr_list, | 381 | memcpy(__get_dynamic_array(arp_addr_list), info->arp_addr_list, |
372 | sizeof(u32) * info->arp_addr_cnt); | 382 | sizeof(u32) * info->arp_addr_cnt); |
373 | __entry->arp_filter_enabled = info->arp_filter_enabled; | 383 | __entry->arp_filter_enabled = info->arp_filter_enabled; |
@@ -376,6 +386,9 @@ TRACE_EVENT(drv_bss_info_changed, | |||
376 | __entry->ps = info->ps; | 386 | __entry->ps = info->ps; |
377 | memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len); | 387 | memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len); |
378 | __entry->hidden_ssid = info->hidden_ssid; | 388 | __entry->hidden_ssid = info->hidden_ssid; |
389 | __entry->txpower = info->txpower; | ||
390 | __entry->p2p_ctwindow = info->p2p_ctwindow; | ||
391 | __entry->p2p_oppps = info->p2p_oppps; | ||
379 | ), | 392 | ), |
380 | 393 | ||
381 | TP_printk( | 394 | TP_printk( |
@@ -1013,28 +1026,31 @@ TRACE_EVENT(drv_get_antenna, | |||
1013 | ); | 1026 | ); |
1014 | 1027 | ||
1015 | TRACE_EVENT(drv_remain_on_channel, | 1028 | TRACE_EVENT(drv_remain_on_channel, |
1016 | TP_PROTO(struct ieee80211_local *local, struct ieee80211_channel *chan, | 1029 | TP_PROTO(struct ieee80211_local *local, |
1017 | enum nl80211_channel_type chantype, unsigned int duration), | 1030 | struct ieee80211_sub_if_data *sdata, |
1031 | struct ieee80211_channel *chan, | ||
1032 | unsigned int duration), | ||
1018 | 1033 | ||
1019 | TP_ARGS(local, chan, chantype, duration), | 1034 | TP_ARGS(local, sdata, chan, duration), |
1020 | 1035 | ||
1021 | TP_STRUCT__entry( | 1036 | TP_STRUCT__entry( |
1022 | LOCAL_ENTRY | 1037 | LOCAL_ENTRY |
1038 | VIF_ENTRY | ||
1023 | __field(int, center_freq) | 1039 | __field(int, center_freq) |
1024 | __field(int, channel_type) | ||
1025 | __field(unsigned int, duration) | 1040 | __field(unsigned int, duration) |
1026 | ), | 1041 | ), |
1027 | 1042 | ||
1028 | TP_fast_assign( | 1043 | TP_fast_assign( |
1029 | LOCAL_ASSIGN; | 1044 | LOCAL_ASSIGN; |
1045 | VIF_ASSIGN; | ||
1030 | __entry->center_freq = chan->center_freq; | 1046 | __entry->center_freq = chan->center_freq; |
1031 | __entry->channel_type = chantype; | ||
1032 | __entry->duration = duration; | 1047 | __entry->duration = duration; |
1033 | ), | 1048 | ), |
1034 | 1049 | ||
1035 | TP_printk( | 1050 | TP_printk( |
1036 | LOCAL_PR_FMT " freq:%dMHz duration:%dms", | 1051 | LOCAL_PR_FMT VIF_PR_FMT " freq:%dMHz duration:%dms", |
1037 | LOCAL_PR_ARG, __entry->center_freq, __entry->duration | 1052 | LOCAL_PR_ARG, VIF_PR_ARG, |
1053 | __entry->center_freq, __entry->duration | ||
1038 | ) | 1054 | ) |
1039 | ); | 1055 | ); |
1040 | 1056 | ||
@@ -1043,34 +1059,6 @@ DEFINE_EVENT(local_only_evt, drv_cancel_remain_on_channel, | |||
1043 | TP_ARGS(local) | 1059 | TP_ARGS(local) |
1044 | ); | 1060 | ); |
1045 | 1061 | ||
1046 | TRACE_EVENT(drv_offchannel_tx, | ||
1047 | TP_PROTO(struct ieee80211_local *local, struct sk_buff *skb, | ||
1048 | struct ieee80211_channel *chan, | ||
1049 | enum nl80211_channel_type channel_type, | ||
1050 | unsigned int wait), | ||
1051 | |||
1052 | TP_ARGS(local, skb, chan, channel_type, wait), | ||
1053 | |||
1054 | TP_STRUCT__entry( | ||
1055 | LOCAL_ENTRY | ||
1056 | __field(int, center_freq) | ||
1057 | __field(int, channel_type) | ||
1058 | __field(unsigned int, wait) | ||
1059 | ), | ||
1060 | |||
1061 | TP_fast_assign( | ||
1062 | LOCAL_ASSIGN; | ||
1063 | __entry->center_freq = chan->center_freq; | ||
1064 | __entry->channel_type = channel_type; | ||
1065 | __entry->wait = wait; | ||
1066 | ), | ||
1067 | |||
1068 | TP_printk( | ||
1069 | LOCAL_PR_FMT " freq:%dMHz, wait:%dms", | ||
1070 | LOCAL_PR_ARG, __entry->center_freq, __entry->wait | ||
1071 | ) | ||
1072 | ); | ||
1073 | |||
1074 | TRACE_EVENT(drv_set_ringparam, | 1062 | TRACE_EVENT(drv_set_ringparam, |
1075 | TP_PROTO(struct ieee80211_local *local, u32 tx, u32 rx), | 1063 | TP_PROTO(struct ieee80211_local *local, u32 tx, u32 rx), |
1076 | 1064 | ||
@@ -1396,6 +1384,48 @@ DEFINE_EVENT(local_sdata_chanctx, drv_unassign_vif_chanctx, | |||
1396 | TP_ARGS(local, sdata, ctx) | 1384 | TP_ARGS(local, sdata, ctx) |
1397 | ); | 1385 | ); |
1398 | 1386 | ||
1387 | TRACE_EVENT(drv_start_ap, | ||
1388 | TP_PROTO(struct ieee80211_local *local, | ||
1389 | struct ieee80211_sub_if_data *sdata, | ||
1390 | struct ieee80211_bss_conf *info), | ||
1391 | |||
1392 | TP_ARGS(local, sdata, info), | ||
1393 | |||
1394 | TP_STRUCT__entry( | ||
1395 | LOCAL_ENTRY | ||
1396 | VIF_ENTRY | ||
1397 | __field(u8, dtimper) | ||
1398 | __field(u16, bcnint) | ||
1399 | __dynamic_array(u8, ssid, info->ssid_len); | ||
1400 | __field(bool, hidden_ssid); | ||
1401 | ), | ||
1402 | |||
1403 | TP_fast_assign( | ||
1404 | LOCAL_ASSIGN; | ||
1405 | VIF_ASSIGN; | ||
1406 | __entry->dtimper = info->dtim_period; | ||
1407 | __entry->bcnint = info->beacon_int; | ||
1408 | memcpy(__get_dynamic_array(ssid), info->ssid, info->ssid_len); | ||
1409 | __entry->hidden_ssid = info->hidden_ssid; | ||
1410 | ), | ||
1411 | |||
1412 | TP_printk( | ||
1413 | LOCAL_PR_FMT VIF_PR_FMT, | ||
1414 | LOCAL_PR_ARG, VIF_PR_ARG | ||
1415 | ) | ||
1416 | ); | ||
1417 | |||
1418 | DEFINE_EVENT(local_sdata_evt, drv_stop_ap, | ||
1419 | TP_PROTO(struct ieee80211_local *local, | ||
1420 | struct ieee80211_sub_if_data *sdata), | ||
1421 | TP_ARGS(local, sdata) | ||
1422 | ); | ||
1423 | |||
1424 | DEFINE_EVENT(local_only_evt, drv_restart_complete, | ||
1425 | TP_PROTO(struct ieee80211_local *local), | ||
1426 | TP_ARGS(local) | ||
1427 | ); | ||
1428 | |||
1399 | /* | 1429 | /* |
1400 | * Tracing for API calls that drivers call. | 1430 | * Tracing for API calls that drivers call. |
1401 | */ | 1431 | */ |