]> Git Repo - linux.git/blob - drivers/dma/fsl-edma-trace.h
x86/kaslr: Expose and use the end of the physical memory address space
[linux.git] / drivers / dma / fsl-edma-trace.h
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
15 DECLARE_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
32 DEFINE_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
37 DEFINE_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
42 DEFINE_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
47 DEFINE_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
52 DEFINE_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
57 DEFINE_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
62 DECLARE_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
117 DEFINE_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>
This page took 0.03987 seconds and 4 git commands to generate.