Linux Audio

Check our new training course

Loading...
  1// SPDX-License-Identifier: GPL-2.0+
  2/* Copyright (C) 2015-2018 Broadcom */
  3
  4#if !defined(_V3D_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ)
  5#define _V3D_TRACE_H_
  6
  7#include <linux/stringify.h>
  8#include <linux/types.h>
  9#include <linux/tracepoint.h>
 10
 11#undef TRACE_SYSTEM
 12#define TRACE_SYSTEM v3d
 13#define TRACE_INCLUDE_FILE v3d_trace
 14
 15TRACE_EVENT(v3d_submit_cl_ioctl,
 16	    TP_PROTO(struct drm_device *dev, u32 ct1qba, u32 ct1qea),
 17	    TP_ARGS(dev, ct1qba, ct1qea),
 18
 19	    TP_STRUCT__entry(
 20			     __field(u32, dev)
 21			     __field(u32, ct1qba)
 22			     __field(u32, ct1qea)
 23			     ),
 24
 25	    TP_fast_assign(
 26			   __entry->dev = dev->primary->index;
 27			   __entry->ct1qba = ct1qba;
 28			   __entry->ct1qea = ct1qea;
 29			   ),
 30
 31	    TP_printk("dev=%u, RCL 0x%08x..0x%08x",
 32		      __entry->dev,
 33		      __entry->ct1qba,
 34		      __entry->ct1qea)
 35);
 36
 37TRACE_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),
 42
 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)
 49			     ),
 50
 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;
 57			   ),
 58
 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)
 65);
 66
 67TRACE_EVENT(v3d_bcl_irq,
 68	    TP_PROTO(struct drm_device *dev,
 69		     uint64_t seqno),
 70	    TP_ARGS(dev, seqno),
 71
 72	    TP_STRUCT__entry(
 73			     __field(u32, dev)
 74			     __field(u64, seqno)
 75			     ),
 76
 77	    TP_fast_assign(
 78			   __entry->dev = dev->primary->index;
 79			   __entry->seqno = seqno;
 80			   ),
 81
 82	    TP_printk("dev=%u, seqno=%llu",
 83		      __entry->dev,
 84		      __entry->seqno)
 85);
 86
 87TRACE_EVENT(v3d_rcl_irq,
 88	    TP_PROTO(struct drm_device *dev,
 89		     uint64_t seqno),
 90	    TP_ARGS(dev, seqno),
 91
 92	    TP_STRUCT__entry(
 93			     __field(u32, dev)
 94			     __field(u64, seqno)
 95			     ),
 96
 97	    TP_fast_assign(
 98			   __entry->dev = dev->primary->index;
 99			   __entry->seqno = seqno;
100			   ),
101
102	    TP_printk("dev=%u, seqno=%llu",
103		      __entry->dev,
104		      __entry->seqno)
105);
106
107TRACE_EVENT(v3d_tfu_irq,
108	    TP_PROTO(struct drm_device *dev,
109		     uint64_t seqno),
110	    TP_ARGS(dev, seqno),
111
112	    TP_STRUCT__entry(
113			     __field(u32, dev)
114			     __field(u64, seqno)
115			     ),
116
117	    TP_fast_assign(
118			   __entry->dev = dev->primary->index;
119			   __entry->seqno = seqno;
120			   ),
121
122	    TP_printk("dev=%u, seqno=%llu",
123		      __entry->dev,
124		      __entry->seqno)
125);
126
127TRACE_EVENT(v3d_csd_irq,
128	    TP_PROTO(struct drm_device *dev,
129		     uint64_t seqno),
130	    TP_ARGS(dev, seqno),
131
132	    TP_STRUCT__entry(
133			     __field(u32, dev)
134			     __field(u64, seqno)
135			     ),
136
137	    TP_fast_assign(
138			   __entry->dev = dev->primary->index;
139			   __entry->seqno = seqno;
140			   ),
141
142	    TP_printk("dev=%u, seqno=%llu",
143		      __entry->dev,
144		      __entry->seqno)
145);
146
147TRACE_EVENT(v3d_submit_tfu_ioctl,
148	    TP_PROTO(struct drm_device *dev, u32 iia),
149	    TP_ARGS(dev, iia),
150
151	    TP_STRUCT__entry(
152			     __field(u32, dev)
153			     __field(u32, iia)
154			     ),
155
156	    TP_fast_assign(
157			   __entry->dev = dev->primary->index;
158			   __entry->iia = iia;
159			   ),
160
161	    TP_printk("dev=%u, IIA 0x%08x",
162		      __entry->dev,
163		      __entry->iia)
164);
165
166TRACE_EVENT(v3d_submit_tfu,
167	    TP_PROTO(struct drm_device *dev,
168		     uint64_t seqno),
169	    TP_ARGS(dev, seqno),
170
171	    TP_STRUCT__entry(
172			     __field(u32, dev)
173			     __field(u64, seqno)
174			     ),
175
176	    TP_fast_assign(
177			   __entry->dev = dev->primary->index;
178			   __entry->seqno = seqno;
179			   ),
180
181	    TP_printk("dev=%u, seqno=%llu",
182		      __entry->dev,
183		      __entry->seqno)
184);
185
186TRACE_EVENT(v3d_submit_csd_ioctl,
187	    TP_PROTO(struct drm_device *dev, u32 cfg5, u32 cfg6),
188	    TP_ARGS(dev, cfg5, cfg6),
189
190	    TP_STRUCT__entry(
191			     __field(u32, dev)
192			     __field(u32, cfg5)
193			     __field(u32, cfg6)
194			     ),
195
196	    TP_fast_assign(
197			   __entry->dev = dev->primary->index;
198			   __entry->cfg5 = cfg5;
199			   __entry->cfg6 = cfg6;
200			   ),
201
202	    TP_printk("dev=%u, CFG5 0x%08x, CFG6 0x%08x",
203		      __entry->dev,
204		      __entry->cfg5,
205		      __entry->cfg6)
206);
207
208TRACE_EVENT(v3d_submit_csd,
209	    TP_PROTO(struct drm_device *dev,
210		     uint64_t seqno),
211	    TP_ARGS(dev, seqno),
212
213	    TP_STRUCT__entry(
214			     __field(u32, dev)
215			     __field(u64, seqno)
216			     ),
217
218	    TP_fast_assign(
219			   __entry->dev = dev->primary->index;
220			   __entry->seqno = seqno;
221			   ),
222
223	    TP_printk("dev=%u, seqno=%llu",
224		      __entry->dev,
225		      __entry->seqno)
226);
227
228TRACE_EVENT(v3d_submit_cpu_ioctl,
229	    TP_PROTO(struct drm_device *dev, enum v3d_cpu_job_type job_type),
230	    TP_ARGS(dev, job_type),
231
232	    TP_STRUCT__entry(
233			     __field(u32, dev)
234			     __field(enum v3d_cpu_job_type, job_type)
235			     ),
236
237	    TP_fast_assign(
238			   __entry->dev = dev->primary->index;
239			   __entry->job_type = job_type;
240			   ),
241
242	    TP_printk("dev=%u, job_type=%d",
243		      __entry->dev,
244		      __entry->job_type)
245);
246
247TRACE_EVENT(v3d_cpu_job_begin,
248	    TP_PROTO(struct drm_device *dev, enum v3d_cpu_job_type job_type),
249	    TP_ARGS(dev, job_type),
250
251	    TP_STRUCT__entry(
252			     __field(u32, dev)
253			     __field(enum v3d_cpu_job_type, job_type)
254			     ),
255
256	    TP_fast_assign(
257			   __entry->dev = dev->primary->index;
258			   __entry->job_type = job_type;
259			   ),
260
261	    TP_printk("dev=%u, job_type=%d",
262		      __entry->dev,
263		      __entry->job_type)
264);
265
266TRACE_EVENT(v3d_cpu_job_end,
267	    TP_PROTO(struct drm_device *dev, enum v3d_cpu_job_type job_type),
268	    TP_ARGS(dev, job_type),
269
270	    TP_STRUCT__entry(
271			     __field(u32, dev)
272			     __field(enum v3d_cpu_job_type, job_type)
273			     ),
274
275	    TP_fast_assign(
276			   __entry->dev = dev->primary->index;
277			   __entry->job_type = job_type;
278			   ),
279
280	    TP_printk("dev=%u, job_type=%d",
281		      __entry->dev,
282		      __entry->job_type)
283);
284
285TRACE_EVENT(v3d_cache_clean_begin,
286	    TP_PROTO(struct drm_device *dev),
287	    TP_ARGS(dev),
288
289	    TP_STRUCT__entry(
290			     __field(u32, dev)
291			     ),
292
293	    TP_fast_assign(
294			   __entry->dev = dev->primary->index;
295			   ),
296
297	    TP_printk("dev=%u",
298		      __entry->dev)
299);
300
301TRACE_EVENT(v3d_cache_clean_end,
302	    TP_PROTO(struct drm_device *dev),
303	    TP_ARGS(dev),
304
305	    TP_STRUCT__entry(
306			     __field(u32, dev)
307			     ),
308
309	    TP_fast_assign(
310			   __entry->dev = dev->primary->index;
311			   ),
312
313	    TP_printk("dev=%u",
314		      __entry->dev)
315);
316
317TRACE_EVENT(v3d_reset_begin,
318	    TP_PROTO(struct drm_device *dev),
319	    TP_ARGS(dev),
320
321	    TP_STRUCT__entry(
322			     __field(u32, dev)
323			     ),
324
325	    TP_fast_assign(
326			   __entry->dev = dev->primary->index;
327			   ),
328
329	    TP_printk("dev=%u",
330		      __entry->dev)
331);
332
333TRACE_EVENT(v3d_reset_end,
334	    TP_PROTO(struct drm_device *dev),
335	    TP_ARGS(dev),
336
337	    TP_STRUCT__entry(
338			     __field(u32, dev)
339			     ),
340
341	    TP_fast_assign(
342			   __entry->dev = dev->primary->index;
343			   ),
344
345	    TP_printk("dev=%u",
346		      __entry->dev)
347);
348
349#endif /* _V3D_TRACE_H_ */
350
351/* This part must be outside protection */
352#undef TRACE_INCLUDE_PATH
353#define TRACE_INCLUDE_PATH .
354#include <trace/define_trace.h>