-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dmaengine: tegra: add tracepoints to driver
Add some trace-points to the driver to allow for debuging via the trace pipe. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Vinod Koul <vkoul@kernel.org>
- Loading branch information
Ben Dooks
authored and
Vinod Koul
committed
Jan 7, 2019
1 parent
65c383c
commit 95f295f
Showing
2 changed files
with
68 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
#if !defined(_TRACE_TEGRA_APB_DMA_H) || defined(TRACE_HEADER_MULTI_READ) | ||
#define _TRACE_TEGRA_APM_DMA_H | ||
|
||
#include <linux/tracepoint.h> | ||
#include <linux/dmaengine.h> | ||
|
||
#undef TRACE_SYSTEM | ||
#define TRACE_SYSTEM tegra_apb_dma | ||
|
||
TRACE_EVENT(tegra_dma_tx_status, | ||
TP_PROTO(struct dma_chan *dc, dma_cookie_t cookie, struct dma_tx_state *state), | ||
TP_ARGS(dc, cookie, state), | ||
TP_STRUCT__entry( | ||
__string(chan, dev_name(&dc->dev->device)) | ||
__field(dma_cookie_t, cookie) | ||
__field(__u32, residue) | ||
), | ||
TP_fast_assign( | ||
__assign_str(chan, dev_name(&dc->dev->device)); | ||
__entry->cookie = cookie; | ||
__entry->residue = state ? state->residue : (u32)-1; | ||
), | ||
TP_printk("channel %s: dma cookie %d, residue %u", | ||
__get_str(chan), __entry->cookie, __entry->residue) | ||
); | ||
|
||
TRACE_EVENT(tegra_dma_complete_cb, | ||
TP_PROTO(struct dma_chan *dc, int count, void *ptr), | ||
TP_ARGS(dc, count, ptr), | ||
TP_STRUCT__entry( | ||
__string(chan, dev_name(&dc->dev->device)) | ||
__field(int, count) | ||
__field(void *, ptr) | ||
), | ||
TP_fast_assign( | ||
__assign_str(chan, dev_name(&dc->dev->device)); | ||
__entry->count = count; | ||
__entry->ptr = ptr; | ||
), | ||
TP_printk("channel %s: done %d, ptr %p", | ||
__get_str(chan), __entry->count, __entry->ptr) | ||
); | ||
|
||
TRACE_EVENT(tegra_dma_isr, | ||
TP_PROTO(struct dma_chan *dc, int irq), | ||
TP_ARGS(dc, irq), | ||
TP_STRUCT__entry( | ||
__string(chan, dev_name(&dc->dev->device)) | ||
__field(int, irq) | ||
), | ||
TP_fast_assign( | ||
__assign_str(chan, dev_name(&dc->dev->device)); | ||
__entry->irq = irq; | ||
), | ||
TP_printk("%s: irq %d\n", __get_str(chan), __entry->irq) | ||
); | ||
|
||
#endif /* _TRACE_TEGRADMA_H */ | ||
|
||
/* This part must be outside protection */ | ||
#include <trace/define_trace.h> |