tegra_apb_dma.h 1.6 KB

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