1 /* SPDX-License-Identifier: GPL-2.0-only */
3 #define TRACE_SYSTEM asoc
5 #if !defined(LTTNG_TRACE_ASOC_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define LTTNG_TRACE_ASOC_H
8 #include <lttng/tracepoint-event.h>
9 #include <linux/ktime.h>
10 #include <lttng/kernel-version.h>
12 #define DAPM_DIRECT "(direct)"
13 #define DAPM_COMPONENT_NONE "(none)"
15 #ifndef _TRACE_ASOC_DEF
16 #define _TRACE_ASOC_DEF
19 struct snd_soc_dapm_widget
;
20 struct snd_soc_dapm_path
;
23 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
24 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_context
,
26 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
31 ctf_string(name
, dapm
->card
->name
)
32 ctf_string(component
, dapm
->component
? dapm
->component
->name
: DAPM_COMPONENT_NONE
)
33 ctf_integer(int, val
, val
)
37 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context
, snd_soc_bias_level_start
,
39 asoc_snd_soc_bias_level_start
,
41 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
47 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_context
, snd_soc_bias_level_done
,
49 asoc_snd_soc_bias_level_done
,
51 TP_PROTO(struct snd_soc_dapm_context
*dapm
, int val
),
57 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card
,
59 TP_PROTO(struct snd_soc_card
*card
, int val
),
64 ctf_string(name
, card
->name
)
65 ctf_integer(int, val
, val
)
69 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_start
,
71 asoc_snd_soc_bias_level_start
,
73 TP_PROTO(struct snd_soc_card
*card
, int val
),
79 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_done
,
81 asoc_snd_soc_bias_level_done
,
83 TP_PROTO(struct snd_soc_card
*card
, int val
),
90 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
91 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
93 TP_PROTO(struct snd_soc_card
*card
, int event
),
98 ctf_string(name
, card
->name
)
99 ctf_integer(int, event
, event
)
102 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
104 asoc_snd_soc_dapm_start
,
106 TP_PROTO(struct snd_soc_card
*card
, int event
),
112 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
114 asoc_snd_soc_dapm_done
,
116 TP_PROTO(struct snd_soc_card
*card
, int event
),
122 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
124 TP_PROTO(struct snd_soc_card
*card
),
129 ctf_string(name
, card
->name
)
133 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
135 asoc_snd_soc_dapm_start
,
137 TP_PROTO(struct snd_soc_card
*card
),
143 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
145 asoc_snd_soc_dapm_done
,
147 TP_PROTO(struct snd_soc_card
*card
),
154 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget
,
156 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
161 ctf_string(name
, w
->name
)
162 ctf_integer(int, val
, val
)
166 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
168 asoc_snd_soc_dapm_widget_power
,
170 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
176 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
178 asoc_snd_soc_dapm_widget_event_start
,
180 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
186 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
188 asoc_snd_soc_dapm_widget_event_done
,
190 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
196 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_walk_done
,
198 asoc_snd_soc_dapm_walk_done
,
200 TP_PROTO(struct snd_soc_card
*card
),
205 ctf_string(name
, card
->name
)
206 ctf_integer(int, power_checks
, card
->dapm_stats
.power_checks
)
207 ctf_integer(int, path_checks
, card
->dapm_stats
.path_checks
)
208 ctf_integer(int, neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
212 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_path
,
214 asoc_snd_soc_dapm_path
,
216 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
217 enum snd_soc_dapm_direction dir
,
218 struct snd_soc_dapm_path
*path
),
220 TP_ARGS(widget
, dir
, path
),
223 ctf_string(wname
, widget
->name
)
224 ctf_string(pname
, path
->name
? path
->name
: DAPM_DIRECT
)
225 ctf_string(pnname
, path
->node
[dir
]->name
)
226 ctf_integer(int, path_node
, (long) path
->node
[dir
])
227 ctf_integer(int, path_connect
, path
->connect
)
228 ctf_integer(int, path_dir
, dir
)
232 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_connected
,
234 asoc_snd_soc_dapm_connected
,
236 TP_PROTO(int paths
, int stream
),
238 TP_ARGS(paths
, stream
),
241 ctf_integer(int, paths
, paths
)
242 ctf_integer(int, stream
, stream
)
246 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_irq
,
248 asoc_snd_soc_jack_irq
,
250 TP_PROTO(const char *name
),
255 ctf_string(name
, name
)
259 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report
,
261 asoc_snd_soc_jack_report
,
263 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
265 TP_ARGS(jack
, mask
, val
),
268 ctf_string(name
, jack
->jack
->id
)
269 ctf_integer(int, mask
, mask
)
270 ctf_integer(int, val
, val
)
274 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify
,
276 asoc_snd_soc_jack_notify
,
278 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
283 ctf_string(name
, jack
->jack
->id
)
284 ctf_integer(int, val
, val
)
288 #endif /* LTTNG_TRACE_ASOC_H */
290 /* This part must be outside protection */
291 #include <lttng/define_trace.h>