1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2015 Broadcom |
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 | |
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 | |
150 | #endif /* _VC4_TRACE_H_ */ |
151 | |
152 | /* This part must be outside protection */ |
153 | #undef TRACE_INCLUDE_PATH |
154 | #define TRACE_INCLUDE_PATH ../../drivers/gpu/drm/vc4 |
155 | #include <trace/define_trace.h> |
156 | |