1 // SPDX-FileCopyrightText: 2012 Paul Woegerer <paul_woegerer@mentor.com>
3 // SPDX-License-Identifier: GPL-2.0-only
6 #define TRACE_SYSTEM asoc
8 #if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
9 #define LTTNG_TRACE_ASOC_H
11 #include <lttng/tracepoint-event.h>
12 #include <linux/ktime.h>
13 #include <lttng/kernel-version.h>
15 #define DAPM_DIRECT "(direct)"
16 #define DAPM_COMPONENT_NONE "(none)"
18 #ifndef _TRACE_ASOC_DEF
19 #define _TRACE_ASOC_DEF
22 struct snd_soc_dapm_widget
;
23 struct snd_soc_dapm_path
;
26 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
27 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context
,
29 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
34 ctf_string(name
, dapm
->card
->name
)
35 ctf_string(component
, dapm
->component
? dapm
->component
->name
: DAPM_COMPONENT_NONE
)
36 ctf_integer(int, val
, val
)
40 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context
, snd_soc_bias_level_start
,
42 asoc_snd_soc_bias_level_start
,
44 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
50 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context
, snd_soc_bias_level_done
,
52 asoc_snd_soc_bias_level_done
,
54 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
60 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card
,
62 TP_PROTO(struct snd_soc_card
*card
, int val
),
67 ctf_string(name
, card
->name
)
68 ctf_integer(int, val
, val
)
72 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_start
,
74 asoc_snd_soc_bias_level_start
,
76 TP_PROTO(struct snd_soc_card
*card
, int val
),
82 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_done
,
84 asoc_snd_soc_bias_level_done
,
86 TP_PROTO(struct snd_soc_card
*card
, int val
),
93 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
94 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
96 TP_PROTO(struct snd_soc_card
*card
, int event
),
101 ctf_string(name
, card
->name
)
102 ctf_integer(int, event
, event
)
105 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
107 asoc_snd_soc_dapm_start
,
109 TP_PROTO(struct snd_soc_card
*card
, int event
),
115 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
117 asoc_snd_soc_dapm_done
,
119 TP_PROTO(struct snd_soc_card
*card
, int event
),
125 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
127 TP_PROTO(struct snd_soc_card
*card
),
132 ctf_string(name
, card
->name
)
136 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
138 asoc_snd_soc_dapm_start
,
140 TP_PROTO(struct snd_soc_card
*card
),
146 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
148 asoc_snd_soc_dapm_done
,
150 TP_PROTO(struct snd_soc_card
*card
),
157 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget
,
159 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
164 ctf_string(name
, w
->name
)
165 ctf_integer(int, val
, val
)
169 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
171 asoc_snd_soc_dapm_widget_power
,
173 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
179 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
181 asoc_snd_soc_dapm_widget_event_start
,
183 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
189 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
191 asoc_snd_soc_dapm_widget_event_done
,
193 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
199 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_walk_done
,
201 asoc_snd_soc_dapm_walk_done
,
203 TP_PROTO(struct snd_soc_card
*card
),
208 ctf_string(name
, card
->name
)
209 ctf_integer(int, power_checks
, card
->dapm_stats
.power_checks
)
210 ctf_integer(int, path_checks
, card
->dapm_stats
.path_checks
)
211 ctf_integer(int, neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
215 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_path
,
217 asoc_snd_soc_dapm_path
,
219 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
220 enum snd_soc_dapm_direction dir
,
221 struct snd_soc_dapm_path
*path
),
223 TP_ARGS(widget
, dir
, path
),
226 ctf_string(wname
, widget
->name
)
227 ctf_string(pname
, path
->name
? path
->name
: DAPM_DIRECT
)
228 ctf_string(pnname
, path
->node
[dir
]->name
)
229 ctf_integer(int, path_node
, (long) path
->node
[dir
])
230 ctf_integer(int, path_connect
, path
->connect
)
231 ctf_integer(int, path_dir
, dir
)
235 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_connected
,
237 asoc_snd_soc_dapm_connected
,
239 TP_PROTO(int paths
, int stream
),
241 TP_ARGS(paths
, stream
),
244 ctf_integer(int, paths
, paths
)
245 ctf_integer(int, stream
, stream
)
249 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_irq
,
251 asoc_snd_soc_jack_irq
,
253 TP_PROTO(const char *name
),
258 ctf_string(name
, name
)
262 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report
,
264 asoc_snd_soc_jack_report
,
266 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
268 TP_ARGS(jack
, mask
, val
),
271 ctf_string(name
, jack
->jack
->id
)
272 ctf_integer(int, mask
, mask
)
273 ctf_integer(int, val
, val
)
277 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify
,
279 asoc_snd_soc_jack_notify
,
281 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
286 ctf_string(name
, jack
->jack
->id
)
287 ctf_integer(int, val
, val
)
291 #endif /* LTTNG_TRACE_ASOC_H */
293 /* This part must be outside protection */
294 #include <lttng/define_trace.h>