Linux-libre 5.7.6-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / ath / ath11k / trace.h
1 /* SPDX-License-Identifier: BSD-3-Clause-Clear */
2 /*
3  * Copyright (c) 2019 The Linux Foundation. All rights reserved.
4  */
5
6 #if !defined(_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
7
8 #include <linux/tracepoint.h>
9 #include "core.h"
10
11 #define _TRACE_H_
12
13 /* create empty functions when tracing is disabled */
14 #if !defined(CONFIG_ATH11K_TRACING)
15 #undef TRACE_EVENT
16 #define TRACE_EVENT(name, proto, ...) \
17 static inline void trace_ ## name(proto) {}
18 #endif /* !CONFIG_ATH11K_TRACING || __CHECKER__ */
19
20 #undef TRACE_SYSTEM
21 #define TRACE_SYSTEM ath11k
22
23 TRACE_EVENT(ath11k_htt_pktlog,
24             TP_PROTO(struct ath11k *ar, const void *buf, u16 buf_len),
25
26         TP_ARGS(ar, buf, buf_len),
27
28         TP_STRUCT__entry(
29                 __string(device, dev_name(ar->ab->dev))
30                 __string(driver, dev_driver_string(ar->ab->dev))
31                 __field(u16, buf_len)
32                 __dynamic_array(u8, pktlog, buf_len)
33         ),
34
35         TP_fast_assign(
36                 __assign_str(device, dev_name(ar->ab->dev));
37                 __assign_str(driver, dev_driver_string(ar->ab->dev));
38                 __entry->buf_len = buf_len;
39                 memcpy(__get_dynamic_array(pktlog), buf, buf_len);
40         ),
41
42         TP_printk(
43                 "%s %s size %hu",
44                 __get_str(driver),
45                 __get_str(device),
46                 __entry->buf_len
47          )
48 );
49
50 TRACE_EVENT(ath11k_htt_ppdu_stats,
51             TP_PROTO(struct ath11k *ar, const void *data, size_t len),
52
53         TP_ARGS(ar, data, len),
54
55         TP_STRUCT__entry(
56                 __string(device, dev_name(ar->ab->dev))
57                 __string(driver, dev_driver_string(ar->ab->dev))
58                 __field(u16, len)
59                 __dynamic_array(u8, ppdu, len)
60         ),
61
62         TP_fast_assign(
63                 __assign_str(device, dev_name(ar->ab->dev));
64                 __assign_str(driver, dev_driver_string(ar->ab->dev));
65                 __entry->len = len;
66                 memcpy(__get_dynamic_array(ppdu), data, len);
67         ),
68
69         TP_printk(
70                 "%s %s ppdu len %d",
71                 __get_str(driver),
72                 __get_str(device),
73                 __entry->len
74          )
75 );
76
77 TRACE_EVENT(ath11k_htt_rxdesc,
78             TP_PROTO(struct ath11k *ar, const void *data, size_t len),
79
80         TP_ARGS(ar, data, len),
81
82         TP_STRUCT__entry(
83                 __string(device, dev_name(ar->ab->dev))
84                 __string(driver, dev_driver_string(ar->ab->dev))
85                 __field(u16, len)
86                 __dynamic_array(u8, rxdesc, len)
87         ),
88
89         TP_fast_assign(
90                 __assign_str(device, dev_name(ar->ab->dev));
91                 __assign_str(driver, dev_driver_string(ar->ab->dev));
92                 __entry->len = len;
93                 memcpy(__get_dynamic_array(rxdesc), data, len);
94         ),
95
96         TP_printk(
97                 "%s %s rxdesc len %d",
98                 __get_str(driver),
99                 __get_str(device),
100                 __entry->len
101          )
102 );
103
104 #endif /* _TRACE_H_ || TRACE_HEADER_MULTI_READ*/
105
106 /* we don't want to use include/trace/events */
107 #undef TRACE_INCLUDE_PATH
108 #define TRACE_INCLUDE_PATH .
109 #undef TRACE_INCLUDE_FILE
110 #define TRACE_INCLUDE_FILE trace
111
112 /* This part must be outside protection */
113 #include <trace/define_trace.h>