xref: /openbmc/linux/include/trace/events/asoc.h (revision 81d67439)
1 #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 
10 struct snd_soc_jack;
11 struct snd_soc_codec;
12 struct snd_soc_platform;
13 struct snd_soc_card;
14 struct snd_soc_dapm_widget;
15 
16 /*
17  * Log register events
18  */
19 DECLARE_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 
45 DEFINE_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 
54 DEFINE_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 
63 DECLARE_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 
89 DEFINE_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 
98 DEFINE_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 
107 DECLARE_EVENT_CLASS(snd_soc_card,
108 
109 	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 
126 DEFINE_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 
134 DEFINE_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 
142 DECLARE_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 
159 DEFINE_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 
167 DEFINE_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 
175 DECLARE_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 
195 DEFINE_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 
203 DEFINE_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 
211 DEFINE_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 );
218 
219 TRACE_EVENT(snd_soc_jack_irq,
220 
221 	TP_PROTO(const char *name),
222 
223 	TP_ARGS(name),
224 
225 	TP_STRUCT__entry(
226 		__string(	name,	name		)
227 	),
228 
229 	TP_fast_assign(
230 		__assign_str(name, name);
231 	),
232 
233 	TP_printk("%s", __get_str(name))
234 );
235 
236 TRACE_EVENT(snd_soc_jack_report,
237 
238 	TP_PROTO(struct snd_soc_jack *jack, int mask, int val),
239 
240 	TP_ARGS(jack, mask, val),
241 
242 	TP_STRUCT__entry(
243 		__string(	name,		jack->jack->name	)
244 		__field(	int,		mask			)
245 		__field(	int,		val			)
246 	),
247 
248 	TP_fast_assign(
249 		__assign_str(name, jack->jack->name);
250 		__entry->mask = mask;
251 		__entry->val = val;
252 	),
253 
254 	TP_printk("jack=%s %x/%x", __get_str(name), (int)__entry->val,
255 		  (int)__entry->mask)
256 );
257 
258 TRACE_EVENT(snd_soc_jack_notify,
259 
260 	TP_PROTO(struct snd_soc_jack *jack, int val),
261 
262 	TP_ARGS(jack, val),
263 
264 	TP_STRUCT__entry(
265 		__string(	name,		jack->jack->name	)
266 		__field(	int,		val			)
267 	),
268 
269 	TP_fast_assign(
270 		__assign_str(name, jack->jack->name);
271 		__entry->val = val;
272 	),
273 
274 	TP_printk("jack=%s %x", __get_str(name), (int)__entry->val)
275 );
276 
277 TRACE_EVENT(snd_soc_cache_sync,
278 
279 	TP_PROTO(struct snd_soc_codec *codec, const char *type,
280 		 const char *status),
281 
282 	TP_ARGS(codec, type, status),
283 
284 	TP_STRUCT__entry(
285 		__string(	name,		codec->name	)
286 		__string(	status,		status		)
287 		__string(	type,		type		)
288 		__field(	int,		id		)
289 	),
290 
291 	TP_fast_assign(
292 		__assign_str(name, codec->name);
293 		__assign_str(status, status);
294 		__assign_str(type, type);
295 		__entry->id = codec->id;
296 	),
297 
298 	TP_printk("codec=%s.%d type=%s status=%s", __get_str(name),
299 		  (int)__entry->id, __get_str(type), __get_str(status))
300 );
301 
302 #endif /* _TRACE_ASOC_H */
303 
304 /* This part must be outside protection */
305 #include <trace/define_trace.h>
306