arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / events / scmi.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #undef TRACE_SYSTEM
3 #define TRACE_SYSTEM scmi
4
5 #if !defined(_TRACE_SCMI_H) || defined(TRACE_HEADER_MULTI_READ)
6 #define _TRACE_SCMI_H
7
8 #include <linux/tracepoint.h>
9
10 TRACE_EVENT(scmi_fc_call,
11         TP_PROTO(u8 protocol_id, u8 msg_id, u32 res_id, u32 val1, u32 val2),
12         TP_ARGS(protocol_id, msg_id, res_id, val1, val2),
13
14         TP_STRUCT__entry(
15                 __field(u8, protocol_id)
16                 __field(u8, msg_id)
17                 __field(u32, res_id)
18                 __field(u32, val1)
19                 __field(u32, val2)
20         ),
21
22         TP_fast_assign(
23                 __entry->protocol_id = protocol_id;
24                 __entry->msg_id = msg_id;
25                 __entry->res_id = res_id;
26                 __entry->val1 = val1;
27                 __entry->val2 = val2;
28         ),
29
30         TP_printk("pt=%02X msg_id=%02X res_id:%u vals=%u:%u",
31                 __entry->protocol_id, __entry->msg_id,
32                 __entry->res_id, __entry->val1, __entry->val2)
33 );
34
35 TRACE_EVENT(scmi_xfer_begin,
36         TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
37                  bool poll),
38         TP_ARGS(transfer_id, msg_id, protocol_id, seq, poll),
39
40         TP_STRUCT__entry(
41                 __field(int, transfer_id)
42                 __field(u8, msg_id)
43                 __field(u8, protocol_id)
44                 __field(u16, seq)
45                 __field(bool, poll)
46         ),
47
48         TP_fast_assign(
49                 __entry->transfer_id = transfer_id;
50                 __entry->msg_id = msg_id;
51                 __entry->protocol_id = protocol_id;
52                 __entry->seq = seq;
53                 __entry->poll = poll;
54         ),
55
56         TP_printk("pt=%02X msg_id=%02X seq=%04X transfer_id=%X poll=%u",
57                 __entry->protocol_id, __entry->msg_id, __entry->seq,
58                 __entry->transfer_id, __entry->poll)
59 );
60
61 TRACE_EVENT(scmi_xfer_response_wait,
62         TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
63                  u32 timeout, bool poll),
64         TP_ARGS(transfer_id, msg_id, protocol_id, seq, timeout, poll),
65
66         TP_STRUCT__entry(
67                 __field(int, transfer_id)
68                 __field(u8, msg_id)
69                 __field(u8, protocol_id)
70                 __field(u16, seq)
71                 __field(u32, timeout)
72                 __field(bool, poll)
73         ),
74
75         TP_fast_assign(
76                 __entry->transfer_id = transfer_id;
77                 __entry->msg_id = msg_id;
78                 __entry->protocol_id = protocol_id;
79                 __entry->seq = seq;
80                 __entry->timeout = timeout;
81                 __entry->poll = poll;
82         ),
83
84         TP_printk("pt=%02X msg_id=%02X seq=%04X transfer_id=%X tmo_ms=%u poll=%u",
85                 __entry->protocol_id, __entry->msg_id, __entry->seq,
86                 __entry->transfer_id, __entry->timeout, __entry->poll)
87 );
88
89 TRACE_EVENT(scmi_xfer_end,
90         TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
91                  int status),
92         TP_ARGS(transfer_id, msg_id, protocol_id, seq, status),
93
94         TP_STRUCT__entry(
95                 __field(int, transfer_id)
96                 __field(u8, msg_id)
97                 __field(u8, protocol_id)
98                 __field(u16, seq)
99                 __field(int, status)
100         ),
101
102         TP_fast_assign(
103                 __entry->transfer_id = transfer_id;
104                 __entry->msg_id = msg_id;
105                 __entry->protocol_id = protocol_id;
106                 __entry->seq = seq;
107                 __entry->status = status;
108         ),
109
110         TP_printk("pt=%02X msg_id=%02X seq=%04X transfer_id=%X s=%d",
111                 __entry->protocol_id, __entry->msg_id, __entry->seq,
112                 __entry->transfer_id, __entry->status)
113 );
114
115 TRACE_EVENT(scmi_rx_done,
116         TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
117                  u8 msg_type),
118         TP_ARGS(transfer_id, msg_id, protocol_id, seq, msg_type),
119
120         TP_STRUCT__entry(
121                 __field(int, transfer_id)
122                 __field(u8, msg_id)
123                 __field(u8, protocol_id)
124                 __field(u16, seq)
125                 __field(u8, msg_type)
126         ),
127
128         TP_fast_assign(
129                 __entry->transfer_id = transfer_id;
130                 __entry->msg_id = msg_id;
131                 __entry->protocol_id = protocol_id;
132                 __entry->seq = seq;
133                 __entry->msg_type = msg_type;
134         ),
135
136         TP_printk("pt=%02X msg_id=%02X seq=%04X transfer_id=%X msg_type=%u",
137                 __entry->protocol_id, __entry->msg_id, __entry->seq,
138                 __entry->transfer_id, __entry->msg_type)
139 );
140
141 TRACE_EVENT(scmi_msg_dump,
142         TP_PROTO(int id, u8 channel_id, u8 protocol_id, u8 msg_id,
143                  unsigned char *tag, u16 seq, int status,
144                  void *buf, size_t len),
145         TP_ARGS(id, channel_id, protocol_id, msg_id, tag, seq, status,
146                 buf, len),
147
148         TP_STRUCT__entry(
149                 __field(int, id)
150                 __field(u8, channel_id)
151                 __field(u8, protocol_id)
152                 __field(u8, msg_id)
153                 __array(char, tag, 5)
154                 __field(u16, seq)
155                 __field(int, status)
156                 __field(size_t, len)
157                 __dynamic_array(unsigned char, cmd, len)
158         ),
159
160         TP_fast_assign(
161                 __entry->id = id;
162                 __entry->channel_id = channel_id;
163                 __entry->protocol_id = protocol_id;
164                 __entry->msg_id = msg_id;
165                 strscpy(__entry->tag, tag, 5);
166                 __entry->seq = seq;
167                 __entry->status = status;
168                 __entry->len = len;
169                 memcpy(__get_dynamic_array(cmd), buf, __entry->len);
170         ),
171
172         TP_printk("id=%d ch=%02X pt=%02X t=%s msg_id=%02X seq=%04X s=%d pyld=%s",
173                   __entry->id, __entry->channel_id, __entry->protocol_id,
174                   __entry->tag, __entry->msg_id, __entry->seq, __entry->status,
175                 __print_hex_str(__get_dynamic_array(cmd), __entry->len))
176 );
177 #endif /* _TRACE_SCMI_H */
178
179 /* This part must be outside protection */
180 #include <trace/define_trace.h>