1*4882a593Smuzhiyun 2*4882a593Smuzhiyun #undef TRACE_SYSTEM 3*4882a593Smuzhiyun #define TRACE_SYSTEM fsi_master_ast_cf 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun #if !defined(_TRACE_FSI_MASTER_ACF_H) || defined(TRACE_HEADER_MULTI_READ) 6*4882a593Smuzhiyun #define _TRACE_FSI_MASTER_ACF_H 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #include <linux/tracepoint.h> 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_copro_command, 11*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, uint32_t op), 12*4882a593Smuzhiyun TP_ARGS(master, op), 13*4882a593Smuzhiyun TP_STRUCT__entry( 14*4882a593Smuzhiyun __field(int, master_idx) 15*4882a593Smuzhiyun __field(uint32_t, op) 16*4882a593Smuzhiyun ), 17*4882a593Smuzhiyun TP_fast_assign( 18*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 19*4882a593Smuzhiyun __entry->op = op; 20*4882a593Smuzhiyun ), 21*4882a593Smuzhiyun TP_printk("fsi-acf%d command %08x", 22*4882a593Smuzhiyun __entry->master_idx, __entry->op 23*4882a593Smuzhiyun ) 24*4882a593Smuzhiyun ); 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_send_request, 27*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, const struct fsi_msg *cmd, u8 rbits), 28*4882a593Smuzhiyun TP_ARGS(master, cmd, rbits), 29*4882a593Smuzhiyun TP_STRUCT__entry( 30*4882a593Smuzhiyun __field(int, master_idx) 31*4882a593Smuzhiyun __field(uint64_t, msg) 32*4882a593Smuzhiyun __field(u8, bits) 33*4882a593Smuzhiyun __field(u8, rbits) 34*4882a593Smuzhiyun ), 35*4882a593Smuzhiyun TP_fast_assign( 36*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 37*4882a593Smuzhiyun __entry->msg = cmd->msg; 38*4882a593Smuzhiyun __entry->bits = cmd->bits; 39*4882a593Smuzhiyun __entry->rbits = rbits; 40*4882a593Smuzhiyun ), 41*4882a593Smuzhiyun TP_printk("fsi-acf%d cmd: %016llx/%d/%d", 42*4882a593Smuzhiyun __entry->master_idx, (unsigned long long)__entry->msg, 43*4882a593Smuzhiyun __entry->bits, __entry->rbits 44*4882a593Smuzhiyun ) 45*4882a593Smuzhiyun ); 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_copro_response, 48*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, u8 rtag, u8 rcrc, __be32 rdata, bool crc_ok), 49*4882a593Smuzhiyun TP_ARGS(master, rtag, rcrc, rdata, crc_ok), 50*4882a593Smuzhiyun TP_STRUCT__entry( 51*4882a593Smuzhiyun __field(int, master_idx) 52*4882a593Smuzhiyun __field(u8, rtag) 53*4882a593Smuzhiyun __field(u8, rcrc) 54*4882a593Smuzhiyun __field(u32, rdata) 55*4882a593Smuzhiyun __field(bool, crc_ok) 56*4882a593Smuzhiyun ), 57*4882a593Smuzhiyun TP_fast_assign( 58*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 59*4882a593Smuzhiyun __entry->rtag = rtag; 60*4882a593Smuzhiyun __entry->rcrc = rcrc; 61*4882a593Smuzhiyun __entry->rdata = be32_to_cpu(rdata); 62*4882a593Smuzhiyun __entry->crc_ok = crc_ok; 63*4882a593Smuzhiyun ), 64*4882a593Smuzhiyun TP_printk("fsi-acf%d rsp: tag=%04x crc=%04x data=%08x %c\n", 65*4882a593Smuzhiyun __entry->master_idx, __entry->rtag, __entry->rcrc, 66*4882a593Smuzhiyun __entry->rdata, __entry->crc_ok ? ' ' : '!' 67*4882a593Smuzhiyun ) 68*4882a593Smuzhiyun ); 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_crc_rsp_error, 71*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, int retries), 72*4882a593Smuzhiyun TP_ARGS(master, retries), 73*4882a593Smuzhiyun TP_STRUCT__entry( 74*4882a593Smuzhiyun __field(int, master_idx) 75*4882a593Smuzhiyun __field(int, retries) 76*4882a593Smuzhiyun ), 77*4882a593Smuzhiyun TP_fast_assign( 78*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 79*4882a593Smuzhiyun __entry->retries = retries; 80*4882a593Smuzhiyun ), 81*4882a593Smuzhiyun TP_printk("fsi-acf%d CRC error in response retry %d", 82*4882a593Smuzhiyun __entry->master_idx, __entry->retries 83*4882a593Smuzhiyun ) 84*4882a593Smuzhiyun ); 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_poll_response_busy, 87*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, int busy_count), 88*4882a593Smuzhiyun TP_ARGS(master, busy_count), 89*4882a593Smuzhiyun TP_STRUCT__entry( 90*4882a593Smuzhiyun __field(int, master_idx) 91*4882a593Smuzhiyun __field(int, busy_count) 92*4882a593Smuzhiyun ), 93*4882a593Smuzhiyun TP_fast_assign( 94*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 95*4882a593Smuzhiyun __entry->busy_count = busy_count; 96*4882a593Smuzhiyun ), 97*4882a593Smuzhiyun TP_printk("fsi-acf%d: device reported busy %d times", 98*4882a593Smuzhiyun __entry->master_idx, __entry->busy_count 99*4882a593Smuzhiyun ) 100*4882a593Smuzhiyun ); 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_cmd_abs_addr, 103*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, u32 addr), 104*4882a593Smuzhiyun TP_ARGS(master, addr), 105*4882a593Smuzhiyun TP_STRUCT__entry( 106*4882a593Smuzhiyun __field(int, master_idx) 107*4882a593Smuzhiyun __field(u32, addr) 108*4882a593Smuzhiyun ), 109*4882a593Smuzhiyun TP_fast_assign( 110*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 111*4882a593Smuzhiyun __entry->addr = addr; 112*4882a593Smuzhiyun ), 113*4882a593Smuzhiyun TP_printk("fsi-acf%d: Sending ABS_ADR %06x", 114*4882a593Smuzhiyun __entry->master_idx, __entry->addr 115*4882a593Smuzhiyun ) 116*4882a593Smuzhiyun ); 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_cmd_rel_addr, 119*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master, u32 rel_addr), 120*4882a593Smuzhiyun TP_ARGS(master, rel_addr), 121*4882a593Smuzhiyun TP_STRUCT__entry( 122*4882a593Smuzhiyun __field(int, master_idx) 123*4882a593Smuzhiyun __field(u32, rel_addr) 124*4882a593Smuzhiyun ), 125*4882a593Smuzhiyun TP_fast_assign( 126*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 127*4882a593Smuzhiyun __entry->rel_addr = rel_addr; 128*4882a593Smuzhiyun ), 129*4882a593Smuzhiyun TP_printk("fsi-acf%d: Sending REL_ADR %03x", 130*4882a593Smuzhiyun __entry->master_idx, __entry->rel_addr 131*4882a593Smuzhiyun ) 132*4882a593Smuzhiyun ); 133*4882a593Smuzhiyun 134*4882a593Smuzhiyun TRACE_EVENT(fsi_master_acf_cmd_same_addr, 135*4882a593Smuzhiyun TP_PROTO(const struct fsi_master_acf *master), 136*4882a593Smuzhiyun TP_ARGS(master), 137*4882a593Smuzhiyun TP_STRUCT__entry( 138*4882a593Smuzhiyun __field(int, master_idx) 139*4882a593Smuzhiyun ), 140*4882a593Smuzhiyun TP_fast_assign( 141*4882a593Smuzhiyun __entry->master_idx = master->master.idx; 142*4882a593Smuzhiyun ), 143*4882a593Smuzhiyun TP_printk("fsi-acf%d: Sending SAME_ADR", 144*4882a593Smuzhiyun __entry->master_idx 145*4882a593Smuzhiyun ) 146*4882a593Smuzhiyun ); 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun #endif /* _TRACE_FSI_MASTER_ACF_H */ 149*4882a593Smuzhiyun 150*4882a593Smuzhiyun #include <trace/define_trace.h> 151