1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM hda_controller
4 #define TRACE_INCLUDE_FILE hda_controller_trace
5 
6 #if !defined(_TRACE_HDA_CONTROLLER_H) || defined(TRACE_HEADER_MULTI_READ)
7 #define _TRACE_HDA_CONTROLLER_H
8 
9 #include <linux/tracepoint.h>
10 
11 struct azx;
12 struct azx_dev;
13 
14 TRACE_EVENT(azx_pcm_trigger,
15 
16 	TP_PROTO(struct azx *chip, struct azx_dev *dev, int cmd),
17 
18 	TP_ARGS(chip, dev, cmd),
19 
20 	TP_STRUCT__entry(
21 		__field( int, card )
22 		__field( int, idx )
23 		__field( int, cmd )
24 	),
25 
26 	TP_fast_assign(
27 		__entry->card = (chip)->card->number;
28 		__entry->idx = (dev)->core.index;
29 		__entry->cmd = cmd;
30 	),
31 
32 	TP_printk("[%d:%d] cmd=%d", __entry->card, __entry->idx, __entry->cmd)
33 );
34 
35 TRACE_EVENT(azx_get_position,
36 
37     TP_PROTO(struct azx *chip, struct azx_dev *dev, unsigned int pos, unsigned int delay),
38 
39 	    TP_ARGS(chip, dev, pos, delay),
40 
41 	TP_STRUCT__entry(
42 		__field( int, card )
43 		__field( int, idx )
44 		__field( unsigned int, pos )
45 		__field( unsigned int, delay )
46 	),
47 
48 	TP_fast_assign(
49 		__entry->card = (chip)->card->number;
50 		__entry->idx = (dev)->core.index;
51 		__entry->pos = pos;
52 		__entry->delay = delay;
53 	),
54 
55 	TP_printk("[%d:%d] pos=%u, delay=%u", __entry->card, __entry->idx, __entry->pos, __entry->delay)
56 );
57 
58 DECLARE_EVENT_CLASS(azx_pcm,
59 	TP_PROTO(struct azx *chip, struct azx_dev *azx_dev),
60 
61 	TP_ARGS(chip, azx_dev),
62 
63 	TP_STRUCT__entry(
64 		__field( unsigned char, stream_tag )
65 	),
66 
67 	TP_fast_assign(
68 		__entry->stream_tag = (azx_dev)->core.stream_tag;
69 	),
70 
71 	TP_printk("stream_tag: %d", __entry->stream_tag)
72 );
73 
74 DEFINE_EVENT(azx_pcm, azx_pcm_open,
75 	TP_PROTO(struct azx *chip, struct azx_dev *azx_dev),
76 	TP_ARGS(chip, azx_dev)
77 );
78 
79 DEFINE_EVENT(azx_pcm, azx_pcm_close,
80 	TP_PROTO(struct azx *chip, struct azx_dev *azx_dev),
81 	TP_ARGS(chip, azx_dev)
82 );
83 
84 DEFINE_EVENT(azx_pcm, azx_pcm_hw_params,
85 	TP_PROTO(struct azx *chip, struct azx_dev *azx_dev),
86 	TP_ARGS(chip, azx_dev)
87 );
88 
89 DEFINE_EVENT(azx_pcm, azx_pcm_prepare,
90 	TP_PROTO(struct azx *chip, struct azx_dev *azx_dev),
91 	TP_ARGS(chip, azx_dev)
92 );
93 
94 #endif /* _TRACE_HDA_CONTROLLER_H */
95 
96 /* This part must be outside protection */
97 #undef TRACE_INCLUDE_PATH
98 #define TRACE_INCLUDE_PATH .
99 #include <trace/define_trace.h>
100