File Index
Files and directories
Sign in
FILE

fsl-edma-trace.h

File preview with syntax highlighting.

linux-6.19.14/drivers/dma/fsl-edma-trace.h C
  1/* SPDX-License-Identifier: GPL-2.0+ */
  2/*
  3 * Copyright 2023 NXP.
  4 */
  5
  6#undef TRACE_SYSTEM
  7#define TRACE_SYSTEM fsl_edma
  8
  9#if !defined(__LINUX_FSL_EDMA_TRACE) || defined(TRACE_HEADER_MULTI_READ)
 10#define __LINUX_FSL_EDMA_TRACE
 11
 12#include <linux/types.h>
 13#include <linux/tracepoint.h>
 14
 15DECLARE_EVENT_CLASS(edma_log_io,
 16	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),
 17	TP_ARGS(edma, addr, value),
 18	TP_STRUCT__entry(
 19		__field(struct fsl_edma_engine *, edma)
 20		__field(void __iomem *, addr)
 21		__field(u32, value)
 22	),
 23	TP_fast_assign(
 24		__entry->edma = edma;
 25		__entry->addr = addr;
 26		__entry->value = value;
 27	),
 28	TP_printk("offset %08x: value %08x",
 29		(u32)(__entry->addr - __entry->edma->membase), __entry->value)
 30);
 31
 32DEFINE_EVENT(edma_log_io, edma_readl,
 33	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),
 34	TP_ARGS(edma, addr, value)
 35);
 36
 37DEFINE_EVENT(edma_log_io, edma_writel,
 38	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),
 39	TP_ARGS(edma, addr, value)
 40);
 41
 42DEFINE_EVENT(edma_log_io, edma_readw,
 43	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),
 44	TP_ARGS(edma, addr, value)
 45);
 46
 47DEFINE_EVENT(edma_log_io, edma_writew,
 48	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),
 49	TP_ARGS(edma, addr, value)
 50);
 51
 52DEFINE_EVENT(edma_log_io, edma_readb,
 53	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr, u32 value),
 54	TP_ARGS(edma, addr, value)
 55);
 56
 57DEFINE_EVENT(edma_log_io, edma_writeb,
 58	TP_PROTO(struct fsl_edma_engine *edma, void __iomem *addr,  u32 value),
 59	TP_ARGS(edma, addr, value)
 60);
 61
 62DECLARE_EVENT_CLASS(edma_log_tcd,
 63	TP_PROTO(struct fsl_edma_chan *chan, void *tcd),
 64	TP_ARGS(chan, tcd),
 65	TP_STRUCT__entry(
 66		__field(u64, saddr)
 67		__field(u16, soff)
 68		__field(u16, attr)
 69		__field(u32, nbytes)
 70		__field(u64, slast)
 71		__field(u64, daddr)
 72		__field(u16, doff)
 73		__field(u16, citer)
 74		__field(u64, dlast_sga)
 75		__field(u16, csr)
 76		__field(u16, biter)
 77
 78	),
 79	TP_fast_assign(
 80		__entry->saddr = fsl_edma_get_tcd_to_cpu(chan, tcd, saddr),
 81		__entry->soff = fsl_edma_get_tcd_to_cpu(chan, tcd, soff),
 82		__entry->attr = fsl_edma_get_tcd_to_cpu(chan, tcd, attr),
 83		__entry->nbytes = fsl_edma_get_tcd_to_cpu(chan, tcd, nbytes),
 84		__entry->slast = fsl_edma_get_tcd_to_cpu(chan, tcd, slast),
 85		__entry->daddr = fsl_edma_get_tcd_to_cpu(chan, tcd, daddr),
 86		__entry->doff = fsl_edma_get_tcd_to_cpu(chan, tcd, doff),
 87		__entry->citer = fsl_edma_get_tcd_to_cpu(chan, tcd, citer),
 88		__entry->dlast_sga = fsl_edma_get_tcd_to_cpu(chan, tcd, dlast_sga),
 89		__entry->csr = fsl_edma_get_tcd_to_cpu(chan, tcd, csr),
 90		__entry->biter = fsl_edma_get_tcd_to_cpu(chan, tcd, biter);
 91	),
 92	TP_printk("\n==== TCD =====\n"
 93		  "  saddr:  0x%016llx\n"
 94		  "  soff:               0x%04x\n"
 95		  "  attr:               0x%04x\n"
 96		  "  nbytes:         0x%08x\n"
 97		  "  slast:  0x%016llx\n"
 98		  "  daddr:  0x%016llx\n"
 99		  "  doff:               0x%04x\n"
100		  "  citer:              0x%04x\n"
101		  "  dlast:  0x%016llx\n"
102		  "  csr:                0x%04x\n"
103		  "  biter:              0x%04x\n",
104		__entry->saddr,
105		__entry->soff,
106		__entry->attr,
107		__entry->nbytes,
108		__entry->slast,
109		__entry->daddr,
110		__entry->doff,
111		__entry->citer,
112		__entry->dlast_sga,
113		__entry->csr,
114		__entry->biter)
115);
116
117DEFINE_EVENT(edma_log_tcd, edma_fill_tcd,
118	TP_PROTO(struct fsl_edma_chan *chan, void *tcd),
119	TP_ARGS(chan, tcd)
120);
121
122#endif
123
124/* this part must be outside header guard */
125
126#undef TRACE_INCLUDE_PATH
127#define TRACE_INCLUDE_PATH .
128
129#undef TRACE_INCLUDE_FILE
130#define TRACE_INCLUDE_FILE fsl-edma-trace
131
132#include <trace/define_trace.h>
~/ Read-only file preview.