4aca115cb960e1532c2b1dcd635847b78346f985
[lttng-modules.git] / instrumentation / events / lttng-module / asoc.h
1 #undef TRACE_SYSTEM
2 #define TRACE_SYSTEM asoc
3
4 #if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
5 #define LTTNG_TRACE_ASOC_H
6
7 #include "../../../probes/lttng-tracepoint-event.h"
8 #include <linux/ktime.h>
9 #include <linux/version.h>
10
11 #define DAPM_DIRECT "(direct)"
12
13 #ifndef _TRACE_ASOC_DEF
14 #define _TRACE_ASOC_DEF
15 struct snd_soc_jack;
16 struct snd_soc_codec;
17 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
18 struct snd_soc_platform;
19 #endif
20 struct snd_soc_card;
21 struct snd_soc_dapm_widget;
22 #endif
23
24 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,16,0))
25 #define CODEC_NAME_FIELD component.name
26 #define CODEC_ID_FIELD component.id
27 #else
28 #define CODEC_NAME_FIELD name
29 #define CODEC_ID_FIELD id
30 #endif
31
32 /*
33 * Log register events
34 */
35 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_reg,
36
37 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
38 unsigned int val),
39
40 TP_ARGS(codec, reg, val),
41
42 TP_STRUCT__entry(
43 __string( name, codec->CODEC_NAME_FIELD )
44 __field( int, id )
45 __field( unsigned int, reg )
46 __field( unsigned int, val )
47 ),
48
49 TP_fast_assign(
50 tp_strcpy(name, codec->CODEC_NAME_FIELD)
51 tp_assign(id, codec->CODEC_ID_FIELD)
52 tp_assign(reg, reg)
53 tp_assign(val, val)
54 ),
55
56 TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name),
57 (int)__entry->id, (unsigned int)__entry->reg,
58 (unsigned int)__entry->val)
59 )
60
61 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_reg, snd_soc_reg_write,
62
63 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
64 unsigned int val),
65
66 TP_ARGS(codec, reg, val)
67
68 )
69
70 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_reg, snd_soc_reg_read,
71
72 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
73 unsigned int val),
74
75 TP_ARGS(codec, reg, val)
76
77 )
78
79 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,1,0))
80 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_preg,
81
82 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
83 unsigned int val),
84
85 TP_ARGS(platform, reg, val),
86
87 TP_STRUCT__entry(
88 __string( name, platform->CODEC_NAME_FIELD )
89 __field( int, id )
90 __field( unsigned int, reg )
91 __field( unsigned int, val )
92 ),
93
94 TP_fast_assign(
95 tp_strcpy(name, platform->CODEC_NAME_FIELD)
96 tp_assign(id, platform->CODEC_ID_FIELD)
97 tp_assign(reg, reg)
98 tp_assign(val, val)
99 ),
100
101 TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name),
102 (int)__entry->id, (unsigned int)__entry->reg,
103 (unsigned int)__entry->val)
104 )
105
106 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg, snd_soc_preg_write,
107
108 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
109 unsigned int val),
110
111 TP_ARGS(platform, reg, val)
112
113 )
114
115 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_preg, snd_soc_preg_read,
116
117 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
118 unsigned int val),
119
120 TP_ARGS(platform, reg, val)
121
122 )
123 #endif
124
125 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_card,
126
127 TP_PROTO(struct snd_soc_card *card, int val),
128
129 TP_ARGS(card, val),
130
131 TP_STRUCT__entry(
132 __string( name, card->name )
133 __field( int, val )
134 ),
135
136 TP_fast_assign(
137 tp_strcpy(name, card->name)
138 tp_assign(val, val)
139 ),
140
141 TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val)
142 )
143
144 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card, snd_soc_bias_level_start,
145
146 TP_PROTO(struct snd_soc_card *card, int val),
147
148 TP_ARGS(card, val)
149
150 )
151
152 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_card, snd_soc_bias_level_done,
153
154 TP_PROTO(struct snd_soc_card *card, int val),
155
156 TP_ARGS(card, val)
157
158 )
159
160 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_basic,
161
162 TP_PROTO(struct snd_soc_card *card),
163
164 TP_ARGS(card),
165
166 TP_STRUCT__entry(
167 __string( name, card->name )
168 ),
169
170 TP_fast_assign(
171 tp_strcpy(name, card->name)
172 ),
173
174 TP_printk("card=%s", __get_str(name))
175 )
176
177 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic, snd_soc_dapm_start,
178
179 TP_PROTO(struct snd_soc_card *card),
180
181 TP_ARGS(card)
182
183 )
184
185 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_basic, snd_soc_dapm_done,
186
187 TP_PROTO(struct snd_soc_card *card),
188
189 TP_ARGS(card)
190
191 )
192
193 LTTNG_TRACEPOINT_EVENT_CLASS(snd_soc_dapm_widget,
194
195 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
196
197 TP_ARGS(w, val),
198
199 TP_STRUCT__entry(
200 __string( name, w->name )
201 __field( int, val )
202 ),
203
204 TP_fast_assign(
205 tp_strcpy(name, w->name)
206 tp_assign(val, val)
207 ),
208
209 TP_printk("widget=%s val=%d", __get_str(name),
210 (int)__entry->val)
211 )
212
213 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
214
215 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
216
217 TP_ARGS(w, val)
218
219 )
220
221 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start,
222
223 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
224
225 TP_ARGS(w, val)
226
227 )
228
229 LTTNG_TRACEPOINT_EVENT_INSTANCE(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done,
230
231 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
232
233 TP_ARGS(w, val)
234
235 )
236
237 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0))
238 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_walk_done,
239
240 TP_PROTO(struct snd_soc_card *card),
241
242 TP_ARGS(card),
243
244 TP_STRUCT__entry(
245 __string( name, card->name )
246 __field( int, power_checks )
247 __field( int, path_checks )
248 __field( int, neighbour_checks )
249 ),
250
251 TP_fast_assign(
252 tp_strcpy(name, card->name)
253 tp_assign(power_checks, card->dapm_stats.power_checks)
254 tp_assign(path_checks, card->dapm_stats.path_checks)
255 tp_assign(neighbour_checks, card->dapm_stats.neighbour_checks)
256 ),
257
258 TP_printk("%s: checks %d power, %d path, %d neighbour",
259 __get_str(name), (int)__entry->power_checks,
260 (int)__entry->path_checks, (int)__entry->neighbour_checks)
261 )
262 #endif
263
264 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0))
265 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_output_path,
266
267 TP_PROTO(struct snd_soc_dapm_widget *widget,
268 struct snd_soc_dapm_path *path),
269
270 TP_ARGS(widget, path),
271
272 TP_STRUCT__entry(
273 __string( wname, widget->name )
274 __string( pname, path->name ? path->name : DAPM_DIRECT)
275 __string( psname, path->sink->name )
276 __field( int, path_sink )
277 __field( int, path_connect )
278 ),
279
280 TP_fast_assign(
281 tp_strcpy(wname, widget->name)
282 tp_strcpy(pname, path->name ? path->name : DAPM_DIRECT)
283 tp_strcpy(psname, path->sink->name)
284 tp_assign(path_connect, path->connect)
285 tp_assign(path_sink, (long)path->sink)
286 ),
287
288 TP_printk("%c%s -> %s -> %s\n",
289 (int) __entry->path_sink &&
290 (int) __entry->path_connect ? '*' : ' ',
291 __get_str(wname), __get_str(pname), __get_str(psname))
292 )
293
294 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_input_path,
295
296 TP_PROTO(struct snd_soc_dapm_widget *widget,
297 struct snd_soc_dapm_path *path),
298
299 TP_ARGS(widget, path),
300
301 TP_STRUCT__entry(
302 __string( wname, widget->name )
303 __string( pname, path->name ? path->name : DAPM_DIRECT)
304 __string( psname, path->source->name )
305 __field( int, path_source )
306 __field( int, path_connect )
307 ),
308
309 TP_fast_assign(
310 tp_strcpy(wname, widget->name)
311 tp_strcpy(pname, path->name ? path->name : DAPM_DIRECT)
312 tp_strcpy(psname, path->source->name)
313 tp_assign(path_connect, path->connect)
314 tp_assign(path_source, (long)path->source)
315 ),
316
317 TP_printk("%c%s <- %s <- %s\n",
318 (int) __entry->path_source &&
319 (int) __entry->path_connect ? '*' : ' ',
320 __get_str(wname), __get_str(pname), __get_str(psname))
321 )
322
323 LTTNG_TRACEPOINT_EVENT(snd_soc_dapm_connected,
324
325 TP_PROTO(int paths, int stream),
326
327 TP_ARGS(paths, stream),
328
329 TP_STRUCT__entry(
330 __field( int, paths )
331 __field( int, stream )
332 ),
333
334 TP_fast_assign(
335 tp_assign(paths, paths)
336 tp_assign(stream, stream)
337 ),
338
339 TP_printk("%s: found %d paths\n",
340 __entry->stream ? "capture" : "playback", __entry->paths)
341 )
342 #endif
343
344 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_irq,
345
346 TP_PROTO(const char *name),
347
348 TP_ARGS(name),
349
350 TP_STRUCT__entry(
351 __string( name, name )
352 ),
353
354 TP_fast_assign(
355 tp_strcpy(name, name)
356 ),
357
358 TP_printk("%s", __get_str(name))
359 )
360
361 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_report,
362
363 TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
364
365 TP_ARGS(jack, mask, val),
366
367 TP_STRUCT__entry(
368 __string( name, jack->jack->name )
369 __field( int, mask )
370 __field( int, val )
371 ),
372
373 TP_fast_assign(
374 tp_strcpy(name, jack->jack->name)
375 tp_assign(mask, mask)
376 tp_assign(val, val)
377 ),
378
379 TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val,
380 (int)__entry->mask)
381 )
382
383 LTTNG_TRACEPOINT_EVENT(snd_soc_jack_notify,
384
385 TP_PROTO(struct snd_soc_jack *jack, int val),
386
387 TP_ARGS(jack, val),
388
389 TP_STRUCT__entry(
390 __string( name, jack->jack->name )
391 __field( int, val )
392 ),
393
394 TP_fast_assign(
395 tp_strcpy(name, jack->jack->name)
396 tp_assign(val, val)
397 ),
398
399 TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
400 )
401
402 LTTNG_TRACEPOINT_EVENT(snd_soc_cache_sync,
403
404 TP_PROTO(struct snd_soc_codec *codec, const char *type,
405 const char *status),
406
407 TP_ARGS(codec, type, status),
408
409 TP_STRUCT__entry(
410 __string( name, codec->CODEC_NAME_FIELD )
411 __string( status, status )
412 __string( type, type )
413 __field( int, id )
414 ),
415
416 TP_fast_assign(
417 tp_strcpy(name, codec->CODEC_NAME_FIELD)
418 tp_strcpy(status, status)
419 tp_strcpy(type, type)
420 tp_assign(id, codec->CODEC_ID_FIELD)
421 ),
422
423 TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
424 (int)__entry->id, __get_str(type), __get_str(status))
425 )
426
427 #endif /* LTTNG_TRACE_ASOC_H */
428
429 /* This part must be outside protection */
430 #include "../../../probes/define_trace.h"
This page took 0.052626 seconds and 3 git commands to generate.