1 /* SPDX-License-Identifier: GPL-2.0 */ 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #undef TRACE_SYSTEM 2 #undef TRACE_SYSTEM 3 #define TRACE_SYSTEM scmi 3 #define TRACE_SYSTEM scmi 4 4 5 #if !defined(_TRACE_SCMI_H) || defined(TRACE_H 5 #if !defined(_TRACE_SCMI_H) || defined(TRACE_HEADER_MULTI_READ) 6 #define _TRACE_SCMI_H 6 #define _TRACE_SCMI_H 7 7 8 #include <linux/tracepoint.h> 8 #include <linux/tracepoint.h> 9 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, 10 TRACE_EVENT(scmi_xfer_begin, 38 TP_PROTO(int transfer_id, u8 msg_id, u 11 TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq, 39 bool poll), 12 bool poll), 40 TP_ARGS(transfer_id, msg_id, protocol_ 13 TP_ARGS(transfer_id, msg_id, protocol_id, seq, poll), 41 14 42 TP_STRUCT__entry( 15 TP_STRUCT__entry( 43 __field(int, transfer_id) 16 __field(int, transfer_id) 44 __field(u8, msg_id) 17 __field(u8, msg_id) 45 __field(u8, protocol_id) 18 __field(u8, protocol_id) 46 __field(u16, seq) 19 __field(u16, seq) 47 __field(bool, poll) 20 __field(bool, poll) 48 ), 21 ), 49 22 50 TP_fast_assign( 23 TP_fast_assign( 51 __entry->transfer_id = transfe 24 __entry->transfer_id = transfer_id; 52 __entry->msg_id = msg_id; 25 __entry->msg_id = msg_id; 53 __entry->protocol_id = protoco 26 __entry->protocol_id = protocol_id; 54 __entry->seq = seq; 27 __entry->seq = seq; 55 __entry->poll = poll; 28 __entry->poll = poll; 56 ), 29 ), 57 30 58 TP_printk("pt=%02X msg_id=%02X seq=%04 !! 31 TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u poll=%u", 59 __entry->protocol_id, __entry- !! 32 __entry->transfer_id, __entry->msg_id, __entry->protocol_id, 60 __entry->transfer_id, __entry- !! 33 __entry->seq, __entry->poll) 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 ); 34 ); 90 35 91 TRACE_EVENT(scmi_xfer_end, 36 TRACE_EVENT(scmi_xfer_end, 92 TP_PROTO(int transfer_id, u8 msg_id, u 37 TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq, 93 int status), !! 38 u32 status), 94 TP_ARGS(transfer_id, msg_id, protocol_ 39 TP_ARGS(transfer_id, msg_id, protocol_id, seq, status), 95 40 96 TP_STRUCT__entry( 41 TP_STRUCT__entry( 97 __field(int, transfer_id) 42 __field(int, transfer_id) 98 __field(u8, msg_id) 43 __field(u8, msg_id) 99 __field(u8, protocol_id) 44 __field(u8, protocol_id) 100 __field(u16, seq) 45 __field(u16, seq) 101 __field(int, status) !! 46 __field(u32, status) 102 ), 47 ), 103 48 104 TP_fast_assign( 49 TP_fast_assign( 105 __entry->transfer_id = transfe 50 __entry->transfer_id = transfer_id; 106 __entry->msg_id = msg_id; 51 __entry->msg_id = msg_id; 107 __entry->protocol_id = protoco 52 __entry->protocol_id = protocol_id; 108 __entry->seq = seq; 53 __entry->seq = seq; 109 __entry->status = status; 54 __entry->status = status; 110 ), 55 ), 111 56 112 TP_printk("pt=%02X msg_id=%02X seq=%04 !! 57 TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u status=%u", 113 __entry->protocol_id, __entry- !! 58 __entry->transfer_id, __entry->msg_id, __entry->protocol_id, 114 __entry->transfer_id, __entry- !! 59 __entry->seq, __entry->status) 115 ); 60 ); 116 61 117 TRACE_EVENT(scmi_rx_done, 62 TRACE_EVENT(scmi_rx_done, 118 TP_PROTO(int transfer_id, u8 msg_id, u 63 TP_PROTO(int transfer_id, u8 msg_id, u8 protocol_id, u16 seq, 119 u8 msg_type), 64 u8 msg_type), 120 TP_ARGS(transfer_id, msg_id, protocol_ 65 TP_ARGS(transfer_id, msg_id, protocol_id, seq, msg_type), 121 66 122 TP_STRUCT__entry( 67 TP_STRUCT__entry( 123 __field(int, transfer_id) 68 __field(int, transfer_id) 124 __field(u8, msg_id) 69 __field(u8, msg_id) 125 __field(u8, protocol_id) 70 __field(u8, protocol_id) 126 __field(u16, seq) 71 __field(u16, seq) 127 __field(u8, msg_type) 72 __field(u8, msg_type) 128 ), 73 ), 129 74 130 TP_fast_assign( 75 TP_fast_assign( 131 __entry->transfer_id = transfe 76 __entry->transfer_id = transfer_id; 132 __entry->msg_id = msg_id; 77 __entry->msg_id = msg_id; 133 __entry->protocol_id = protoco 78 __entry->protocol_id = protocol_id; 134 __entry->seq = seq; 79 __entry->seq = seq; 135 __entry->msg_type = msg_type; 80 __entry->msg_type = msg_type; 136 ), 81 ), 137 82 138 TP_printk("pt=%02X msg_id=%02X seq=%04 !! 83 TP_printk("transfer_id=%d msg_id=%u protocol_id=%u seq=%u msg_type=%u", 139 __entry->protocol_id, __entry- !! 84 __entry->transfer_id, __entry->msg_id, __entry->protocol_id, 140 __entry->transfer_id, __entry- !! 85 __entry->seq, __entry->msg_type) 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 ); 86 ); 179 #endif /* _TRACE_SCMI_H */ 87 #endif /* _TRACE_SCMI_H */ 180 88 181 /* This part must be outside protection */ 89 /* This part must be outside protection */ 182 #include <trace/define_trace.h> 90 #include <trace/define_trace.h> 183 91
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.