1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun #undef TRACE_SYSTEM 4*4882a593Smuzhiyun #define TRACE_SYSTEM fsi_master_aspeed 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #if !defined(_TRACE_FSI_MASTER_ASPEED_H) || defined(TRACE_HEADER_MULTI_READ) 7*4882a593Smuzhiyun #define _TRACE_FSI_MASTER_ASPEED_H 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #include <linux/tracepoint.h> 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun TRACE_EVENT(fsi_master_aspeed_opb_read, 12*4882a593Smuzhiyun TP_PROTO(uint32_t addr, size_t size, uint32_t result, uint32_t status, uint32_t irq_status), 13*4882a593Smuzhiyun TP_ARGS(addr, size, result, status, irq_status), 14*4882a593Smuzhiyun TP_STRUCT__entry( 15*4882a593Smuzhiyun __field(uint32_t, addr) 16*4882a593Smuzhiyun __field(size_t, size) 17*4882a593Smuzhiyun __field(uint32_t, result) 18*4882a593Smuzhiyun __field(uint32_t, status) 19*4882a593Smuzhiyun __field(uint32_t, irq_status) 20*4882a593Smuzhiyun ), 21*4882a593Smuzhiyun TP_fast_assign( 22*4882a593Smuzhiyun __entry->addr = addr; 23*4882a593Smuzhiyun __entry->size = size; 24*4882a593Smuzhiyun __entry->result = result; 25*4882a593Smuzhiyun __entry->status = status; 26*4882a593Smuzhiyun __entry->irq_status = irq_status; 27*4882a593Smuzhiyun ), 28*4882a593Smuzhiyun TP_printk("addr %08x size %zu: result %08x sts: %08x irq_sts: %08x", 29*4882a593Smuzhiyun __entry->addr, __entry->size, __entry->result, 30*4882a593Smuzhiyun __entry->status, __entry->irq_status 31*4882a593Smuzhiyun ) 32*4882a593Smuzhiyun ); 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun TRACE_EVENT(fsi_master_aspeed_opb_write, 35*4882a593Smuzhiyun TP_PROTO(uint32_t addr, uint32_t val, size_t size, uint32_t status, uint32_t irq_status), 36*4882a593Smuzhiyun TP_ARGS(addr, val, size, status, irq_status), 37*4882a593Smuzhiyun TP_STRUCT__entry( 38*4882a593Smuzhiyun __field(uint32_t, addr) 39*4882a593Smuzhiyun __field(uint32_t, val) 40*4882a593Smuzhiyun __field(size_t, size) 41*4882a593Smuzhiyun __field(uint32_t, status) 42*4882a593Smuzhiyun __field(uint32_t, irq_status) 43*4882a593Smuzhiyun ), 44*4882a593Smuzhiyun TP_fast_assign( 45*4882a593Smuzhiyun __entry->addr = addr; 46*4882a593Smuzhiyun __entry->val = val; 47*4882a593Smuzhiyun __entry->size = size; 48*4882a593Smuzhiyun __entry->status = status; 49*4882a593Smuzhiyun __entry->irq_status = irq_status; 50*4882a593Smuzhiyun ), 51*4882a593Smuzhiyun TP_printk("addr %08x val %08x size %zu status: %08x irq_sts: %08x", 52*4882a593Smuzhiyun __entry->addr, __entry->val, __entry->size, 53*4882a593Smuzhiyun __entry->status, __entry->irq_status 54*4882a593Smuzhiyun ) 55*4882a593Smuzhiyun ); 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun TRACE_EVENT(fsi_master_aspeed_opb_error, 58*4882a593Smuzhiyun TP_PROTO(uint32_t mresp0, uint32_t mstap0, uint32_t mesrb0), 59*4882a593Smuzhiyun TP_ARGS(mresp0, mstap0, mesrb0), 60*4882a593Smuzhiyun TP_STRUCT__entry( 61*4882a593Smuzhiyun __field(uint32_t, mresp0) 62*4882a593Smuzhiyun __field(uint32_t, mstap0) 63*4882a593Smuzhiyun __field(uint32_t, mesrb0) 64*4882a593Smuzhiyun ), 65*4882a593Smuzhiyun TP_fast_assign( 66*4882a593Smuzhiyun __entry->mresp0 = mresp0; 67*4882a593Smuzhiyun __entry->mstap0 = mstap0; 68*4882a593Smuzhiyun __entry->mesrb0 = mesrb0; 69*4882a593Smuzhiyun ), 70*4882a593Smuzhiyun TP_printk("mresp0 %08x mstap0 %08x mesrb0 %08x", 71*4882a593Smuzhiyun __entry->mresp0, __entry->mstap0, __entry->mesrb0 72*4882a593Smuzhiyun ) 73*4882a593Smuzhiyun ); 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun #endif 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun #include <trace/define_trace.h> 78