1*4882a593Smuzhiyun #if !defined(_TRACE_TEGRA_APB_DMA_H) || defined(TRACE_HEADER_MULTI_READ) 2*4882a593Smuzhiyun #define _TRACE_TEGRA_APB_DMA_H 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #include <linux/tracepoint.h> 5*4882a593Smuzhiyun #include <linux/dmaengine.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #undef TRACE_SYSTEM 8*4882a593Smuzhiyun #define TRACE_SYSTEM tegra_apb_dma 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun TRACE_EVENT(tegra_dma_tx_status, 11*4882a593Smuzhiyun TP_PROTO(struct dma_chan *dc, dma_cookie_t cookie, struct dma_tx_state *state), 12*4882a593Smuzhiyun TP_ARGS(dc, cookie, state), 13*4882a593Smuzhiyun TP_STRUCT__entry( 14*4882a593Smuzhiyun __string(chan, dev_name(&dc->dev->device)) 15*4882a593Smuzhiyun __field(dma_cookie_t, cookie) 16*4882a593Smuzhiyun __field(__u32, residue) 17*4882a593Smuzhiyun ), 18*4882a593Smuzhiyun TP_fast_assign( 19*4882a593Smuzhiyun __assign_str(chan, dev_name(&dc->dev->device)); 20*4882a593Smuzhiyun __entry->cookie = cookie; 21*4882a593Smuzhiyun __entry->residue = state ? state->residue : (u32)-1; 22*4882a593Smuzhiyun ), 23*4882a593Smuzhiyun TP_printk("channel %s: dma cookie %d, residue %u", 24*4882a593Smuzhiyun __get_str(chan), __entry->cookie, __entry->residue) 25*4882a593Smuzhiyun ); 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun TRACE_EVENT(tegra_dma_complete_cb, 28*4882a593Smuzhiyun TP_PROTO(struct dma_chan *dc, int count, void *ptr), 29*4882a593Smuzhiyun TP_ARGS(dc, count, ptr), 30*4882a593Smuzhiyun TP_STRUCT__entry( 31*4882a593Smuzhiyun __string(chan, dev_name(&dc->dev->device)) 32*4882a593Smuzhiyun __field(int, count) 33*4882a593Smuzhiyun __field(void *, ptr) 34*4882a593Smuzhiyun ), 35*4882a593Smuzhiyun TP_fast_assign( 36*4882a593Smuzhiyun __assign_str(chan, dev_name(&dc->dev->device)); 37*4882a593Smuzhiyun __entry->count = count; 38*4882a593Smuzhiyun __entry->ptr = ptr; 39*4882a593Smuzhiyun ), 40*4882a593Smuzhiyun TP_printk("channel %s: done %d, ptr %p", 41*4882a593Smuzhiyun __get_str(chan), __entry->count, __entry->ptr) 42*4882a593Smuzhiyun ); 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun TRACE_EVENT(tegra_dma_isr, 45*4882a593Smuzhiyun TP_PROTO(struct dma_chan *dc, int irq), 46*4882a593Smuzhiyun TP_ARGS(dc, irq), 47*4882a593Smuzhiyun TP_STRUCT__entry( 48*4882a593Smuzhiyun __string(chan, dev_name(&dc->dev->device)) 49*4882a593Smuzhiyun __field(int, irq) 50*4882a593Smuzhiyun ), 51*4882a593Smuzhiyun TP_fast_assign( 52*4882a593Smuzhiyun __assign_str(chan, dev_name(&dc->dev->device)); 53*4882a593Smuzhiyun __entry->irq = irq; 54*4882a593Smuzhiyun ), 55*4882a593Smuzhiyun TP_printk("%s: irq %d\n", __get_str(chan), __entry->irq) 56*4882a593Smuzhiyun ); 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun #endif /* _TRACE_TEGRA_APB_DMA_H */ 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun /* This part must be outside protection */ 61*4882a593Smuzhiyun #include <trace/define_trace.h> 62