Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #undef TRACE_SYSTEM |
3 | #define TRACE_SYSTEM asoc |
4 | |
5 | #if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ) |
6 | #define _TRACE_ASOC_H |
7 | |
8 | #include <linux/ktime.h> |
9 | #include <linux/tracepoint.h> |
10 | #include <sound/jack.h> |
11 | |
12 | #define DAPM_DIRECT "(direct)" |
13 | #define DAPM_ARROW(dir) (((dir) == SND_SOC_DAPM_DIR_OUT) ? "->" : "<-") |
14 | |
15 | struct snd_soc_jack; |
16 | struct snd_soc_card; |
17 | struct snd_soc_dapm_widget; |
18 | struct snd_soc_dapm_path; |
19 | |
20 | DECLARE_EVENT_CLASS(snd_soc_card, |
21 | |
22 | TP_PROTO(struct snd_soc_card *card, int val), |
23 | |
24 | TP_ARGS(card, val), |
25 | |
26 | TP_STRUCT__entry( |
27 | __string( name, card->name ) |
28 | __field( int, val ) |
29 | ), |
30 | |
31 | TP_fast_assign( |
32 | __assign_str(name, card->name); |
33 | __entry->val = val; |
34 | ), |
35 | |
36 | TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val) |
37 | ); |
38 | |
39 | DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start, |
40 | |
41 | TP_PROTO(struct snd_soc_card *card, int val), |
42 | |
43 | TP_ARGS(card, val) |
44 | |
45 | ); |
46 | |
47 | DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done, |
48 | |
49 | TP_PROTO(struct snd_soc_card *card, int val), |
50 | |
51 | TP_ARGS(card, val) |
52 | |
53 | ); |
54 | |
55 | DECLARE_EVENT_CLASS(snd_soc_dapm_basic, |
56 | |
57 | TP_PROTO(struct snd_soc_card *card), |
58 | |
59 | TP_ARGS(card), |
60 | |
61 | TP_STRUCT__entry( |
62 | __string( name, card->name ) |
63 | ), |
64 | |
65 | TP_fast_assign( |
66 | __assign_str(name, card->name); |
67 | ), |
68 | |
69 | TP_printk("card=%s", __get_str(name)) |
70 | ); |
71 | |
72 | DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start, |
73 | |
74 | TP_PROTO(struct snd_soc_card *card), |
75 | |
76 | TP_ARGS(card) |
77 | |
78 | ); |
79 | |
80 | DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done, |
81 | |
82 | TP_PROTO(struct snd_soc_card *card), |
83 | |
84 | TP_ARGS(card) |
85 | |
86 | ); |
87 | |
88 | DECLARE_EVENT_CLASS(snd_soc_dapm_widget, |
89 | |
90 | TP_PROTO(struct snd_soc_dapm_widget *w, int val), |
91 | |
92 | TP_ARGS(w, val), |
93 | |
94 | TP_STRUCT__entry( |
95 | __string( name, w->name ) |
96 | __field( int, val ) |
97 | ), |
98 | |
99 | TP_fast_assign( |
100 | __assign_str(name, w->name); |
101 | __entry->val = val; |
102 | ), |
103 | |
104 | TP_printk("widget=%s val=%d", __get_str(name), |
105 | (int)__entry->val) |
106 | ); |
107 | |
108 | DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power, |
109 | |
110 | TP_PROTO(struct snd_soc_dapm_widget *w, int val), |
111 | |
112 | TP_ARGS(w, val) |
113 | |
114 | ); |
115 | |
116 | DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start, |
117 | |
118 | TP_PROTO(struct snd_soc_dapm_widget *w, int val), |
119 | |
120 | TP_ARGS(w, val) |
121 | |
122 | ); |
123 | |
124 | DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done, |
125 | |
126 | TP_PROTO(struct snd_soc_dapm_widget *w, int val), |
127 | |
128 | TP_ARGS(w, val) |
129 | |
130 | ); |
131 | |
132 | TRACE_EVENT(snd_soc_dapm_walk_done, |
133 | |
134 | TP_PROTO(struct snd_soc_card *card), |
135 | |
136 | TP_ARGS(card), |
137 | |
138 | TP_STRUCT__entry( |
139 | __string( name, card->name ) |
140 | __field( int, power_checks ) |
141 | __field( int, path_checks ) |
142 | __field( int, neighbour_checks ) |
143 | ), |
144 | |
145 | TP_fast_assign( |
146 | __assign_str(name, card->name); |
147 | __entry->power_checks = card->dapm_stats.power_checks; |
148 | __entry->path_checks = card->dapm_stats.path_checks; |
149 | __entry->neighbour_checks = card->dapm_stats.neighbour_checks; |
150 | ), |
151 | |
152 | TP_printk("%s: checks %d power, %d path, %d neighbour", |
153 | __get_str(name), (int)__entry->power_checks, |
154 | (int)__entry->path_checks, (int)__entry->neighbour_checks) |
155 | ); |
156 | |
157 | TRACE_EVENT(snd_soc_dapm_path, |
158 | |
159 | TP_PROTO(struct snd_soc_dapm_widget *widget, |
160 | enum snd_soc_dapm_direction dir, |
161 | struct snd_soc_dapm_path *path), |
162 | |
163 | TP_ARGS(widget, dir, path), |
164 | |
165 | TP_STRUCT__entry( |
166 | __string( wname, widget->name ) |
167 | __string( pname, path->name ? path->name : DAPM_DIRECT) |
168 | __string( pnname, path->node[dir]->name ) |
169 | __field( int, path_node ) |
170 | __field( int, path_connect ) |
171 | __field( int, path_dir ) |
172 | ), |
173 | |
174 | TP_fast_assign( |
175 | __assign_str(wname, widget->name); |
176 | __assign_str(pname, path->name ? path->name : DAPM_DIRECT); |
177 | __assign_str(pnname, path->node[dir]->name); |
178 | __entry->path_connect = path->connect; |
179 | __entry->path_node = (long)path->node[dir]; |
180 | __entry->path_dir = dir; |
181 | ), |
182 | |
183 | TP_printk("%c%s %s %s %s %s", |
184 | (int) __entry->path_node && |
185 | (int) __entry->path_connect ? '*' : ' ', |
186 | __get_str(wname), DAPM_ARROW(__entry->path_dir), |
187 | __get_str(pname), DAPM_ARROW(__entry->path_dir), |
188 | __get_str(pnname)) |
189 | ); |
190 | |
191 | TRACE_EVENT(snd_soc_dapm_connected, |
192 | |
193 | TP_PROTO(int paths, int stream), |
194 | |
195 | TP_ARGS(paths, stream), |
196 | |
197 | TP_STRUCT__entry( |
198 | __field( int, paths ) |
199 | __field( int, stream ) |
200 | ), |
201 | |
202 | TP_fast_assign( |
203 | __entry->paths = paths; |
204 | __entry->stream = stream; |
205 | ), |
206 | |
207 | TP_printk("%s: found %d paths", |
208 | __entry->stream ? "capture" : "playback", __entry->paths) |
209 | ); |
210 | |
211 | TRACE_EVENT(snd_soc_jack_irq, |
212 | |
213 | TP_PROTO(const char *name), |
214 | |
215 | TP_ARGS(name), |
216 | |
217 | TP_STRUCT__entry( |
218 | __string( name, name ) |
219 | ), |
220 | |
221 | TP_fast_assign( |
222 | __assign_str(name, name); |
223 | ), |
224 | |
225 | TP_printk("%s", __get_str(name)) |
226 | ); |
227 | |
228 | TRACE_EVENT(snd_soc_jack_report, |
229 | |
230 | TP_PROTO(struct snd_soc_jack *jack, int mask, int val), |
231 | |
232 | TP_ARGS(jack, mask, val), |
233 | |
234 | TP_STRUCT__entry( |
235 | __string( name, jack->jack->id ) |
236 | __field( int, mask ) |
237 | __field( int, val ) |
238 | ), |
239 | |
240 | TP_fast_assign( |
241 | __assign_str(name, jack->jack->id); |
242 | __entry->mask = mask; |
243 | __entry->val = val; |
244 | ), |
245 | |
246 | TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val, |
247 | (int)__entry->mask) |
248 | ); |
249 | |
250 | TRACE_EVENT(snd_soc_jack_notify, |
251 | |
252 | TP_PROTO(struct snd_soc_jack *jack, int val), |
253 | |
254 | TP_ARGS(jack, val), |
255 | |
256 | TP_STRUCT__entry( |
257 | __string( name, jack->jack->id ) |
258 | __field( int, val ) |
259 | ), |
260 | |
261 | TP_fast_assign( |
262 | __assign_str(name, jack->jack->id); |
263 | __entry->val = val; |
264 | ), |
265 | |
266 | TP_printk("jack=%s %x", __get_str(name), (int)__entry->val) |
267 | ); |
268 | |
269 | #endif /* _TRACE_ASOC_H */ |
270 | |
271 | /* This part must be outside protection */ |
272 | #include <trace/define_trace.h> |
273 |
Warning: This file is not a C or C++ file. It does not have highlighting.