~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/trace/events/host1x.h

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*
  3  * include/trace/events/host1x.h
  4  *
  5  * host1x event logging to ftrace.
  6  *
  7  * Copyright (c) 2010-2013, NVIDIA Corporation.
  8  */
  9 
 10 #undef TRACE_SYSTEM
 11 #define TRACE_SYSTEM host1x
 12 
 13 #if !defined(_TRACE_HOST1X_H) || defined(TRACE_HEADER_MULTI_READ)
 14 #define _TRACE_HOST1X_H
 15 
 16 #include <linux/ktime.h>
 17 #include <linux/tracepoint.h>
 18 
 19 struct host1x_bo;
 20 
 21 DECLARE_EVENT_CLASS(host1x,
 22         TP_PROTO(const char *name),
 23         TP_ARGS(name),
 24         TP_STRUCT__entry(__field(const char *, name)),
 25         TP_fast_assign(__entry->name = name;),
 26         TP_printk("name=%s", __entry->name)
 27 );
 28 
 29 DEFINE_EVENT(host1x, host1x_channel_open,
 30         TP_PROTO(const char *name),
 31         TP_ARGS(name)
 32 );
 33 
 34 DEFINE_EVENT(host1x, host1x_channel_release,
 35         TP_PROTO(const char *name),
 36         TP_ARGS(name)
 37 );
 38 
 39 DEFINE_EVENT(host1x, host1x_cdma_begin,
 40         TP_PROTO(const char *name),
 41         TP_ARGS(name)
 42 );
 43 
 44 DEFINE_EVENT(host1x, host1x_cdma_end,
 45         TP_PROTO(const char *name),
 46         TP_ARGS(name)
 47 );
 48 
 49 TRACE_EVENT(host1x_cdma_push,
 50         TP_PROTO(const char *name, u32 op1, u32 op2),
 51 
 52         TP_ARGS(name, op1, op2),
 53 
 54         TP_STRUCT__entry(
 55                 __field(const char *, name)
 56                 __field(u32, op1)
 57                 __field(u32, op2)
 58         ),
 59 
 60         TP_fast_assign(
 61                 __entry->name = name;
 62                 __entry->op1 = op1;
 63                 __entry->op2 = op2;
 64         ),
 65 
 66         TP_printk("name=%s, op1=%08x, op2=%08x",
 67                 __entry->name, __entry->op1, __entry->op2)
 68 );
 69 
 70 TRACE_EVENT(host1x_cdma_push_wide,
 71         TP_PROTO(const char *name, u32 op1, u32 op2, u32 op3, u32 op4),
 72 
 73         TP_ARGS(name, op1, op2, op3, op4),
 74 
 75         TP_STRUCT__entry(
 76                 __field(const char *, name)
 77                 __field(u32, op1)
 78                 __field(u32, op2)
 79                 __field(u32, op3)
 80                 __field(u32, op4)
 81         ),
 82 
 83         TP_fast_assign(
 84                 __entry->name = name;
 85                 __entry->op1 = op1;
 86                 __entry->op2 = op2;
 87                 __entry->op3 = op3;
 88                 __entry->op4 = op4;
 89         ),
 90 
 91         TP_printk("name=%s, op1=%08x, op2=%08x, op3=%08x op4=%08x",
 92                 __entry->name, __entry->op1, __entry->op2, __entry->op3,
 93                 __entry->op4)
 94 );
 95 
 96 TRACE_EVENT(host1x_cdma_push_gather,
 97         TP_PROTO(const char *name, struct host1x_bo *bo,
 98                         u32 words, u32 offset, void *cmdbuf),
 99 
100         TP_ARGS(name, bo, words, offset, cmdbuf),
101 
102         TP_STRUCT__entry(
103                 __field(const char *, name)
104                 __field(struct host1x_bo *, bo)
105                 __field(u32, words)
106                 __field(u32, offset)
107                 __field(bool, cmdbuf)
108                 __dynamic_array(u32, cmdbuf, words)
109         ),
110 
111         TP_fast_assign(
112                 if (cmdbuf) {
113                         memcpy(__get_dynamic_array(cmdbuf), cmdbuf+offset,
114                                         words * sizeof(u32));
115                 }
116                 __entry->cmdbuf = cmdbuf;
117                 __entry->name = name;
118                 __entry->bo = bo;
119                 __entry->words = words;
120                 __entry->offset = offset;
121         ),
122 
123         TP_printk("name=%s, bo=%p, words=%u, offset=%d, contents=[%s]",
124           __entry->name, __entry->bo,
125           __entry->words, __entry->offset,
126           __print_hex(__get_dynamic_array(cmdbuf),
127                   __entry->cmdbuf ? __entry->words * 4 : 0))
128 );
129 
130 TRACE_EVENT(host1x_channel_submit,
131         TP_PROTO(const char *name, u32 cmdbufs, u32 relocs, u32 syncpt_id,
132                  u32 syncpt_incrs),
133 
134         TP_ARGS(name, cmdbufs, relocs, syncpt_id, syncpt_incrs),
135 
136         TP_STRUCT__entry(
137                 __field(const char *, name)
138                 __field(u32, cmdbufs)
139                 __field(u32, relocs)
140                 __field(u32, syncpt_id)
141                 __field(u32, syncpt_incrs)
142         ),
143 
144         TP_fast_assign(
145                 __entry->name = name;
146                 __entry->cmdbufs = cmdbufs;
147                 __entry->relocs = relocs;
148                 __entry->syncpt_id = syncpt_id;
149                 __entry->syncpt_incrs = syncpt_incrs;
150         ),
151 
152         TP_printk("name=%s, cmdbufs=%u, relocs=%u, syncpt_id=%u, "
153                   "syncpt_incrs=%u",
154                   __entry->name, __entry->cmdbufs, __entry->relocs,
155                   __entry->syncpt_id, __entry->syncpt_incrs)
156 );
157 
158 TRACE_EVENT(host1x_channel_submitted,
159         TP_PROTO(const char *name, u32 syncpt_base, u32 syncpt_max),
160 
161         TP_ARGS(name, syncpt_base, syncpt_max),
162 
163         TP_STRUCT__entry(
164                 __field(const char *, name)
165                 __field(u32, syncpt_base)
166                 __field(u32, syncpt_max)
167         ),
168 
169         TP_fast_assign(
170                 __entry->name = name;
171                 __entry->syncpt_base = syncpt_base;
172                 __entry->syncpt_max = syncpt_max;
173         ),
174 
175         TP_printk("name=%s, syncpt_base=%d, syncpt_max=%d",
176                 __entry->name, __entry->syncpt_base, __entry->syncpt_max)
177 );
178 
179 TRACE_EVENT(host1x_channel_submit_complete,
180         TP_PROTO(const char *name, int count, u32 thresh),
181 
182         TP_ARGS(name, count, thresh),
183 
184         TP_STRUCT__entry(
185                 __field(const char *, name)
186                 __field(int, count)
187                 __field(u32, thresh)
188         ),
189 
190         TP_fast_assign(
191                 __entry->name = name;
192                 __entry->count = count;
193                 __entry->thresh = thresh;
194         ),
195 
196         TP_printk("name=%s, count=%d, thresh=%d",
197                 __entry->name, __entry->count, __entry->thresh)
198 );
199 
200 TRACE_EVENT(host1x_wait_cdma,
201         TP_PROTO(const char *name, u32 eventid),
202 
203         TP_ARGS(name, eventid),
204 
205         TP_STRUCT__entry(
206                 __field(const char *, name)
207                 __field(u32, eventid)
208         ),
209 
210         TP_fast_assign(
211                 __entry->name = name;
212                 __entry->eventid = eventid;
213         ),
214 
215         TP_printk("name=%s, event=%d", __entry->name, __entry->eventid)
216 );
217 
218 TRACE_EVENT(host1x_syncpt_load_min,
219         TP_PROTO(u32 id, u32 val),
220 
221         TP_ARGS(id, val),
222 
223         TP_STRUCT__entry(
224                 __field(u32, id)
225                 __field(u32, val)
226         ),
227 
228         TP_fast_assign(
229                 __entry->id = id;
230                 __entry->val = val;
231         ),
232 
233         TP_printk("id=%d, val=%d", __entry->id, __entry->val)
234 );
235 
236 TRACE_EVENT(host1x_syncpt_wait_check,
237         TP_PROTO(struct host1x_bo *bo, u32 offset, u32 syncpt_id, u32 thresh,
238                  u32 min),
239 
240         TP_ARGS(bo, offset, syncpt_id, thresh, min),
241 
242         TP_STRUCT__entry(
243                 __field(struct host1x_bo *, bo)
244                 __field(u32, offset)
245                 __field(u32, syncpt_id)
246                 __field(u32, thresh)
247                 __field(u32, min)
248         ),
249 
250         TP_fast_assign(
251                 __entry->bo = bo;
252                 __entry->offset = offset;
253                 __entry->syncpt_id = syncpt_id;
254                 __entry->thresh = thresh;
255                 __entry->min = min;
256         ),
257 
258         TP_printk("bo=%p, offset=%05x, id=%d, thresh=%d, current=%d",
259                 __entry->bo, __entry->offset,
260                 __entry->syncpt_id, __entry->thresh,
261                 __entry->min)
262 );
263 
264 #endif /*  _TRACE_HOST1X_H */
265 
266 /* This part must be outside protection */
267 #include <trace/define_trace.h>
268 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php