Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */
2 : : #undef TRACE_SYSTEM
3 : : #define TRACE_SYSTEM hda
4 : :
5 : : #if !defined(__HDAC_TRACE_H) || defined(TRACE_HEADER_MULTI_READ)
6 : : #define __HDAC_TRACE_H
7 : :
8 : : #include <linux/tracepoint.h>
9 : : #include <linux/device.h>
10 : : #include <sound/hdaudio.h>
11 : :
12 : : #ifndef HDAC_MSG_MAX
13 : : #define HDAC_MSG_MAX 500
14 : : #endif
15 : :
16 : : struct hdac_bus;
17 : : struct hdac_codec;
18 : :
19 [ # # # # : 0 : TRACE_EVENT(hda_send_cmd,
# # # # ]
20 : : TP_PROTO(struct hdac_bus *bus, unsigned int cmd),
21 : : TP_ARGS(bus, cmd),
22 : : TP_STRUCT__entry(__dynamic_array(char, msg, HDAC_MSG_MAX)),
23 : : TP_fast_assign(
24 : : snprintf(__get_str(msg), HDAC_MSG_MAX,
25 : : "[%s:%d] val=0x%08x",
26 : : dev_name((bus)->dev), (cmd) >> 28, cmd);
27 : : ),
28 : : TP_printk("%s", __get_str(msg))
29 : : );
30 : :
31 [ # # # # : 0 : TRACE_EVENT(hda_get_response,
# # # # ]
32 : : TP_PROTO(struct hdac_bus *bus, unsigned int addr, unsigned int res),
33 : : TP_ARGS(bus, addr, res),
34 : : TP_STRUCT__entry(__dynamic_array(char, msg, HDAC_MSG_MAX)),
35 : : TP_fast_assign(
36 : : snprintf(__get_str(msg), HDAC_MSG_MAX,
37 : : "[%s:%d] val=0x%08x",
38 : : dev_name((bus)->dev), addr, res);
39 : : ),
40 : : TP_printk("%s", __get_str(msg))
41 : : );
42 : :
43 [ # # # # : 0 : TRACE_EVENT(hda_unsol_event,
# # # # ]
44 : : TP_PROTO(struct hdac_bus *bus, u32 res, u32 res_ex),
45 : : TP_ARGS(bus, res, res_ex),
46 : : TP_STRUCT__entry(__dynamic_array(char, msg, HDAC_MSG_MAX)),
47 : : TP_fast_assign(
48 : : snprintf(__get_str(msg), HDAC_MSG_MAX,
49 : : "[%s:%d] res=0x%08x, res_ex=0x%08x",
50 : : dev_name((bus)->dev), res_ex & 0x0f, res, res_ex);
51 : : ),
52 : : TP_printk("%s", __get_str(msg))
53 : : );
54 : :
55 [ # # # # : 0 : DECLARE_EVENT_CLASS(hdac_stream,
# # ]
56 : : TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev),
57 : :
58 : : TP_ARGS(bus, azx_dev),
59 : :
60 : : TP_STRUCT__entry(
61 : : __field(unsigned char, stream_tag)
62 : : ),
63 : :
64 : : TP_fast_assign(
65 : : __entry->stream_tag = (azx_dev)->stream_tag;
66 : : ),
67 : :
68 : : TP_printk("stream_tag: %d", __entry->stream_tag)
69 : : );
70 : :
71 [ # # # # : 0 : DEFINE_EVENT(hdac_stream, snd_hdac_stream_start,
# # # # ]
72 : : TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev),
73 : : TP_ARGS(bus, azx_dev)
74 : : );
75 : :
76 [ # # # # : 0 : DEFINE_EVENT(hdac_stream, snd_hdac_stream_stop,
# # # # ]
77 : : TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev),
78 : : TP_ARGS(bus, azx_dev)
79 : : );
80 : :
81 : : #endif /* __HDAC_TRACE_H */
82 : :
83 : : /* This part must be outside protection */
84 : : #undef TRACE_INCLUDE_PATH
85 : : #define TRACE_INCLUDE_PATH .
86 : :
87 : : #undef TRACE_INCLUDE_FILE
88 : : #define TRACE_INCLUDE_FILE trace
89 : :
90 : : #include <trace/define_trace.h>
|