1 /* SPDX-License-Identifier: GPL-2.0 */ 2 3 #undef TRACE_SYSTEM 4 #define TRACE_SYSTEM fsi_master_gpio 5 6 #if !defined(_TRACE_FSI_MASTER_GPIO_H) || defined(TRACE_HEADER_MULTI_READ) 7 #define _TRACE_FSI_MASTER_GPIO_H 8 9 #include <linux/tracepoint.h> 10 11 TRACE_EVENT(fsi_master_gpio_in, 12 TP_PROTO(const struct fsi_master_gpio *master, int bits, uint64_t msg), 13 TP_ARGS(master, bits, msg), 14 TP_STRUCT__entry( 15 __field(int, master_idx) 16 __field(int, bits) 17 __field(uint64_t, msg) 18 ), 19 TP_fast_assign( 20 __entry->master_idx = master->master.idx; 21 __entry->bits = bits; 22 __entry->msg = msg & ((1ull<<bits) - 1); 23 ), 24 TP_printk("fsi-gpio%d => %0*llx[%d]", 25 __entry->master_idx, 26 (__entry->bits + 3) / 4, 27 __entry->msg, 28 __entry->bits 29 ) 30 ); 31 32 TRACE_EVENT(fsi_master_gpio_out, 33 TP_PROTO(const struct fsi_master_gpio *master, int bits, uint64_t msg), 34 TP_ARGS(master, bits, msg), 35 TP_STRUCT__entry( 36 __field(int, master_idx) 37 __field(int, bits) 38 __field(uint64_t, msg) 39 ), 40 TP_fast_assign( 41 __entry->master_idx = master->master.idx; 42 __entry->bits = bits; 43 __entry->msg = msg & ((1ull<<bits) - 1); 44 ), 45 TP_printk("fsi-gpio%d <= %0*llx[%d]", 46 __entry->master_idx, 47 (__entry->bits + 3) / 4, 48 __entry->msg, 49 __entry->bits 50 ) 51 ); 52 53 TRACE_EVENT(fsi_master_gpio_clock_zeros, 54 TP_PROTO(const struct fsi_master_gpio *master, int clocks), 55 TP_ARGS(master, clocks), 56 TP_STRUCT__entry( 57 __field(int, master_idx) 58 __field(int, clocks) 59 ), 60 TP_fast_assign( 61 __entry->master_idx = master->master.idx; 62 __entry->clocks = clocks; 63 ), 64 TP_printk("fsi-gpio%d clock %d zeros", 65 __entry->master_idx, __entry->clocks 66 ) 67 ); 68 69 TRACE_EVENT(fsi_master_gpio_break, 70 TP_PROTO(const struct fsi_master_gpio *master), 71 TP_ARGS(master), 72 TP_STRUCT__entry( 73 __field(int, master_idx) 74 ), 75 TP_fast_assign( 76 __entry->master_idx = master->master.idx; 77 ), 78 TP_printk("fsi-gpio%d ----break---", 79 __entry->master_idx 80 ) 81 ); 82 83 TRACE_EVENT(fsi_master_gpio_crc_cmd_error, 84 TP_PROTO(const struct fsi_master_gpio *master), 85 TP_ARGS(master), 86 TP_STRUCT__entry( 87 __field(int, master_idx) 88 ), 89 TP_fast_assign( 90 __entry->master_idx = master->master.idx; 91 ), 92 TP_printk("fsi-gpio%d ----CRC command retry---", 93 __entry->master_idx 94 ) 95 ); 96 97 TRACE_EVENT(fsi_master_gpio_crc_rsp_error, 98 TP_PROTO(const struct fsi_master_gpio *master), 99 TP_ARGS(master), 100 TP_STRUCT__entry( 101 __field(int, master_idx) 102 ), 103 TP_fast_assign( 104 __entry->master_idx = master->master.idx; 105 ), 106 TP_printk("fsi-gpio%d ----CRC response---", 107 __entry->master_idx 108 ) 109 ); 110 111 TRACE_EVENT(fsi_master_gpio_poll_response_busy, 112 TP_PROTO(const struct fsi_master_gpio *master, int busy), 113 TP_ARGS(master, busy), 114 TP_STRUCT__entry( 115 __field(int, master_idx) 116 __field(int, busy) 117 ), 118 TP_fast_assign( 119 __entry->master_idx = master->master.idx; 120 __entry->busy = busy; 121 ), 122 TP_printk("fsi-gpio%d: device reported busy %d times", 123 __entry->master_idx, __entry->busy) 124 ); 125 126 TRACE_EVENT(fsi_master_gpio_cmd_abs_addr, 127 TP_PROTO(const struct fsi_master_gpio *master, u32 addr), 128 TP_ARGS(master, addr), 129 TP_STRUCT__entry( 130 __field(int, master_idx) 131 __field(u32, addr) 132 ), 133 TP_fast_assign( 134 __entry->master_idx = master->master.idx; 135 __entry->addr = addr; 136 ), 137 TP_printk("fsi-gpio%d: Sending ABS_ADR %06x", 138 __entry->master_idx, __entry->addr) 139 ); 140 141 TRACE_EVENT(fsi_master_gpio_cmd_rel_addr, 142 TP_PROTO(const struct fsi_master_gpio *master, u32 rel_addr), 143 TP_ARGS(master, rel_addr), 144 TP_STRUCT__entry( 145 __field(int, master_idx) 146 __field(u32, rel_addr) 147 ), 148 TP_fast_assign( 149 __entry->master_idx = master->master.idx; 150 __entry->rel_addr = rel_addr; 151 ), 152 TP_printk("fsi-gpio%d: Sending REL_ADR %03x", 153 __entry->master_idx, __entry->rel_addr) 154 ); 155 156 TRACE_EVENT(fsi_master_gpio_cmd_same_addr, 157 TP_PROTO(const struct fsi_master_gpio *master), 158 TP_ARGS(master), 159 TP_STRUCT__entry( 160 __field(int, master_idx) 161 ), 162 TP_fast_assign( 163 __entry->master_idx = master->master.idx; 164 ), 165 TP_printk("fsi-gpio%d: Sending SAME_ADR", 166 __entry->master_idx) 167 ); 168 169 #endif /* _TRACE_FSI_MASTER_GPIO_H */ 170 171 #include <trace/define_trace.h> 172