blob: 2e1adf62e0a8b4382bc484e35237c2ee50922891 [file] [log] [blame]
Mark Browna8b1d342010-11-03 18:05:58 -04001#undef TRACE_SYSTEM
2#define TRACE_SYSTEM asoc
3
4#if !defined(_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
5#define _TRACE_ASOC_H
6
7#include <linux/ktime.h>
8#include <linux/tracepoint.h>
9
Mark Brown3028eb82010-12-05 12:22:46 +000010struct snd_soc_jack;
Mark Browna8b1d342010-11-03 18:05:58 -040011struct snd_soc_codec;
Liam Girdwooda82ce2a2011-07-04 22:10:50 +010012struct snd_soc_platform;
Mark Brown84e90932010-11-04 00:07:02 -040013struct snd_soc_card;
14struct snd_soc_dapm_widget;
Mark Browna8b1d342010-11-03 18:05:58 -040015
16/*
17 * Log register events
18 */
19DECLARE_EVENT_CLASS(snd_soc_reg,
20
21 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
22 unsigned int val),
23
24 TP_ARGS(codec, reg, val),
25
26 TP_STRUCT__entry(
27 __string( name, codec->name )
28 __field( int, id )
29 __field( unsigned int, reg )
30 __field( unsigned int, val )
31 ),
32
33 TP_fast_assign(
34 __assign_str(name, codec->name);
35 __entry->id = codec->id;
36 __entry->reg = reg;
37 __entry->val = val;
38 ),
39
40 TP_printk("codec=%s.%d reg=%x val=%x", __get_str(name),
41 (int)__entry->id, (unsigned int)__entry->reg,
42 (unsigned int)__entry->val)
43);
44
45DEFINE_EVENT(snd_soc_reg, snd_soc_reg_write,
46
47 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
48 unsigned int val),
49
50 TP_ARGS(codec, reg, val)
51
52);
53
54DEFINE_EVENT(snd_soc_reg, snd_soc_reg_read,
55
56 TP_PROTO(struct snd_soc_codec *codec, unsigned int reg,
57 unsigned int val),
58
59 TP_ARGS(codec, reg, val)
60
61);
62
Liam Girdwooda82ce2a2011-07-04 22:10:50 +010063DECLARE_EVENT_CLASS(snd_soc_preg,
64
65 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
66 unsigned int val),
67
68 TP_ARGS(platform, reg, val),
69
70 TP_STRUCT__entry(
71 __string( name, platform->name )
72 __field( int, id )
73 __field( unsigned int, reg )
74 __field( unsigned int, val )
75 ),
76
77 TP_fast_assign(
78 __assign_str(name, platform->name);
79 __entry->id = platform->id;
80 __entry->reg = reg;
81 __entry->val = val;
82 ),
83
84 TP_printk("platform=%s.%d reg=%x val=%x", __get_str(name),
85 (int)__entry->id, (unsigned int)__entry->reg,
86 (unsigned int)__entry->val)
87);
88
89DEFINE_EVENT(snd_soc_preg, snd_soc_preg_write,
90
91 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
92 unsigned int val),
93
94 TP_ARGS(platform, reg, val)
95
96);
97
98DEFINE_EVENT(snd_soc_preg, snd_soc_preg_read,
99
100 TP_PROTO(struct snd_soc_platform *platform, unsigned int reg,
101 unsigned int val),
102
103 TP_ARGS(platform, reg, val)
104
105);
106
Mark Brown84e90932010-11-04 00:07:02 -0400107DECLARE_EVENT_CLASS(snd_soc_card,
Mark Browna8b1d342010-11-03 18:05:58 -0400108
Mark Brown84e90932010-11-04 00:07:02 -0400109 TP_PROTO(struct snd_soc_card *card, int val),
110
111 TP_ARGS(card, val),
112
113 TP_STRUCT__entry(
114 __string( name, card->name )
115 __field( int, val )
116 ),
117
118 TP_fast_assign(
119 __assign_str(name, card->name);
120 __entry->val = val;
121 ),
122
123 TP_printk("card=%s val=%d", __get_str(name), (int)__entry->val)
124);
125
126DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_start,
127
128 TP_PROTO(struct snd_soc_card *card, int val),
129
130 TP_ARGS(card, val)
131
132);
133
134DEFINE_EVENT(snd_soc_card, snd_soc_bias_level_done,
135
136 TP_PROTO(struct snd_soc_card *card, int val),
137
138 TP_ARGS(card, val)
139
140);
141
142DECLARE_EVENT_CLASS(snd_soc_dapm_basic,
143
144 TP_PROTO(struct snd_soc_card *card),
145
146 TP_ARGS(card),
147
148 TP_STRUCT__entry(
149 __string( name, card->name )
150 ),
151
152 TP_fast_assign(
153 __assign_str(name, card->name);
154 ),
155
156 TP_printk("card=%s", __get_str(name))
157);
158
159DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_start,
160
161 TP_PROTO(struct snd_soc_card *card),
162
163 TP_ARGS(card)
164
165);
166
167DEFINE_EVENT(snd_soc_dapm_basic, snd_soc_dapm_done,
168
169 TP_PROTO(struct snd_soc_card *card),
170
171 TP_ARGS(card)
172
173);
174
175DECLARE_EVENT_CLASS(snd_soc_dapm_widget,
176
177 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
178
179 TP_ARGS(w, val),
180
181 TP_STRUCT__entry(
182 __string( name, w->name )
183 __field( int, val )
184 ),
185
186 TP_fast_assign(
187 __assign_str(name, w->name);
188 __entry->val = val;
189 ),
190
191 TP_printk("widget=%s val=%d", __get_str(name),
192 (int)__entry->val)
193);
194
195DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_power,
196
197 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
198
199 TP_ARGS(w, val)
200
201);
202
203DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_start,
204
205 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
206
207 TP_ARGS(w, val)
208
209);
210
211DEFINE_EVENT(snd_soc_dapm_widget, snd_soc_dapm_widget_event_done,
212
213 TP_PROTO(struct snd_soc_dapm_widget *w, int val),
214
215 TP_ARGS(w, val)
216
217);
Mark Browna8b1d342010-11-03 18:05:58 -0400218
Mark Brownde02d072011-09-20 21:43:24 +0100219TRACE_EVENT(snd_soc_dapm_walk_done,
220
221 TP_PROTO(struct snd_soc_card *card),
222
223 TP_ARGS(card),
224
225 TP_STRUCT__entry(
226 __string( name, card->name )
227 __field( int, power_checks )
228 __field( int, path_checks )
229 ),
230
231 TP_fast_assign(
232 __assign_str(name, card->name);
233 __entry->power_checks = card->dapm_stats.power_checks;
234 __entry->path_checks = card->dapm_stats.path_checks;
235 ),
236
237 TP_printk("%s: %d power checks, %d path checks", __get_str(name),
238 (int)__entry->power_checks, (int)__entry->path_checks)
239);
240
Mark Brown3028eb82010-12-05 12:22:46 +0000241TRACE_EVENT(snd_soc_jack_irq,
242
243 TP_PROTO(const char *name),
244
245 TP_ARGS(name),
246
247 TP_STRUCT__entry(
248 __string( name, name )
249 ),
250
251 TP_fast_assign(
252 __assign_str(name, name);
253 ),
254
255 TP_printk("%s", __get_str(name))
256);
257
258TRACE_EVENT(snd_soc_jack_report,
259
260 TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
261
262 TP_ARGS(jack, mask, val),
263
264 TP_STRUCT__entry(
265 __string( name, jack->jack->name )
266 __field( int, mask )
267 __field( int, val )
268 ),
269
270 TP_fast_assign(
271 __assign_str(name, jack->jack->name);
272 __entry->mask = mask;
273 __entry->val = val;
274 ),
275
276 TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val,
277 (int)__entry->mask)
278);
279
280TRACE_EVENT(snd_soc_jack_notify,
281
282 TP_PROTO(struct snd_soc_jack *jack, int val),
283
284 TP_ARGS(jack, val),
285
286 TP_STRUCT__entry(
287 __string( name, jack->jack->name )
288 __field( int, val )
289 ),
290
291 TP_fast_assign(
292 __assign_str(name, jack->jack->name);
293 __entry->val = val;
294 ),
295
296 TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
297);
298
Dimitris Papastamosc358e642011-01-21 15:29:02 +0000299TRACE_EVENT(snd_soc_cache_sync,
300
301 TP_PROTO(struct snd_soc_codec *codec, const char *type,
302 const char *status),
303
304 TP_ARGS(codec, type, status),
305
306 TP_STRUCT__entry(
307 __string( name, codec->name )
308 __string( status, status )
309 __string( type, type )
310 __field( int, id )
311 ),
312
313 TP_fast_assign(
314 __assign_str(name, codec->name);
315 __assign_str(status, status);
316 __assign_str(type, type);
317 __entry->id = codec->id;
318 ),
319
320 TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
321 (int)__entry->id, __get_str(type), __get_str(status))
322);
323
Mark Browna8b1d342010-11-03 18:05:58 -0400324#endif /* _TRACE_ASOC_H */
325
326/* This part must be outside protection */
327#include <trace/define_trace.h>