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)"
14 #ifndef _TRACE_ASOC_DEF
15 #define _TRACE_ASOC_DEF
18 struct snd_soc_dapm_widget
;
19 struct snd_soc_dapm_path
;
22 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_card
,
24 TP_PROTO(struct snd_soc_card
*card
, int val
),
29 ctf_string(name
, card
->name
)
30 ctf_integer(int, val
, val
)
34 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_start
,
36 asoc_snd_soc_bias_level_start
,
38 TP_PROTO(struct snd_soc_card
*card
, int val
),
44 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_card
, snd_soc_bias_level_done
,
46 asoc_snd_soc_bias_level_done
,
48 TP_PROTO(struct snd_soc_card
*card
, int val
),
54 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(6,9,0))
55 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
57 TP_PROTO(struct snd_soc_card
*card
, int event
),
62 ctf_string(name
, card
->name
)
63 ctf_integer(int, event
, event
)
66 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
68 asoc_snd_soc_dapm_start
,
70 TP_PROTO(struct snd_soc_card
*card
, int event
),
76 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
78 asoc_snd_soc_dapm_done
,
80 TP_PROTO(struct snd_soc_card
*card
, int event
),
86 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_basic
,
88 TP_PROTO(struct snd_soc_card
*card
),
93 ctf_string(name
, card
->name
)
97 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_start
,
99 asoc_snd_soc_dapm_start
,
101 TP_PROTO(struct snd_soc_card
*card
),
107 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_basic
, snd_soc_dapm_done
,
109 asoc_snd_soc_dapm_done
,
111 TP_PROTO(struct snd_soc_card
*card
),
118 LTTNG_TRACEPOINT_EVENT_CLASS(asoc_snd_soc_dapm_widget
,
120 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
125 ctf_string(name
, w
->name
)
126 ctf_integer(int, val
, val
)
130 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_power
,
132 asoc_snd_soc_dapm_widget_power
,
134 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
140 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_start
,
142 asoc_snd_soc_dapm_widget_event_start
,
144 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
150 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(asoc_snd_soc_dapm_widget
, snd_soc_dapm_widget_event_done
,
152 asoc_snd_soc_dapm_widget_event_done
,
154 TP_PROTO(struct snd_soc_dapm_widget
*w
, int val
),
160 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_walk_done
,
162 asoc_snd_soc_dapm_walk_done
,
164 TP_PROTO(struct snd_soc_card
*card
),
169 ctf_string(name
, card
->name
)
170 ctf_integer(int, power_checks
, card
->dapm_stats
.power_checks
)
171 ctf_integer(int, path_checks
, card
->dapm_stats
.path_checks
)
172 ctf_integer(int, neighbour_checks
, card
->dapm_stats
.neighbour_checks
)
176 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_path
,
178 asoc_snd_soc_dapm_path
,
180 TP_PROTO(struct snd_soc_dapm_widget
*widget
,
181 enum snd_soc_dapm_direction dir
,
182 struct snd_soc_dapm_path
*path
),
184 TP_ARGS(widget
, dir
, path
),
187 ctf_string(wname
, widget
->name
)
188 ctf_string(pname
, path
->name
? path
->name
: DAPM_DIRECT
)
189 ctf_string(pnname
, path
->node
[dir
]->name
)
190 ctf_integer(int, path_node
, (long) path
->node
[dir
])
191 ctf_integer(int, path_connect
, path
->connect
)
192 ctf_integer(int, path_dir
, dir
)
196 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_dapm_connected
,
198 asoc_snd_soc_dapm_connected
,
200 TP_PROTO(int paths
, int stream
),
202 TP_ARGS(paths
, stream
),
205 ctf_integer(int, paths
, paths
)
206 ctf_integer(int, stream
, stream
)
210 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_irq
,
212 asoc_snd_soc_jack_irq
,
214 TP_PROTO(const char *name
),
219 ctf_string(name
, name
)
223 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_report
,
225 asoc_snd_soc_jack_report
,
227 TP_PROTO(struct snd_soc_jack
*jack
, int mask
, int val
),
229 TP_ARGS(jack
, mask
, val
),
232 ctf_string(name
, jack
->jack
->id
)
233 ctf_integer(int, mask
, mask
)
234 ctf_integer(int, val
, val
)
238 LTTNG_TRACEPOINT_EVENT_MAP(snd_soc_jack_notify
,
240 asoc_snd_soc_jack_notify
,
242 TP_PROTO(struct snd_soc_jack
*jack
, int val
),
247 ctf_string(name
, jack
->jack
->id
)
248 ctf_integer(int, val
, val
)
252 #endif /* LTTNG_TRACE_ASOC_H */
254 /* This part must be outside protection */
255 #include <lttng/define_trace.h>