blob: 9a34b867d8c272531692679f829fa9f57bd44e6f [file] [log] [blame]
Takashi Iwaid66fee52011-08-02 15:39:31 +02001#undef TRACE_SYSTEM
2#define TRACE_SYSTEM hda
3#define TRACE_INCLUDE_FILE hda_trace
4
5#if !defined(_TRACE_HDA_H) || defined(TRACE_HEADER_MULTI_READ)
6#define _TRACE_HDA_H
7
8#include <linux/tracepoint.h>
9
10struct hda_bus;
11struct hda_codec;
12
13DECLARE_EVENT_CLASS(hda_cmd,
14
15 TP_PROTO(struct hda_codec *codec, unsigned int val),
16
17 TP_ARGS(codec, val),
18
19 TP_STRUCT__entry(
20 __field( unsigned int, card )
21 __field( unsigned int, addr )
22 __field( unsigned int, val )
23 ),
24
25 TP_fast_assign(
26 __entry->card = (codec)->bus->card->number;
27 __entry->addr = (codec)->addr;
28 __entry->val = (val);
29 ),
30
31 TP_printk("[%d:%d] val=%x", __entry->card, __entry->addr, __entry->val)
32);
33
34DEFINE_EVENT(hda_cmd, hda_send_cmd,
35 TP_PROTO(struct hda_codec *codec, unsigned int val),
36 TP_ARGS(codec, val)
37);
38
39DEFINE_EVENT(hda_cmd, hda_get_response,
40 TP_PROTO(struct hda_codec *codec, unsigned int val),
41 TP_ARGS(codec, val)
42);
43
44TRACE_EVENT(hda_bus_reset,
45
46 TP_PROTO(struct hda_bus *bus),
47
48 TP_ARGS(bus),
49
50 TP_STRUCT__entry(
51 __field( unsigned int, card )
52 ),
53
54 TP_fast_assign(
55 __entry->card = (bus)->card->number;
56 ),
57
58 TP_printk("[%d]", __entry->card)
59);
60
61DECLARE_EVENT_CLASS(hda_power,
62
63 TP_PROTO(struct hda_codec *codec),
64
65 TP_ARGS(codec),
66
67 TP_STRUCT__entry(
68 __field( unsigned int, card )
69 __field( unsigned int, addr )
70 ),
71
72 TP_fast_assign(
73 __entry->card = (codec)->bus->card->number;
74 __entry->addr = (codec)->addr;
75 ),
76
77 TP_printk("[%d:%d]", __entry->card, __entry->addr)
78);
79
80DEFINE_EVENT(hda_power, hda_power_down,
81 TP_PROTO(struct hda_codec *codec),
82 TP_ARGS(codec)
83);
84
85DEFINE_EVENT(hda_power, hda_power_up,
86 TP_PROTO(struct hda_codec *codec),
87 TP_ARGS(codec)
88);
89
Takashi Iwaib244d332012-08-20 10:22:25 +020090TRACE_EVENT(hda_power_count,
91 TP_PROTO(struct hda_codec *codec),
92 TP_ARGS(codec),
93 TP_STRUCT__entry(
94 __field( unsigned int, card )
95 __field( unsigned int, addr )
96 __field( int, power_count )
97 __field( int, power_on )
98 __field( int, power_transition )
99 ),
100
101 TP_fast_assign(
102 __entry->card = (codec)->bus->card->number;
103 __entry->addr = (codec)->addr;
104 __entry->power_count = (codec)->power_count;
105 __entry->power_on = (codec)->power_on;
106 __entry->power_transition = (codec)->power_transition;
107 ),
108
109 TP_printk("[%d:%d] power_count=%d, power_on=%d, power_transition=%d",
110 __entry->card, __entry->addr, __entry->power_count,
111 __entry->power_on, __entry->power_transition)
112);
113
Takashi Iwaiecf726f2011-08-09 14:22:44 +0200114TRACE_EVENT(hda_unsol_event,
115
116 TP_PROTO(struct hda_bus *bus, u32 res, u32 res_ex),
117
118 TP_ARGS(bus, res, res_ex),
119
120 TP_STRUCT__entry(
121 __field( unsigned int, card )
122 __field( u32, res )
123 __field( u32, res_ex )
124 ),
125
126 TP_fast_assign(
127 __entry->card = (bus)->card->number;
128 __entry->res = res;
129 __entry->res_ex = res_ex;
130 ),
131
132 TP_printk("[%d] res=%x, res_ex=%x", __entry->card,
133 __entry->res, __entry->res_ex)
134);
135
Takashi Iwaid66fee52011-08-02 15:39:31 +0200136#endif /* _TRACE_HDA_H */
137
138/* This part must be outside protection */
139#undef TRACE_INCLUDE_PATH
140#define TRACE_INCLUDE_PATH .
141#include <trace/define_trace.h>