1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM scmi 4 5 #if !defined(_TRACE_SCMI_H) || defined(TRACE_H 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, u3 14 TP_ARGS(protocol_id, msg_id, res_id, v 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 = protoco 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: 33 __entry->protocol_id, __entry- 34 __entry->res_id, __entry->val1 35 ); 36 37 TRACE_EVENT(scmi_xfer_begin, 38 TP_PROTO(int transfer_id, u8 msg_id, u 39 bool poll), 40 TP_ARGS(transfer_id, msg_id, protocol_ 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 = transfe 52 __entry->msg_id = msg_id; 53 __entry->protocol_id = protoco 54 __entry->seq = seq; 55 __entry->poll = poll; 56 ), 57 58 TP_printk("pt=%02X msg_id=%02X seq=%04 59 __entry->protocol_id, __entry- 60 __entry->transfer_id, __entry- 61 ); 62 63 TRACE_EVENT(scmi_xfer_response_wait, 64 TP_PROTO(int transfer_id, u8 msg_id, u 65 u32 timeout, bool poll), 66 TP_ARGS(transfer_id, msg_id, protocol_ 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 = transfe 79 __entry->msg_id = msg_id; 80 __entry->protocol_id = protoco 81 __entry->seq = seq; 82 __entry->timeout = timeout; 83 __entry->poll = poll; 84 ), 85 86 TP_printk("pt=%02X msg_id=%02X seq=%04 87 __entry->protocol_id, __entry- 88 __entry->transfer_id, __entry- 89 ); 90 91 TRACE_EVENT(scmi_xfer_end, 92 TP_PROTO(int transfer_id, u8 msg_id, u 93 int status), 94 TP_ARGS(transfer_id, msg_id, protocol_ 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 = transfe 106 __entry->msg_id = msg_id; 107 __entry->protocol_id = protoco 108 __entry->seq = seq; 109 __entry->status = status; 110 ), 111 112 TP_printk("pt=%02X msg_id=%02X seq=%04 113 __entry->protocol_id, __entry- 114 __entry->transfer_id, __entry- 115 ); 116 117 TRACE_EVENT(scmi_rx_done, 118 TP_PROTO(int transfer_id, u8 msg_id, u 119 u8 msg_type), 120 TP_ARGS(transfer_id, msg_id, protocol_ 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 = transfe 132 __entry->msg_id = msg_id; 133 __entry->protocol_id = protoco 134 __entry->seq = seq; 135 __entry->msg_type = msg_type; 136 ), 137 138 TP_printk("pt=%02X msg_id=%02X seq=%04 139 __entry->protocol_id, __entry- 140 __entry->transfer_id, __entry- 141 ); 142 143 TRACE_EVENT(scmi_msg_dump, 144 TP_PROTO(int id, u8 channel_id, u8 pro 145 unsigned char *tag, u16 seq, 146 void *buf, size_t len), 147 TP_ARGS(id, channel_id, protocol_id, m 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_ 156 __field(u16, seq) 157 __field(int, status) 158 __field(size_t, len) 159 __dynamic_array(unsigned char, 160 ), 161 162 TP_fast_assign( 163 __entry->id = id; 164 __entry->channel_id = channel_ 165 __entry->protocol_id = protoco 166 __entry->msg_id = msg_id; 167 strscpy(__entry->tag, tag, TRA 168 __entry->seq = seq; 169 __entry->status = status; 170 __entry->len = len; 171 memcpy(__get_dynamic_array(cmd 172 ), 173 174 TP_printk("id=%d ch=%02X pt=%02X t=%s 175 __entry->id, __entry->channe 176 __entry->tag, __entry->msg_i 177 __print_hex_str(__get_dynamic_ 178 ); 179 #endif /* _TRACE_SCMI_H */ 180 181 /* This part must be outside protection */ 182 #include <trace/define_trace.h> 183
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.