WIP FPC-III support
[linux/fpc-iii.git] / drivers / gpu / drm / v3d / v3d_trace.h
blob7aa8dc356e54c2226991f4534f37b3f29ff3c721
1 // SPDX-License-Identifier: GPL-2.0+
2 /* Copyright (C) 2015-2018 Broadcom */
4 #if !defined(_V3D_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
5 #define _V3D_TRACE_H_
7 #include <linux/stringify.h>
8 #include <linux/types.h>
9 #include <linux/tracepoint.h>
11 #undef TRACE_SYSTEM
12 #define TRACE_SYSTEM v3d
13 #define TRACE_INCLUDE_FILE v3d_trace
15 TRACE_EVENT(v3d_submit_cl_ioctl,
16 TP_PROTO(struct drm_device *dev, u32 ct1qba, u32 ct1qea),
17 TP_ARGS(dev, ct1qba, ct1qea),
19 TP_STRUCT__entry(
20 __field(u32, dev)
21 __field(u32, ct1qba)
22 __field(u32, ct1qea)
25 TP_fast_assign(
26 __entry->dev = dev->primary->index;
27 __entry->ct1qba = ct1qba;
28 __entry->ct1qea = ct1qea;
31 TP_printk("dev=%u, RCL 0x%08x..0x%08x",
32 __entry->dev,
33 __entry->ct1qba,
34 __entry->ct1qea)
37 TRACE_EVENT(v3d_submit_cl,
38 TP_PROTO(struct drm_device *dev, bool is_render,
39 uint64_t seqno,
40 u32 ctnqba, u32 ctnqea),
41 TP_ARGS(dev, is_render, seqno, ctnqba, ctnqea),
43 TP_STRUCT__entry(
44 __field(u32, dev)
45 __field(bool, is_render)
46 __field(u64, seqno)
47 __field(u32, ctnqba)
48 __field(u32, ctnqea)
51 TP_fast_assign(
52 __entry->dev = dev->primary->index;
53 __entry->is_render = is_render;
54 __entry->seqno = seqno;
55 __entry->ctnqba = ctnqba;
56 __entry->ctnqea = ctnqea;
59 TP_printk("dev=%u, %s, seqno=%llu, 0x%08x..0x%08x",
60 __entry->dev,
61 __entry->is_render ? "RCL" : "BCL",
62 __entry->seqno,
63 __entry->ctnqba,
64 __entry->ctnqea)
67 TRACE_EVENT(v3d_bcl_irq,
68 TP_PROTO(struct drm_device *dev,
69 uint64_t seqno),
70 TP_ARGS(dev, seqno),
72 TP_STRUCT__entry(
73 __field(u32, dev)
74 __field(u64, seqno)
77 TP_fast_assign(
78 __entry->dev = dev->primary->index;
79 __entry->seqno = seqno;
82 TP_printk("dev=%u, seqno=%llu",
83 __entry->dev,
84 __entry->seqno)
87 TRACE_EVENT(v3d_rcl_irq,
88 TP_PROTO(struct drm_device *dev,
89 uint64_t seqno),
90 TP_ARGS(dev, seqno),
92 TP_STRUCT__entry(
93 __field(u32, dev)
94 __field(u64, seqno)
97 TP_fast_assign(
98 __entry->dev = dev->primary->index;
99 __entry->seqno = seqno;
102 TP_printk("dev=%u, seqno=%llu",
103 __entry->dev,
104 __entry->seqno)
107 TRACE_EVENT(v3d_tfu_irq,
108 TP_PROTO(struct drm_device *dev,
109 uint64_t seqno),
110 TP_ARGS(dev, seqno),
112 TP_STRUCT__entry(
113 __field(u32, dev)
114 __field(u64, seqno)
117 TP_fast_assign(
118 __entry->dev = dev->primary->index;
119 __entry->seqno = seqno;
122 TP_printk("dev=%u, seqno=%llu",
123 __entry->dev,
124 __entry->seqno)
127 TRACE_EVENT(v3d_csd_irq,
128 TP_PROTO(struct drm_device *dev,
129 uint64_t seqno),
130 TP_ARGS(dev, seqno),
132 TP_STRUCT__entry(
133 __field(u32, dev)
134 __field(u64, seqno)
137 TP_fast_assign(
138 __entry->dev = dev->primary->index;
139 __entry->seqno = seqno;
142 TP_printk("dev=%u, seqno=%llu",
143 __entry->dev,
144 __entry->seqno)
147 TRACE_EVENT(v3d_submit_tfu_ioctl,
148 TP_PROTO(struct drm_device *dev, u32 iia),
149 TP_ARGS(dev, iia),
151 TP_STRUCT__entry(
152 __field(u32, dev)
153 __field(u32, iia)
156 TP_fast_assign(
157 __entry->dev = dev->primary->index;
158 __entry->iia = iia;
161 TP_printk("dev=%u, IIA 0x%08x",
162 __entry->dev,
163 __entry->iia)
166 TRACE_EVENT(v3d_submit_tfu,
167 TP_PROTO(struct drm_device *dev,
168 uint64_t seqno),
169 TP_ARGS(dev, seqno),
171 TP_STRUCT__entry(
172 __field(u32, dev)
173 __field(u64, seqno)
176 TP_fast_assign(
177 __entry->dev = dev->primary->index;
178 __entry->seqno = seqno;
181 TP_printk("dev=%u, seqno=%llu",
182 __entry->dev,
183 __entry->seqno)
186 TRACE_EVENT(v3d_submit_csd_ioctl,
187 TP_PROTO(struct drm_device *dev, u32 cfg5, u32 cfg6),
188 TP_ARGS(dev, cfg5, cfg6),
190 TP_STRUCT__entry(
191 __field(u32, dev)
192 __field(u32, cfg5)
193 __field(u32, cfg6)
196 TP_fast_assign(
197 __entry->dev = dev->primary->index;
198 __entry->cfg5 = cfg5;
199 __entry->cfg6 = cfg6;
202 TP_printk("dev=%u, CFG5 0x%08x, CFG6 0x%08x",
203 __entry->dev,
204 __entry->cfg5,
205 __entry->cfg6)
208 TRACE_EVENT(v3d_submit_csd,
209 TP_PROTO(struct drm_device *dev,
210 uint64_t seqno),
211 TP_ARGS(dev, seqno),
213 TP_STRUCT__entry(
214 __field(u32, dev)
215 __field(u64, seqno)
218 TP_fast_assign(
219 __entry->dev = dev->primary->index;
220 __entry->seqno = seqno;
223 TP_printk("dev=%u, seqno=%llu",
224 __entry->dev,
225 __entry->seqno)
228 TRACE_EVENT(v3d_cache_clean_begin,
229 TP_PROTO(struct drm_device *dev),
230 TP_ARGS(dev),
232 TP_STRUCT__entry(
233 __field(u32, dev)
236 TP_fast_assign(
237 __entry->dev = dev->primary->index;
240 TP_printk("dev=%u",
241 __entry->dev)
244 TRACE_EVENT(v3d_cache_clean_end,
245 TP_PROTO(struct drm_device *dev),
246 TP_ARGS(dev),
248 TP_STRUCT__entry(
249 __field(u32, dev)
252 TP_fast_assign(
253 __entry->dev = dev->primary->index;
256 TP_printk("dev=%u",
257 __entry->dev)
260 TRACE_EVENT(v3d_reset_begin,
261 TP_PROTO(struct drm_device *dev),
262 TP_ARGS(dev),
264 TP_STRUCT__entry(
265 __field(u32, dev)
268 TP_fast_assign(
269 __entry->dev = dev->primary->index;
272 TP_printk("dev=%u",
273 __entry->dev)
276 TRACE_EVENT(v3d_reset_end,
277 TP_PROTO(struct drm_device *dev),
278 TP_ARGS(dev),
280 TP_STRUCT__entry(
281 __field(u32, dev)
284 TP_fast_assign(
285 __entry->dev = dev->primary->index;
288 TP_printk("dev=%u",
289 __entry->dev)
292 #endif /* _V3D_TRACE_H_ */
294 /* This part must be outside protection */
295 #undef TRACE_INCLUDE_PATH
296 #define TRACE_INCLUDE_PATH .
297 #include <trace/define_trace.h>