Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
e311782a TI |
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 | TRACE_EVENT(hda_send_cmd, | |
20 | TP_PROTO(struct hdac_bus *bus, unsigned int cmd), | |
21 | TP_ARGS(bus, cmd), | |
c7153100 SRG |
22 | TP_STRUCT__entry( |
23 | __string(name, dev_name((bus)->dev)) | |
24 | __field(u32, cmd) | |
25 | ), | |
e311782a | 26 | TP_fast_assign( |
c7153100 SRG |
27 | __assign_str(name, dev_name((bus)->dev)); |
28 | __entry->cmd = cmd; | |
e311782a | 29 | ), |
c7153100 | 30 | TP_printk("[%s:%d] val=0x%08x", __get_str(name), __entry->cmd >> 28, __entry->cmd) |
e311782a TI |
31 | ); |
32 | ||
33 | TRACE_EVENT(hda_get_response, | |
34 | TP_PROTO(struct hdac_bus *bus, unsigned int addr, unsigned int res), | |
35 | TP_ARGS(bus, addr, res), | |
c7153100 SRG |
36 | TP_STRUCT__entry( |
37 | __string(name, dev_name((bus)->dev)) | |
38 | __field(u32, addr) | |
39 | __field(u32, res) | |
40 | ), | |
e311782a | 41 | TP_fast_assign( |
c7153100 SRG |
42 | __assign_str(name, dev_name((bus)->dev)); |
43 | __entry->addr = addr; | |
44 | __entry->res = res; | |
e311782a | 45 | ), |
c7153100 | 46 | TP_printk("[%s:%d] val=0x%08x", __get_str(name), __entry->addr, __entry->res) |
e311782a TI |
47 | ); |
48 | ||
49 | TRACE_EVENT(hda_unsol_event, | |
50 | TP_PROTO(struct hdac_bus *bus, u32 res, u32 res_ex), | |
51 | TP_ARGS(bus, res, res_ex), | |
c7153100 SRG |
52 | TP_STRUCT__entry( |
53 | __string(name, dev_name((bus)->dev)) | |
54 | __field(u32, res) | |
55 | __field(u32, res_ex) | |
56 | ), | |
e311782a | 57 | TP_fast_assign( |
c7153100 SRG |
58 | __assign_str(name, dev_name((bus)->dev)); |
59 | __entry->res = res; | |
60 | __entry->res_ex = res_ex; | |
e311782a | 61 | ), |
c7153100 SRG |
62 | TP_printk("[%s:%d] res=0x%08x, res_ex=0x%08x", __get_str(name), |
63 | __entry->res_ex & 0x0f, __entry->res, __entry->res_ex) | |
e311782a | 64 | ); |
598dfb56 LY |
65 | |
66 | DECLARE_EVENT_CLASS(hdac_stream, | |
67 | TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), | |
68 | ||
69 | TP_ARGS(bus, azx_dev), | |
70 | ||
71 | TP_STRUCT__entry( | |
72 | __field(unsigned char, stream_tag) | |
73 | ), | |
74 | ||
75 | TP_fast_assign( | |
76 | __entry->stream_tag = (azx_dev)->stream_tag; | |
77 | ), | |
78 | ||
79 | TP_printk("stream_tag: %d", __entry->stream_tag) | |
80 | ); | |
81 | ||
82 | DEFINE_EVENT(hdac_stream, snd_hdac_stream_start, | |
83 | TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), | |
84 | TP_ARGS(bus, azx_dev) | |
85 | ); | |
86 | ||
87 | DEFINE_EVENT(hdac_stream, snd_hdac_stream_stop, | |
88 | TP_PROTO(struct hdac_bus *bus, struct hdac_stream *azx_dev), | |
89 | TP_ARGS(bus, azx_dev) | |
90 | ); | |
91 | ||
e311782a TI |
92 | #endif /* __HDAC_TRACE_H */ |
93 | ||
94 | /* This part must be outside protection */ | |
95 | #undef TRACE_INCLUDE_PATH | |
96 | #define TRACE_INCLUDE_PATH . | |
97 | ||
98 | #undef TRACE_INCLUDE_FILE | |
99 | #define TRACE_INCLUDE_FILE trace | |
100 | ||
101 | #include <trace/define_trace.h> |