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