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