62 lines · c
1#if !defined(_TRACE_TEGRA_APB_DMA_H) || defined(TRACE_HEADER_MULTI_READ)2#define _TRACE_TEGRA_APB_DMA_H3 4#include <linux/tracepoint.h>5#include <linux/dmaengine.h>6 7#undef TRACE_SYSTEM8#define TRACE_SYSTEM tegra_apb_dma9 10TRACE_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 27TRACE_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 44TRACE_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