Commit | Line | Data |
---|---|---|
d2912cb1 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
d5b1a78a EA |
2 | /* |
3 | * Copyright (C) 2015 Broadcom | |
d5b1a78a EA |
4 | */ |
5 | ||
6 | #if !defined(_VC4_TRACE_H_) || defined(TRACE_HEADER_MULTI_READ) | |
7 | #define _VC4_TRACE_H_ | |
8 | ||
9 | #include <linux/stringify.h> | |
10 | #include <linux/types.h> | |
11 | #include <linux/tracepoint.h> | |
12 | ||
13 | #undef TRACE_SYSTEM | |
14 | #define TRACE_SYSTEM vc4 | |
15 | #define TRACE_INCLUDE_FILE vc4_trace | |
16 | ||
17 | TRACE_EVENT(vc4_wait_for_seqno_begin, | |
18 | TP_PROTO(struct drm_device *dev, uint64_t seqno, uint64_t timeout), | |
19 | TP_ARGS(dev, seqno, timeout), | |
20 | ||
21 | TP_STRUCT__entry( | |
22 | __field(u32, dev) | |
23 | __field(u64, seqno) | |
24 | __field(u64, timeout) | |
25 | ), | |
26 | ||
27 | TP_fast_assign( | |
28 | __entry->dev = dev->primary->index; | |
29 | __entry->seqno = seqno; | |
30 | __entry->timeout = timeout; | |
31 | ), | |
32 | ||
33 | TP_printk("dev=%u, seqno=%llu, timeout=%llu", | |
34 | __entry->dev, __entry->seqno, __entry->timeout) | |
35 | ); | |
36 | ||
37 | TRACE_EVENT(vc4_wait_for_seqno_end, | |
38 | TP_PROTO(struct drm_device *dev, uint64_t seqno), | |
39 | TP_ARGS(dev, seqno), | |
40 | ||
41 | TP_STRUCT__entry( | |
42 | __field(u32, dev) | |
43 | __field(u64, seqno) | |
44 | ), | |
45 | ||
46 | TP_fast_assign( | |
47 | __entry->dev = dev->primary->index; | |
48 | __entry->seqno = seqno; | |
49 | ), | |
50 | ||
51 | TP_printk("dev=%u, seqno=%llu", | |
52 | __entry->dev, __entry->seqno) | |
53 | ); | |
54 | ||
044feb97 MW |
55 | TRACE_EVENT(vc4_submit_cl_ioctl, |
56 | TP_PROTO(struct drm_device *dev, u32 bin_cl_size, u32 shader_rec_size, u32 bo_count), | |
57 | TP_ARGS(dev, bin_cl_size, shader_rec_size, bo_count), | |
58 | ||
59 | TP_STRUCT__entry( | |
60 | __field(u32, dev) | |
61 | __field(u32, bin_cl_size) | |
62 | __field(u32, shader_rec_size) | |
63 | __field(u32, bo_count) | |
64 | ), | |
65 | ||
66 | TP_fast_assign( | |
67 | __entry->dev = dev->primary->index; | |
68 | __entry->bin_cl_size = bin_cl_size; | |
69 | __entry->shader_rec_size = shader_rec_size; | |
70 | __entry->bo_count = bo_count; | |
71 | ), | |
72 | ||
73 | TP_printk("dev=%u, bin_cl_size=%u, shader_rec_size=%u, bo_count=%u", | |
74 | __entry->dev, | |
75 | __entry->bin_cl_size, | |
76 | __entry->shader_rec_size, | |
77 | __entry->bo_count) | |
78 | ); | |
79 | ||
80 | TRACE_EVENT(vc4_submit_cl, | |
81 | TP_PROTO(struct drm_device *dev, bool is_render, | |
82 | uint64_t seqno, | |
83 | u32 ctnqba, u32 ctnqea), | |
84 | TP_ARGS(dev, is_render, seqno, ctnqba, ctnqea), | |
85 | ||
86 | TP_STRUCT__entry( | |
87 | __field(u32, dev) | |
88 | __field(bool, is_render) | |
89 | __field(u64, seqno) | |
90 | __field(u32, ctnqba) | |
91 | __field(u32, ctnqea) | |
92 | ), | |
93 | ||
94 | TP_fast_assign( | |
95 | __entry->dev = dev->primary->index; | |
96 | __entry->is_render = is_render; | |
97 | __entry->seqno = seqno; | |
98 | __entry->ctnqba = ctnqba; | |
99 | __entry->ctnqea = ctnqea; | |
100 | ), | |
101 | ||
102 | TP_printk("dev=%u, %s, seqno=%llu, 0x%08x..0x%08x", | |
103 | __entry->dev, | |
104 | __entry->is_render ? "RCL" : "BCL", | |
105 | __entry->seqno, | |
106 | __entry->ctnqba, | |
107 | __entry->ctnqea) | |
108 | ); | |
109 | ||
110 | TRACE_EVENT(vc4_bcl_end_irq, | |
111 | TP_PROTO(struct drm_device *dev, | |
112 | uint64_t seqno), | |
113 | TP_ARGS(dev, seqno), | |
114 | ||
115 | TP_STRUCT__entry( | |
116 | __field(u32, dev) | |
117 | __field(u64, seqno) | |
118 | ), | |
119 | ||
120 | TP_fast_assign( | |
121 | __entry->dev = dev->primary->index; | |
122 | __entry->seqno = seqno; | |
123 | ), | |
124 | ||
125 | TP_printk("dev=%u, seqno=%llu", | |
126 | __entry->dev, | |
127 | __entry->seqno) | |
128 | ); | |
129 | ||
130 | TRACE_EVENT(vc4_rcl_end_irq, | |
131 | TP_PROTO(struct drm_device *dev, | |
132 | uint64_t seqno), | |
133 | TP_ARGS(dev, seqno), | |
134 | ||
135 | TP_STRUCT__entry( | |
136 | __field(u32, dev) | |
137 | __field(u64, seqno) | |
138 | ), | |
139 | ||
140 | TP_fast_assign( | |
141 | __entry->dev = dev->primary->index; | |
142 | __entry->seqno = seqno; | |
143 | ), | |
144 | ||
145 | TP_printk("dev=%u, seqno=%llu", | |
146 | __entry->dev, | |
147 | __entry->seqno) | |
148 | ); | |
149 | ||
d5b1a78a EA |
150 | #endif /* _VC4_TRACE_H_ */ |
151 | ||
152 | /* This part must be outside protection */ | |
153 | #undef TRACE_INCLUDE_PATH | |
ff58a15a | 154 | #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4 |
d5b1a78a | 155 | #include <trace/define_trace.h> |