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_xfer_begin,
11 	TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
12 		 bool poll),
13 	TP_ARGS(transfer_id, msg_id, protocol_id, seq, poll),
14 
15 	TP_STRUCT__entry(
16 		__field(int, transfer_id)
17 		__field(u8, msg_id)
18 		__field(u8, protocol_id)
19 		__field(u16, seq)
20 		__field(bool, poll)
21 	),
22 
23 	TP_fast_assign(
24 		__entry->transfer_id = transfer_id;
25 		__entry->msg_id = msg_id;
26 		__entry->protocol_id = protocol_id;
27 		__entry->seq = seq;
28 		__entry->poll = poll;
29 	),
30 
31 	TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u poll=%u",
32 		__entry->transfer_id, __entry->msg_id, __entry->protocol_id,
33 		__entry->seq, __entry->poll)
34 );
35 
36 TRACE_EVENT(scmi_xfer_response_wait,
37 	TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
38 		 u32 timeout, bool poll),
39 	TP_ARGS(transfer_id, msg_id, protocol_id, seq, timeout, poll),
40 
41 	TP_STRUCT__entry(
42 		__field(int, transfer_id)
43 		__field(u8, msg_id)
44 		__field(u8, protocol_id)
45 		__field(u16, seq)
46 		__field(u32, timeout)
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->timeout = timeout;
56 		__entry->poll = poll;
57 	),
58 
59 	TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u tmo_ms=%u poll=%u",
60 		__entry->transfer_id, __entry->msg_id, __entry->protocol_id,
61 		__entry->seq, __entry->timeout, __entry->poll)
62 );
63 
64 TRACE_EVENT(scmi_xfer_end,
65 	TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
66 		 int status),
67 	TP_ARGS(transfer_id, msg_id, protocol_id, seq, status),
68 
69 	TP_STRUCT__entry(
70 		__field(int, transfer_id)
71 		__field(u8, msg_id)
72 		__field(u8, protocol_id)
73 		__field(u16, seq)
74 		__field(int, status)
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->status = status;
83 	),
84 
85 	TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u status=%d",
86 		__entry->transfer_id, __entry->msg_id, __entry->protocol_id,
87 		__entry->seq, __entry->status)
88 );
89 
90 TRACE_EVENT(scmi_rx_done,
91 	TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq,
92 		 u8 msg_type),
93 	TP_ARGS(transfer_id, msg_id, protocol_id, seq, msg_type),
94 
95 	TP_STRUCT__entry(
96 		__field(int, transfer_id)
97 		__field(u8, msg_id)
98 		__field(u8, protocol_id)
99 		__field(u16, seq)
100 		__field(u8, msg_type)
101 	),
102 
103 	TP_fast_assign(
104 		__entry->transfer_id = transfer_id;
105 		__entry->msg_id = msg_id;
106 		__entry->protocol_id = protocol_id;
107 		__entry->seq = seq;
108 		__entry->msg_type = msg_type;
109 	),
110 
111 	TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u msg_type=%u",
112 		__entry->transfer_id, __entry->msg_id, __entry->protocol_id,
113 		__entry->seq, __entry->msg_type)
114 );
115 #endif /* _TRACE_SCMI_H */
116 
117 /* This part must be outside protection */
118 #include <trace/define_trace.h>
119