1 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
2 /*
3 *
4 * (C) COPYRIGHT 2010-2021 ARM Limited. All rights reserved.
5 *
6 * This program is free software and is provided to you under the terms of the
7 * GNU General Public License version 2 as published by the Free Software
8 * Foundation, and any use by you of this program is subject to the terms
9 * of such GNU license.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, you can access it online at
18 * http://www.gnu.org/licenses/gpl-2.0.html.
19 *
20 */
21
22 /*
23 * THIS FILE IS AUTOGENERATED BY mali_trace_generator.py.
24 * DO NOT EDIT.
25 */
26
27 #include "mali_kbase_tracepoints.h"
28 #include "mali_kbase_tlstream.h"
29 #include "mali_kbase_tl_serialize.h"
30
31 /* clang-format off */
32
33 /* Message ids of trace events that are recorded in the timeline stream. */
34 enum tl_msg_id_obj {
35 KBASE_TL_NEW_CTX,
36 KBASE_TL_NEW_GPU,
37 KBASE_TL_NEW_LPU,
38 KBASE_TL_NEW_ATOM,
39 KBASE_TL_NEW_AS,
40 KBASE_TL_DEL_CTX,
41 KBASE_TL_DEL_ATOM,
42 KBASE_TL_LIFELINK_LPU_GPU,
43 KBASE_TL_LIFELINK_AS_GPU,
44 KBASE_TL_RET_CTX_LPU,
45 KBASE_TL_RET_ATOM_CTX,
46 KBASE_TL_RET_ATOM_LPU,
47 KBASE_TL_NRET_CTX_LPU,
48 KBASE_TL_NRET_ATOM_CTX,
49 KBASE_TL_NRET_ATOM_LPU,
50 KBASE_TL_RET_AS_CTX,
51 KBASE_TL_NRET_AS_CTX,
52 KBASE_TL_RET_ATOM_AS,
53 KBASE_TL_NRET_ATOM_AS,
54 KBASE_TL_ATTRIB_ATOM_CONFIG,
55 KBASE_TL_ATTRIB_ATOM_PRIORITY,
56 KBASE_TL_ATTRIB_ATOM_STATE,
57 KBASE_TL_ATTRIB_ATOM_PRIORITIZED,
58 KBASE_TL_ATTRIB_ATOM_JIT,
59 KBASE_TL_JIT_USEDPAGES,
60 KBASE_TL_ATTRIB_ATOM_JITALLOCINFO,
61 KBASE_TL_ATTRIB_ATOM_JITFREEINFO,
62 KBASE_TL_ATTRIB_AS_CONFIG,
63 KBASE_TL_EVENT_LPU_SOFTSTOP,
64 KBASE_TL_EVENT_ATOM_SOFTSTOP_EX,
65 KBASE_TL_EVENT_ATOM_SOFTSTOP_ISSUE,
66 KBASE_TL_EVENT_ATOM_SOFTJOB_START,
67 KBASE_TL_EVENT_ATOM_SOFTJOB_END,
68 KBASE_TL_ARBITER_GRANTED,
69 KBASE_TL_ARBITER_STARTED,
70 KBASE_TL_ARBITER_STOP_REQUESTED,
71 KBASE_TL_ARBITER_STOPPED,
72 KBASE_TL_ARBITER_REQUESTED,
73 KBASE_JD_GPU_SOFT_RESET,
74 KBASE_TL_KBASE_NEW_DEVICE,
75 KBASE_TL_KBASE_DEVICE_PROGRAM_CSG,
76 KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG,
77 KBASE_TL_KBASE_DEVICE_HALT_CSG,
78 KBASE_TL_KBASE_NEW_CTX,
79 KBASE_TL_KBASE_DEL_CTX,
80 KBASE_TL_KBASE_CTX_ASSIGN_AS,
81 KBASE_TL_KBASE_CTX_UNASSIGN_AS,
82 KBASE_TL_KBASE_NEW_KCPUQUEUE,
83 KBASE_TL_KBASE_DEL_KCPUQUEUE,
84 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_SIGNAL,
85 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_WAIT,
86 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT,
87 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET,
88 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT,
89 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT,
90 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT_FORCE,
91 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER,
92 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND,
93 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
94 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
95 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
96 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_FREE,
97 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_FREE,
98 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_FREE,
99 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START,
100 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_END,
101 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_START,
102 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_END,
103 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START,
104 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END,
105 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET,
106 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START,
107 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_END,
108 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_START,
109 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_END,
110 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_START,
111 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_END,
112 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_ALLOC_START,
113 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_ALLOC_END,
114 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_ALLOC_END,
115 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_ALLOC_END,
116 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_FREE_START,
117 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_FREE_END,
118 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_FREE_END,
119 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_FREE_END,
120 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_ERROR_BARRIER,
121 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_START,
122 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_END,
123 KBASE_TL_KBASE_CSFFW_FW_RELOADING,
124 KBASE_TL_KBASE_CSFFW_FW_ENABLING,
125 KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP,
126 KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP,
127 KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT,
128 KBASE_TL_KBASE_CSFFW_FW_DISABLING,
129 KBASE_TL_KBASE_CSFFW_FW_OFF,
130 KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW,
131 KBASE_TL_JS_SCHED_START,
132 KBASE_TL_JS_SCHED_END,
133 KBASE_TL_JD_SUBMIT_ATOM_START,
134 KBASE_TL_JD_SUBMIT_ATOM_END,
135 KBASE_TL_JD_DONE_NO_LOCK_START,
136 KBASE_TL_JD_DONE_NO_LOCK_END,
137 KBASE_TL_JD_DONE_START,
138 KBASE_TL_JD_DONE_END,
139 KBASE_TL_JD_ATOM_COMPLETE,
140 KBASE_TL_RUN_ATOM_START,
141 KBASE_TL_RUN_ATOM_END,
142 KBASE_OBJ_MSG_COUNT,
143 };
144
145 /* Message ids of trace events that are recorded in the auxiliary stream. */
146 enum tl_msg_id_aux {
147 KBASE_AUX_PM_STATE,
148 KBASE_AUX_PAGEFAULT,
149 KBASE_AUX_PAGESALLOC,
150 KBASE_AUX_DEVFREQ_TARGET,
151 KBASE_AUX_PROTECTED_ENTER_START,
152 KBASE_AUX_PROTECTED_ENTER_END,
153 KBASE_AUX_PROTECTED_LEAVE_START,
154 KBASE_AUX_PROTECTED_LEAVE_END,
155 KBASE_AUX_JIT_STATS,
156 KBASE_AUX_TILER_HEAP_STATS,
157 KBASE_AUX_EVENT_JOB_SLOT,
158 KBASE_AUX_MMU_COMMAND,
159 KBASE_AUX_MSG_COUNT,
160 };
161
162 #define OBJ_TP_LIST \
163 TRACEPOINT_DESC(KBASE_TL_NEW_CTX, \
164 "object ctx is created", \
165 "@pII", \
166 "ctx,ctx_nr,tgid") \
167 TRACEPOINT_DESC(KBASE_TL_NEW_GPU, \
168 "object gpu is created", \
169 "@pII", \
170 "gpu,gpu_id,core_count") \
171 TRACEPOINT_DESC(KBASE_TL_NEW_LPU, \
172 "object lpu is created", \
173 "@pII", \
174 "lpu,lpu_nr,lpu_fn") \
175 TRACEPOINT_DESC(KBASE_TL_NEW_ATOM, \
176 "object atom is created", \
177 "@pI", \
178 "atom,atom_nr") \
179 TRACEPOINT_DESC(KBASE_TL_NEW_AS, \
180 "address space object is created", \
181 "@pI", \
182 "address_space,as_nr") \
183 TRACEPOINT_DESC(KBASE_TL_DEL_CTX, \
184 "context is destroyed", \
185 "@p", \
186 "ctx") \
187 TRACEPOINT_DESC(KBASE_TL_DEL_ATOM, \
188 "atom is destroyed", \
189 "@p", \
190 "atom") \
191 TRACEPOINT_DESC(KBASE_TL_LIFELINK_LPU_GPU, \
192 "lpu is deleted with gpu", \
193 "@pp", \
194 "lpu,gpu") \
195 TRACEPOINT_DESC(KBASE_TL_LIFELINK_AS_GPU, \
196 "address space is deleted with gpu", \
197 "@pp", \
198 "address_space,gpu") \
199 TRACEPOINT_DESC(KBASE_TL_RET_CTX_LPU, \
200 "context is retained by lpu", \
201 "@pp", \
202 "ctx,lpu") \
203 TRACEPOINT_DESC(KBASE_TL_RET_ATOM_CTX, \
204 "atom is retained by context", \
205 "@pp", \
206 "atom,ctx") \
207 TRACEPOINT_DESC(KBASE_TL_RET_ATOM_LPU, \
208 "atom is retained by lpu", \
209 "@pps", \
210 "atom,lpu,attrib_match_list") \
211 TRACEPOINT_DESC(KBASE_TL_NRET_CTX_LPU, \
212 "context is released by lpu", \
213 "@pp", \
214 "ctx,lpu") \
215 TRACEPOINT_DESC(KBASE_TL_NRET_ATOM_CTX, \
216 "atom is released by context", \
217 "@pp", \
218 "atom,ctx") \
219 TRACEPOINT_DESC(KBASE_TL_NRET_ATOM_LPU, \
220 "atom is released by lpu", \
221 "@pp", \
222 "atom,lpu") \
223 TRACEPOINT_DESC(KBASE_TL_RET_AS_CTX, \
224 "address space is retained by context", \
225 "@pp", \
226 "address_space,ctx") \
227 TRACEPOINT_DESC(KBASE_TL_NRET_AS_CTX, \
228 "address space is released by context", \
229 "@pp", \
230 "address_space,ctx") \
231 TRACEPOINT_DESC(KBASE_TL_RET_ATOM_AS, \
232 "atom is retained by address space", \
233 "@pp", \
234 "atom,address_space") \
235 TRACEPOINT_DESC(KBASE_TL_NRET_ATOM_AS, \
236 "atom is released by address space", \
237 "@pp", \
238 "atom,address_space") \
239 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_CONFIG, \
240 "atom job slot attributes", \
241 "@pLLI", \
242 "atom,descriptor,affinity,config") \
243 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITY, \
244 "atom priority", \
245 "@pI", \
246 "atom,prio") \
247 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_STATE, \
248 "atom state", \
249 "@pI", \
250 "atom,state") \
251 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITIZED, \
252 "atom caused priority change", \
253 "@p", \
254 "atom") \
255 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_JIT, \
256 "jit done for atom", \
257 "@pLLILILLL", \
258 "atom,edit_addr,new_addr,jit_flags,mem_flags,j_id,com_pgs,extent,va_pgs") \
259 TRACEPOINT_DESC(KBASE_TL_JIT_USEDPAGES, \
260 "used pages for jit", \
261 "@LI", \
262 "used_pages,j_id") \
263 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_JITALLOCINFO, \
264 "Information about JIT allocations", \
265 "@pLLLIIIII", \
266 "atom,va_pgs,com_pgs,extent,j_id,bin_id,max_allocs,jit_flags,usg_id") \
267 TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_JITFREEINFO, \
268 "Information about JIT frees", \
269 "@pI", \
270 "atom,j_id") \
271 TRACEPOINT_DESC(KBASE_TL_ATTRIB_AS_CONFIG, \
272 "address space attributes", \
273 "@pLLL", \
274 "address_space,transtab,memattr,transcfg") \
275 TRACEPOINT_DESC(KBASE_TL_EVENT_LPU_SOFTSTOP, \
276 "softstop event on given lpu", \
277 "@p", \
278 "lpu") \
279 TRACEPOINT_DESC(KBASE_TL_EVENT_ATOM_SOFTSTOP_EX, \
280 "atom softstopped", \
281 "@p", \
282 "atom") \
283 TRACEPOINT_DESC(KBASE_TL_EVENT_ATOM_SOFTSTOP_ISSUE, \
284 "atom softstop issued", \
285 "@p", \
286 "atom") \
287 TRACEPOINT_DESC(KBASE_TL_EVENT_ATOM_SOFTJOB_START, \
288 "atom soft job has started", \
289 "@p", \
290 "atom") \
291 TRACEPOINT_DESC(KBASE_TL_EVENT_ATOM_SOFTJOB_END, \
292 "atom soft job has completed", \
293 "@p", \
294 "atom") \
295 TRACEPOINT_DESC(KBASE_TL_ARBITER_GRANTED, \
296 "Arbiter has granted gpu access", \
297 "@p", \
298 "gpu") \
299 TRACEPOINT_DESC(KBASE_TL_ARBITER_STARTED, \
300 "Driver is running again and able to process jobs", \
301 "@p", \
302 "gpu") \
303 TRACEPOINT_DESC(KBASE_TL_ARBITER_STOP_REQUESTED, \
304 "Arbiter has requested driver to stop using gpu", \
305 "@p", \
306 "gpu") \
307 TRACEPOINT_DESC(KBASE_TL_ARBITER_STOPPED, \
308 "Driver has stopped using gpu", \
309 "@p", \
310 "gpu") \
311 TRACEPOINT_DESC(KBASE_TL_ARBITER_REQUESTED, \
312 "Driver has requested the arbiter for gpu access", \
313 "@p", \
314 "gpu") \
315 TRACEPOINT_DESC(KBASE_JD_GPU_SOFT_RESET, \
316 "gpu soft reset", \
317 "@p", \
318 "gpu") \
319 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_DEVICE, \
320 "New KBase Device", \
321 "@IIIIIII", \
322 "kbase_device_id,kbase_device_gpu_core_count,kbase_device_max_num_csgs,kbase_device_as_count,kbase_device_sb_entry_count,kbase_device_has_cross_stream_sync,kbase_device_supports_gpu_sleep") \
323 TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_PROGRAM_CSG, \
324 "CSG is programmed to a slot", \
325 "@IIIII", \
326 "kbase_device_id,kernel_ctx_id,gpu_cmdq_grp_handle,kbase_device_csg_slot_index,kbase_device_csg_slot_resumed") \
327 TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG, \
328 "CSG is deprogrammed from a slot", \
329 "@II", \
330 "kbase_device_id,kbase_device_csg_slot_index") \
331 TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_HALT_CSG, \
332 "CSG is halted", \
333 "@II", \
334 "kbase_device_id,kbase_device_csg_slot_index") \
335 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_CTX, \
336 "New KBase Context", \
337 "@II", \
338 "kernel_ctx_id,kbase_device_id") \
339 TRACEPOINT_DESC(KBASE_TL_KBASE_DEL_CTX, \
340 "Delete KBase Context", \
341 "@I", \
342 "kernel_ctx_id") \
343 TRACEPOINT_DESC(KBASE_TL_KBASE_CTX_ASSIGN_AS, \
344 "Address Space is assigned to a KBase context", \
345 "@II", \
346 "kernel_ctx_id,kbase_device_as_index") \
347 TRACEPOINT_DESC(KBASE_TL_KBASE_CTX_UNASSIGN_AS, \
348 "Address Space is unassigned from a KBase context", \
349 "@I", \
350 "kernel_ctx_id") \
351 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_KCPUQUEUE, \
352 "New KCPU Queue", \
353 "@pII", \
354 "kcpu_queue,kernel_ctx_id,kcpuq_num_pending_cmds") \
355 TRACEPOINT_DESC(KBASE_TL_KBASE_DEL_KCPUQUEUE, \
356 "Delete KCPU Queue", \
357 "@p", \
358 "kcpu_queue") \
359 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_SIGNAL, \
360 "KCPU Queue enqueues Signal on Fence", \
361 "@pp", \
362 "kcpu_queue,fence") \
363 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_WAIT, \
364 "KCPU Queue enqueues Wait on Fence", \
365 "@pp", \
366 "kcpu_queue,fence") \
367 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT, \
368 "KCPU Queue enqueues Wait on Cross Queue Sync Object", \
369 "@pLII", \
370 "kcpu_queue,cqs_obj_gpu_addr,cqs_obj_compare_value,cqs_obj_inherit_error") \
371 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET, \
372 "KCPU Queue enqueues Set on Cross Queue Sync Object", \
373 "@pL", \
374 "kcpu_queue,cqs_obj_gpu_addr") \
375 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT, \
376 "KCPU Queue enqueues Map Import", \
377 "@pL", \
378 "kcpu_queue,map_import_buf_gpu_addr") \
379 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT, \
380 "KCPU Queue enqueues Unmap Import", \
381 "@pL", \
382 "kcpu_queue,map_import_buf_gpu_addr") \
383 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT_FORCE, \
384 "KCPU Queue enqueues Unmap Import ignoring reference count", \
385 "@pL", \
386 "kcpu_queue,map_import_buf_gpu_addr") \
387 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER, \
388 "KCPU Queue enqueues Error Barrier", \
389 "@p", \
390 "kcpu_queue") \
391 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND, \
392 "KCPU Queue enqueues Group Suspend", \
393 "@ppI", \
394 "kcpu_queue,group_suspend_buf,gpu_cmdq_grp_handle") \
395 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC, \
396 "Begin array of KCPU Queue enqueues JIT Alloc", \
397 "@p", \
398 "kcpu_queue") \
399 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_ALLOC, \
400 "Array item of KCPU Queue enqueues JIT Alloc", \
401 "@pLLLLIIIII", \
402 "kcpu_queue,jit_alloc_gpu_alloc_addr_dest,jit_alloc_va_pages,jit_alloc_commit_pages,jit_alloc_extent,jit_alloc_jit_id,jit_alloc_bin_id,jit_alloc_max_allocations,jit_alloc_flags,jit_alloc_usage_id") \
403 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_ALLOC, \
404 "End array of KCPU Queue enqueues JIT Alloc", \
405 "@p", \
406 "kcpu_queue") \
407 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_FREE, \
408 "Begin array of KCPU Queue enqueues JIT Free", \
409 "@p", \
410 "kcpu_queue") \
411 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_FREE, \
412 "Array item of KCPU Queue enqueues JIT Free", \
413 "@pI", \
414 "kcpu_queue,jit_alloc_jit_id") \
415 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_FREE, \
416 "End array of KCPU Queue enqueues JIT Free", \
417 "@p", \
418 "kcpu_queue") \
419 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START, \
420 "KCPU Queue starts a Signal on Fence", \
421 "@p", \
422 "kcpu_queue") \
423 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_END, \
424 "KCPU Queue ends a Signal on Fence", \
425 "@pI", \
426 "kcpu_queue,execute_error") \
427 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_START, \
428 "KCPU Queue starts a Wait on Fence", \
429 "@p", \
430 "kcpu_queue") \
431 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_END, \
432 "KCPU Queue ends a Wait on Fence", \
433 "@pI", \
434 "kcpu_queue,execute_error") \
435 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START, \
436 "KCPU Queue starts a Wait on an array of Cross Queue Sync Objects", \
437 "@p", \
438 "kcpu_queue") \
439 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END, \
440 "KCPU Queue ends a Wait on an array of Cross Queue Sync Objects", \
441 "@pI", \
442 "kcpu_queue,execute_error") \
443 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET, \
444 "KCPU Queue executes a Set on an array of Cross Queue Sync Objects", \
445 "@pI", \
446 "kcpu_queue,execute_error") \
447 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START, \
448 "KCPU Queue starts a Map Import", \
449 "@p", \
450 "kcpu_queue") \
451 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_END, \
452 "KCPU Queue ends a Map Import", \
453 "@pI", \
454 "kcpu_queue,execute_error") \
455 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_START, \
456 "KCPU Queue starts an Unmap Import", \
457 "@p", \
458 "kcpu_queue") \
459 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_END, \
460 "KCPU Queue ends an Unmap Import", \
461 "@pI", \
462 "kcpu_queue,execute_error") \
463 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_START, \
464 "KCPU Queue starts an Unmap Import ignoring reference count", \
465 "@p", \
466 "kcpu_queue") \
467 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_END, \
468 "KCPU Queue ends an Unmap Import ignoring reference count", \
469 "@pI", \
470 "kcpu_queue,execute_error") \
471 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_ALLOC_START, \
472 "KCPU Queue starts an array of JIT Allocs", \
473 "@p", \
474 "kcpu_queue") \
475 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_ALLOC_END, \
476 "Begin array of KCPU Queue ends an array of JIT Allocs", \
477 "@p", \
478 "kcpu_queue") \
479 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_ALLOC_END, \
480 "Array item of KCPU Queue ends an array of JIT Allocs", \
481 "@pILL", \
482 "kcpu_queue,execute_error,jit_alloc_gpu_alloc_addr,jit_alloc_mmu_flags") \
483 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_ALLOC_END, \
484 "End array of KCPU Queue ends an array of JIT Allocs", \
485 "@p", \
486 "kcpu_queue") \
487 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_FREE_START, \
488 "KCPU Queue starts an array of JIT Frees", \
489 "@p", \
490 "kcpu_queue") \
491 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_FREE_END, \
492 "Begin array of KCPU Queue ends an array of JIT Frees", \
493 "@p", \
494 "kcpu_queue") \
495 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_FREE_END, \
496 "Array item of KCPU Queue ends an array of JIT Frees", \
497 "@pIL", \
498 "kcpu_queue,execute_error,jit_free_pages_used") \
499 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_FREE_END, \
500 "End array of KCPU Queue ends an array of JIT Frees", \
501 "@p", \
502 "kcpu_queue") \
503 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_ERROR_BARRIER, \
504 "KCPU Queue executes an Error Barrier", \
505 "@p", \
506 "kcpu_queue") \
507 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_START, \
508 "KCPU Queue starts a group suspend", \
509 "@p", \
510 "kcpu_queue") \
511 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_END, \
512 "KCPU Queue ends a group suspend", \
513 "@pI", \
514 "kcpu_queue,execute_error") \
515 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_RELOADING, \
516 "CSF FW is being reloaded", \
517 "@L", \
518 "csffw_cycle") \
519 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_ENABLING, \
520 "CSF FW is being enabled", \
521 "@L", \
522 "csffw_cycle") \
523 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP, \
524 "CSF FW sleep is requested", \
525 "@L", \
526 "csffw_cycle") \
527 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP, \
528 "CSF FW wake up is requested", \
529 "@L", \
530 "csffw_cycle") \
531 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT, \
532 "CSF FW halt is requested", \
533 "@L", \
534 "csffw_cycle") \
535 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_DISABLING, \
536 "CSF FW is being disabled", \
537 "@L", \
538 "csffw_cycle") \
539 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_OFF, \
540 "CSF FW is off", \
541 "@L", \
542 "csffw_cycle") \
543 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW, \
544 "An overflow has happened with the CSFFW Timeline stream", \
545 "@LL", \
546 "csffw_timestamp,csffw_cycle") \
547 TRACEPOINT_DESC(KBASE_TL_JS_SCHED_START, \
548 "Scheduling starts", \
549 "@I", \
550 "dummy") \
551 TRACEPOINT_DESC(KBASE_TL_JS_SCHED_END, \
552 "Scheduling ends", \
553 "@I", \
554 "dummy") \
555 TRACEPOINT_DESC(KBASE_TL_JD_SUBMIT_ATOM_START, \
556 "Submitting an atom starts", \
557 "@p", \
558 "atom") \
559 TRACEPOINT_DESC(KBASE_TL_JD_SUBMIT_ATOM_END, \
560 "Submitting an atom ends", \
561 "@p", \
562 "atom") \
563 TRACEPOINT_DESC(KBASE_TL_JD_DONE_NO_LOCK_START, \
564 "Within function jd_done_nolock", \
565 "@p", \
566 "atom") \
567 TRACEPOINT_DESC(KBASE_TL_JD_DONE_NO_LOCK_END, \
568 "Within function jd_done_nolock - end", \
569 "@p", \
570 "atom") \
571 TRACEPOINT_DESC(KBASE_TL_JD_DONE_START, \
572 "Start of kbase_jd_done", \
573 "@p", \
574 "atom") \
575 TRACEPOINT_DESC(KBASE_TL_JD_DONE_END, \
576 "End of kbase_jd_done", \
577 "@p", \
578 "atom") \
579 TRACEPOINT_DESC(KBASE_TL_JD_ATOM_COMPLETE, \
580 "Atom marked complete", \
581 "@p", \
582 "atom") \
583 TRACEPOINT_DESC(KBASE_TL_RUN_ATOM_START, \
584 "Running of atom starts", \
585 "@pI", \
586 "atom,atom_nr") \
587 TRACEPOINT_DESC(KBASE_TL_RUN_ATOM_END, \
588 "Running of atom ends", \
589 "@pI", \
590 "atom,atom_nr") \
591
592 #define MIPE_HEADER_BLOB_VAR_NAME __obj_desc_header
593 #define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
594 #define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_OBJ
595 #define MIPE_HEADER_TRACEPOINT_LIST OBJ_TP_LIST
596 #define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_OBJ_MSG_COUNT
597
598 #include "mali_kbase_mipe_gen_header.h"
599
600 const char *obj_desc_header = (const char *) &__obj_desc_header;
601 const size_t obj_desc_header_size = sizeof(__obj_desc_header);
602
603 #define AUX_TP_LIST \
604 TRACEPOINT_DESC(KBASE_AUX_PM_STATE, \
605 "PM state", \
606 "@IL", \
607 "core_type,core_state_bitset") \
608 TRACEPOINT_DESC(KBASE_AUX_PAGEFAULT, \
609 "Page fault", \
610 "@IIL", \
611 "ctx_nr,as_nr,page_cnt_change") \
612 TRACEPOINT_DESC(KBASE_AUX_PAGESALLOC, \
613 "Total alloc pages change", \
614 "@IL", \
615 "ctx_nr,page_cnt") \
616 TRACEPOINT_DESC(KBASE_AUX_DEVFREQ_TARGET, \
617 "New device frequency target", \
618 "@L", \
619 "target_freq") \
620 TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_START, \
621 "enter protected mode start", \
622 "@p", \
623 "gpu") \
624 TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_END, \
625 "enter protected mode end", \
626 "@p", \
627 "gpu") \
628 TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_START, \
629 "leave protected mode start", \
630 "@p", \
631 "gpu") \
632 TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_END, \
633 "leave protected mode end", \
634 "@p", \
635 "gpu") \
636 TRACEPOINT_DESC(KBASE_AUX_JIT_STATS, \
637 "per-bin JIT statistics", \
638 "@IIIIII", \
639 "ctx_nr,bid,max_allocs,allocs,va_pages,ph_pages") \
640 TRACEPOINT_DESC(KBASE_AUX_TILER_HEAP_STATS, \
641 "Tiler Heap statistics", \
642 "@ILIIIIIII", \
643 "ctx_nr,heap_id,va_pages,ph_pages,max_chunks,chunk_size,chunk_count,target_in_flight,nr_in_flight") \
644 TRACEPOINT_DESC(KBASE_AUX_EVENT_JOB_SLOT, \
645 "event on a given job slot", \
646 "@pIII", \
647 "ctx,slot_nr,atom_nr,event") \
648 TRACEPOINT_DESC(KBASE_AUX_MMU_COMMAND, \
649 "mmu commands with synchronicity info", \
650 "@IIILI", \
651 "kernel_ctx_id,mmu_cmd_id,mmu_synchronicity,mmu_lock_addr,mmu_lock_page_num") \
652
653 #define MIPE_HEADER_BLOB_VAR_NAME __aux_desc_header
654 #define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
655 #define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_AUX
656 #define MIPE_HEADER_TRACEPOINT_LIST AUX_TP_LIST
657 #define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_AUX_MSG_COUNT
658
659 #include "mali_kbase_mipe_gen_header.h"
660
661 const char *aux_desc_header = (const char *) &__aux_desc_header;
662 const size_t aux_desc_header_size = sizeof(__aux_desc_header);
663
__kbase_tlstream_tl_new_ctx(struct kbase_tlstream * stream,const void * ctx,u32 ctx_nr,u32 tgid)664 void __kbase_tlstream_tl_new_ctx(
665 struct kbase_tlstream *stream,
666 const void *ctx,
667 u32 ctx_nr,
668 u32 tgid)
669 {
670 const u32 msg_id = KBASE_TL_NEW_CTX;
671 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
672 + sizeof(ctx)
673 + sizeof(ctx_nr)
674 + sizeof(tgid)
675 ;
676 char *buffer;
677 unsigned long acq_flags;
678 size_t pos = 0;
679
680 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
681
682 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
683 pos = kbasep_serialize_timestamp(buffer, pos);
684 pos = kbasep_serialize_bytes(buffer,
685 pos, &ctx, sizeof(ctx));
686 pos = kbasep_serialize_bytes(buffer,
687 pos, &ctx_nr, sizeof(ctx_nr));
688 pos = kbasep_serialize_bytes(buffer,
689 pos, &tgid, sizeof(tgid));
690
691 kbase_tlstream_msgbuf_release(stream, acq_flags);
692 }
693
__kbase_tlstream_tl_new_gpu(struct kbase_tlstream * stream,const void * gpu,u32 gpu_id,u32 core_count)694 void __kbase_tlstream_tl_new_gpu(
695 struct kbase_tlstream *stream,
696 const void *gpu,
697 u32 gpu_id,
698 u32 core_count)
699 {
700 const u32 msg_id = KBASE_TL_NEW_GPU;
701 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
702 + sizeof(gpu)
703 + sizeof(gpu_id)
704 + sizeof(core_count)
705 ;
706 char *buffer;
707 unsigned long acq_flags;
708 size_t pos = 0;
709
710 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
711
712 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
713 pos = kbasep_serialize_timestamp(buffer, pos);
714 pos = kbasep_serialize_bytes(buffer,
715 pos, &gpu, sizeof(gpu));
716 pos = kbasep_serialize_bytes(buffer,
717 pos, &gpu_id, sizeof(gpu_id));
718 pos = kbasep_serialize_bytes(buffer,
719 pos, &core_count, sizeof(core_count));
720
721 kbase_tlstream_msgbuf_release(stream, acq_flags);
722 }
723
__kbase_tlstream_tl_new_lpu(struct kbase_tlstream * stream,const void * lpu,u32 lpu_nr,u32 lpu_fn)724 void __kbase_tlstream_tl_new_lpu(
725 struct kbase_tlstream *stream,
726 const void *lpu,
727 u32 lpu_nr,
728 u32 lpu_fn)
729 {
730 const u32 msg_id = KBASE_TL_NEW_LPU;
731 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
732 + sizeof(lpu)
733 + sizeof(lpu_nr)
734 + sizeof(lpu_fn)
735 ;
736 char *buffer;
737 unsigned long acq_flags;
738 size_t pos = 0;
739
740 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
741
742 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
743 pos = kbasep_serialize_timestamp(buffer, pos);
744 pos = kbasep_serialize_bytes(buffer,
745 pos, &lpu, sizeof(lpu));
746 pos = kbasep_serialize_bytes(buffer,
747 pos, &lpu_nr, sizeof(lpu_nr));
748 pos = kbasep_serialize_bytes(buffer,
749 pos, &lpu_fn, sizeof(lpu_fn));
750
751 kbase_tlstream_msgbuf_release(stream, acq_flags);
752 }
753
__kbase_tlstream_tl_new_atom(struct kbase_tlstream * stream,const void * atom,u32 atom_nr)754 void __kbase_tlstream_tl_new_atom(
755 struct kbase_tlstream *stream,
756 const void *atom,
757 u32 atom_nr)
758 {
759 const u32 msg_id = KBASE_TL_NEW_ATOM;
760 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
761 + sizeof(atom)
762 + sizeof(atom_nr)
763 ;
764 char *buffer;
765 unsigned long acq_flags;
766 size_t pos = 0;
767
768 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
769
770 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
771 pos = kbasep_serialize_timestamp(buffer, pos);
772 pos = kbasep_serialize_bytes(buffer,
773 pos, &atom, sizeof(atom));
774 pos = kbasep_serialize_bytes(buffer,
775 pos, &atom_nr, sizeof(atom_nr));
776
777 kbase_tlstream_msgbuf_release(stream, acq_flags);
778 }
779
__kbase_tlstream_tl_new_as(struct kbase_tlstream * stream,const void * address_space,u32 as_nr)780 void __kbase_tlstream_tl_new_as(
781 struct kbase_tlstream *stream,
782 const void *address_space,
783 u32 as_nr)
784 {
785 const u32 msg_id = KBASE_TL_NEW_AS;
786 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
787 + sizeof(address_space)
788 + sizeof(as_nr)
789 ;
790 char *buffer;
791 unsigned long acq_flags;
792 size_t pos = 0;
793
794 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
795
796 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
797 pos = kbasep_serialize_timestamp(buffer, pos);
798 pos = kbasep_serialize_bytes(buffer,
799 pos, &address_space, sizeof(address_space));
800 pos = kbasep_serialize_bytes(buffer,
801 pos, &as_nr, sizeof(as_nr));
802
803 kbase_tlstream_msgbuf_release(stream, acq_flags);
804 }
805
__kbase_tlstream_tl_del_ctx(struct kbase_tlstream * stream,const void * ctx)806 void __kbase_tlstream_tl_del_ctx(
807 struct kbase_tlstream *stream,
808 const void *ctx)
809 {
810 const u32 msg_id = KBASE_TL_DEL_CTX;
811 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
812 + sizeof(ctx)
813 ;
814 char *buffer;
815 unsigned long acq_flags;
816 size_t pos = 0;
817
818 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
819
820 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
821 pos = kbasep_serialize_timestamp(buffer, pos);
822 pos = kbasep_serialize_bytes(buffer,
823 pos, &ctx, sizeof(ctx));
824
825 kbase_tlstream_msgbuf_release(stream, acq_flags);
826 }
827
__kbase_tlstream_tl_del_atom(struct kbase_tlstream * stream,const void * atom)828 void __kbase_tlstream_tl_del_atom(
829 struct kbase_tlstream *stream,
830 const void *atom)
831 {
832 const u32 msg_id = KBASE_TL_DEL_ATOM;
833 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
834 + sizeof(atom)
835 ;
836 char *buffer;
837 unsigned long acq_flags;
838 size_t pos = 0;
839
840 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
841
842 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
843 pos = kbasep_serialize_timestamp(buffer, pos);
844 pos = kbasep_serialize_bytes(buffer,
845 pos, &atom, sizeof(atom));
846
847 kbase_tlstream_msgbuf_release(stream, acq_flags);
848 }
849
__kbase_tlstream_tl_lifelink_lpu_gpu(struct kbase_tlstream * stream,const void * lpu,const void * gpu)850 void __kbase_tlstream_tl_lifelink_lpu_gpu(
851 struct kbase_tlstream *stream,
852 const void *lpu,
853 const void *gpu)
854 {
855 const u32 msg_id = KBASE_TL_LIFELINK_LPU_GPU;
856 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
857 + sizeof(lpu)
858 + sizeof(gpu)
859 ;
860 char *buffer;
861 unsigned long acq_flags;
862 size_t pos = 0;
863
864 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
865
866 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
867 pos = kbasep_serialize_timestamp(buffer, pos);
868 pos = kbasep_serialize_bytes(buffer,
869 pos, &lpu, sizeof(lpu));
870 pos = kbasep_serialize_bytes(buffer,
871 pos, &gpu, sizeof(gpu));
872
873 kbase_tlstream_msgbuf_release(stream, acq_flags);
874 }
875
__kbase_tlstream_tl_lifelink_as_gpu(struct kbase_tlstream * stream,const void * address_space,const void * gpu)876 void __kbase_tlstream_tl_lifelink_as_gpu(
877 struct kbase_tlstream *stream,
878 const void *address_space,
879 const void *gpu)
880 {
881 const u32 msg_id = KBASE_TL_LIFELINK_AS_GPU;
882 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
883 + sizeof(address_space)
884 + sizeof(gpu)
885 ;
886 char *buffer;
887 unsigned long acq_flags;
888 size_t pos = 0;
889
890 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
891
892 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
893 pos = kbasep_serialize_timestamp(buffer, pos);
894 pos = kbasep_serialize_bytes(buffer,
895 pos, &address_space, sizeof(address_space));
896 pos = kbasep_serialize_bytes(buffer,
897 pos, &gpu, sizeof(gpu));
898
899 kbase_tlstream_msgbuf_release(stream, acq_flags);
900 }
901
__kbase_tlstream_tl_ret_ctx_lpu(struct kbase_tlstream * stream,const void * ctx,const void * lpu)902 void __kbase_tlstream_tl_ret_ctx_lpu(
903 struct kbase_tlstream *stream,
904 const void *ctx,
905 const void *lpu)
906 {
907 const u32 msg_id = KBASE_TL_RET_CTX_LPU;
908 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
909 + sizeof(ctx)
910 + sizeof(lpu)
911 ;
912 char *buffer;
913 unsigned long acq_flags;
914 size_t pos = 0;
915
916 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
917
918 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
919 pos = kbasep_serialize_timestamp(buffer, pos);
920 pos = kbasep_serialize_bytes(buffer,
921 pos, &ctx, sizeof(ctx));
922 pos = kbasep_serialize_bytes(buffer,
923 pos, &lpu, sizeof(lpu));
924
925 kbase_tlstream_msgbuf_release(stream, acq_flags);
926 }
927
__kbase_tlstream_tl_ret_atom_ctx(struct kbase_tlstream * stream,const void * atom,const void * ctx)928 void __kbase_tlstream_tl_ret_atom_ctx(
929 struct kbase_tlstream *stream,
930 const void *atom,
931 const void *ctx)
932 {
933 const u32 msg_id = KBASE_TL_RET_ATOM_CTX;
934 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
935 + sizeof(atom)
936 + sizeof(ctx)
937 ;
938 char *buffer;
939 unsigned long acq_flags;
940 size_t pos = 0;
941
942 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
943
944 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
945 pos = kbasep_serialize_timestamp(buffer, pos);
946 pos = kbasep_serialize_bytes(buffer,
947 pos, &atom, sizeof(atom));
948 pos = kbasep_serialize_bytes(buffer,
949 pos, &ctx, sizeof(ctx));
950
951 kbase_tlstream_msgbuf_release(stream, acq_flags);
952 }
953
__kbase_tlstream_tl_ret_atom_lpu(struct kbase_tlstream * stream,const void * atom,const void * lpu,const char * attrib_match_list)954 void __kbase_tlstream_tl_ret_atom_lpu(
955 struct kbase_tlstream *stream,
956 const void *atom,
957 const void *lpu,
958 const char *attrib_match_list)
959 {
960 const u32 msg_id = KBASE_TL_RET_ATOM_LPU;
961 const size_t s0 = sizeof(u32) + sizeof(char)
962 + strnlen(attrib_match_list, STRLEN_MAX);
963 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
964 + sizeof(atom)
965 + sizeof(lpu)
966 + s0
967 ;
968 char *buffer;
969 unsigned long acq_flags;
970 size_t pos = 0;
971
972 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
973
974 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
975 pos = kbasep_serialize_timestamp(buffer, pos);
976 pos = kbasep_serialize_bytes(buffer,
977 pos, &atom, sizeof(atom));
978 pos = kbasep_serialize_bytes(buffer,
979 pos, &lpu, sizeof(lpu));
980 pos = kbasep_serialize_string(buffer,
981 pos, attrib_match_list, s0);
982
983 kbase_tlstream_msgbuf_release(stream, acq_flags);
984 }
985
__kbase_tlstream_tl_nret_ctx_lpu(struct kbase_tlstream * stream,const void * ctx,const void * lpu)986 void __kbase_tlstream_tl_nret_ctx_lpu(
987 struct kbase_tlstream *stream,
988 const void *ctx,
989 const void *lpu)
990 {
991 const u32 msg_id = KBASE_TL_NRET_CTX_LPU;
992 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
993 + sizeof(ctx)
994 + sizeof(lpu)
995 ;
996 char *buffer;
997 unsigned long acq_flags;
998 size_t pos = 0;
999
1000 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1001
1002 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1003 pos = kbasep_serialize_timestamp(buffer, pos);
1004 pos = kbasep_serialize_bytes(buffer,
1005 pos, &ctx, sizeof(ctx));
1006 pos = kbasep_serialize_bytes(buffer,
1007 pos, &lpu, sizeof(lpu));
1008
1009 kbase_tlstream_msgbuf_release(stream, acq_flags);
1010 }
1011
__kbase_tlstream_tl_nret_atom_ctx(struct kbase_tlstream * stream,const void * atom,const void * ctx)1012 void __kbase_tlstream_tl_nret_atom_ctx(
1013 struct kbase_tlstream *stream,
1014 const void *atom,
1015 const void *ctx)
1016 {
1017 const u32 msg_id = KBASE_TL_NRET_ATOM_CTX;
1018 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1019 + sizeof(atom)
1020 + sizeof(ctx)
1021 ;
1022 char *buffer;
1023 unsigned long acq_flags;
1024 size_t pos = 0;
1025
1026 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1027
1028 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1029 pos = kbasep_serialize_timestamp(buffer, pos);
1030 pos = kbasep_serialize_bytes(buffer,
1031 pos, &atom, sizeof(atom));
1032 pos = kbasep_serialize_bytes(buffer,
1033 pos, &ctx, sizeof(ctx));
1034
1035 kbase_tlstream_msgbuf_release(stream, acq_flags);
1036 }
1037
__kbase_tlstream_tl_nret_atom_lpu(struct kbase_tlstream * stream,const void * atom,const void * lpu)1038 void __kbase_tlstream_tl_nret_atom_lpu(
1039 struct kbase_tlstream *stream,
1040 const void *atom,
1041 const void *lpu)
1042 {
1043 const u32 msg_id = KBASE_TL_NRET_ATOM_LPU;
1044 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1045 + sizeof(atom)
1046 + sizeof(lpu)
1047 ;
1048 char *buffer;
1049 unsigned long acq_flags;
1050 size_t pos = 0;
1051
1052 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1053
1054 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1055 pos = kbasep_serialize_timestamp(buffer, pos);
1056 pos = kbasep_serialize_bytes(buffer,
1057 pos, &atom, sizeof(atom));
1058 pos = kbasep_serialize_bytes(buffer,
1059 pos, &lpu, sizeof(lpu));
1060
1061 kbase_tlstream_msgbuf_release(stream, acq_flags);
1062 }
1063
__kbase_tlstream_tl_ret_as_ctx(struct kbase_tlstream * stream,const void * address_space,const void * ctx)1064 void __kbase_tlstream_tl_ret_as_ctx(
1065 struct kbase_tlstream *stream,
1066 const void *address_space,
1067 const void *ctx)
1068 {
1069 const u32 msg_id = KBASE_TL_RET_AS_CTX;
1070 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1071 + sizeof(address_space)
1072 + sizeof(ctx)
1073 ;
1074 char *buffer;
1075 unsigned long acq_flags;
1076 size_t pos = 0;
1077
1078 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1079
1080 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1081 pos = kbasep_serialize_timestamp(buffer, pos);
1082 pos = kbasep_serialize_bytes(buffer,
1083 pos, &address_space, sizeof(address_space));
1084 pos = kbasep_serialize_bytes(buffer,
1085 pos, &ctx, sizeof(ctx));
1086
1087 kbase_tlstream_msgbuf_release(stream, acq_flags);
1088 }
1089
__kbase_tlstream_tl_nret_as_ctx(struct kbase_tlstream * stream,const void * address_space,const void * ctx)1090 void __kbase_tlstream_tl_nret_as_ctx(
1091 struct kbase_tlstream *stream,
1092 const void *address_space,
1093 const void *ctx)
1094 {
1095 const u32 msg_id = KBASE_TL_NRET_AS_CTX;
1096 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1097 + sizeof(address_space)
1098 + sizeof(ctx)
1099 ;
1100 char *buffer;
1101 unsigned long acq_flags;
1102 size_t pos = 0;
1103
1104 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1105
1106 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1107 pos = kbasep_serialize_timestamp(buffer, pos);
1108 pos = kbasep_serialize_bytes(buffer,
1109 pos, &address_space, sizeof(address_space));
1110 pos = kbasep_serialize_bytes(buffer,
1111 pos, &ctx, sizeof(ctx));
1112
1113 kbase_tlstream_msgbuf_release(stream, acq_flags);
1114 }
1115
__kbase_tlstream_tl_ret_atom_as(struct kbase_tlstream * stream,const void * atom,const void * address_space)1116 void __kbase_tlstream_tl_ret_atom_as(
1117 struct kbase_tlstream *stream,
1118 const void *atom,
1119 const void *address_space)
1120 {
1121 const u32 msg_id = KBASE_TL_RET_ATOM_AS;
1122 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1123 + sizeof(atom)
1124 + sizeof(address_space)
1125 ;
1126 char *buffer;
1127 unsigned long acq_flags;
1128 size_t pos = 0;
1129
1130 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1131
1132 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1133 pos = kbasep_serialize_timestamp(buffer, pos);
1134 pos = kbasep_serialize_bytes(buffer,
1135 pos, &atom, sizeof(atom));
1136 pos = kbasep_serialize_bytes(buffer,
1137 pos, &address_space, sizeof(address_space));
1138
1139 kbase_tlstream_msgbuf_release(stream, acq_flags);
1140 }
1141
__kbase_tlstream_tl_nret_atom_as(struct kbase_tlstream * stream,const void * atom,const void * address_space)1142 void __kbase_tlstream_tl_nret_atom_as(
1143 struct kbase_tlstream *stream,
1144 const void *atom,
1145 const void *address_space)
1146 {
1147 const u32 msg_id = KBASE_TL_NRET_ATOM_AS;
1148 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1149 + sizeof(atom)
1150 + sizeof(address_space)
1151 ;
1152 char *buffer;
1153 unsigned long acq_flags;
1154 size_t pos = 0;
1155
1156 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1157
1158 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1159 pos = kbasep_serialize_timestamp(buffer, pos);
1160 pos = kbasep_serialize_bytes(buffer,
1161 pos, &atom, sizeof(atom));
1162 pos = kbasep_serialize_bytes(buffer,
1163 pos, &address_space, sizeof(address_space));
1164
1165 kbase_tlstream_msgbuf_release(stream, acq_flags);
1166 }
1167
__kbase_tlstream_tl_attrib_atom_config(struct kbase_tlstream * stream,const void * atom,u64 descriptor,u64 affinity,u32 config)1168 void __kbase_tlstream_tl_attrib_atom_config(
1169 struct kbase_tlstream *stream,
1170 const void *atom,
1171 u64 descriptor,
1172 u64 affinity,
1173 u32 config)
1174 {
1175 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_CONFIG;
1176 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1177 + sizeof(atom)
1178 + sizeof(descriptor)
1179 + sizeof(affinity)
1180 + sizeof(config)
1181 ;
1182 char *buffer;
1183 unsigned long acq_flags;
1184 size_t pos = 0;
1185
1186 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1187
1188 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1189 pos = kbasep_serialize_timestamp(buffer, pos);
1190 pos = kbasep_serialize_bytes(buffer,
1191 pos, &atom, sizeof(atom));
1192 pos = kbasep_serialize_bytes(buffer,
1193 pos, &descriptor, sizeof(descriptor));
1194 pos = kbasep_serialize_bytes(buffer,
1195 pos, &affinity, sizeof(affinity));
1196 pos = kbasep_serialize_bytes(buffer,
1197 pos, &config, sizeof(config));
1198
1199 kbase_tlstream_msgbuf_release(stream, acq_flags);
1200 }
1201
__kbase_tlstream_tl_attrib_atom_priority(struct kbase_tlstream * stream,const void * atom,u32 prio)1202 void __kbase_tlstream_tl_attrib_atom_priority(
1203 struct kbase_tlstream *stream,
1204 const void *atom,
1205 u32 prio)
1206 {
1207 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITY;
1208 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1209 + sizeof(atom)
1210 + sizeof(prio)
1211 ;
1212 char *buffer;
1213 unsigned long acq_flags;
1214 size_t pos = 0;
1215
1216 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1217
1218 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1219 pos = kbasep_serialize_timestamp(buffer, pos);
1220 pos = kbasep_serialize_bytes(buffer,
1221 pos, &atom, sizeof(atom));
1222 pos = kbasep_serialize_bytes(buffer,
1223 pos, &prio, sizeof(prio));
1224
1225 kbase_tlstream_msgbuf_release(stream, acq_flags);
1226 }
1227
__kbase_tlstream_tl_attrib_atom_state(struct kbase_tlstream * stream,const void * atom,u32 state)1228 void __kbase_tlstream_tl_attrib_atom_state(
1229 struct kbase_tlstream *stream,
1230 const void *atom,
1231 u32 state)
1232 {
1233 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_STATE;
1234 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1235 + sizeof(atom)
1236 + sizeof(state)
1237 ;
1238 char *buffer;
1239 unsigned long acq_flags;
1240 size_t pos = 0;
1241
1242 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1243
1244 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1245 pos = kbasep_serialize_timestamp(buffer, pos);
1246 pos = kbasep_serialize_bytes(buffer,
1247 pos, &atom, sizeof(atom));
1248 pos = kbasep_serialize_bytes(buffer,
1249 pos, &state, sizeof(state));
1250
1251 kbase_tlstream_msgbuf_release(stream, acq_flags);
1252 }
1253
__kbase_tlstream_tl_attrib_atom_prioritized(struct kbase_tlstream * stream,const void * atom)1254 void __kbase_tlstream_tl_attrib_atom_prioritized(
1255 struct kbase_tlstream *stream,
1256 const void *atom)
1257 {
1258 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITIZED;
1259 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1260 + sizeof(atom)
1261 ;
1262 char *buffer;
1263 unsigned long acq_flags;
1264 size_t pos = 0;
1265
1266 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1267
1268 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1269 pos = kbasep_serialize_timestamp(buffer, pos);
1270 pos = kbasep_serialize_bytes(buffer,
1271 pos, &atom, sizeof(atom));
1272
1273 kbase_tlstream_msgbuf_release(stream, acq_flags);
1274 }
1275
__kbase_tlstream_tl_attrib_atom_jit(struct kbase_tlstream * stream,const void * atom,u64 edit_addr,u64 new_addr,u32 jit_flags,u64 mem_flags,u32 j_id,u64 com_pgs,u64 extent,u64 va_pgs)1276 void __kbase_tlstream_tl_attrib_atom_jit(
1277 struct kbase_tlstream *stream,
1278 const void *atom,
1279 u64 edit_addr,
1280 u64 new_addr,
1281 u32 jit_flags,
1282 u64 mem_flags,
1283 u32 j_id,
1284 u64 com_pgs,
1285 u64 extent,
1286 u64 va_pgs)
1287 {
1288 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JIT;
1289 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1290 + sizeof(atom)
1291 + sizeof(edit_addr)
1292 + sizeof(new_addr)
1293 + sizeof(jit_flags)
1294 + sizeof(mem_flags)
1295 + sizeof(j_id)
1296 + sizeof(com_pgs)
1297 + sizeof(extent)
1298 + sizeof(va_pgs)
1299 ;
1300 char *buffer;
1301 unsigned long acq_flags;
1302 size_t pos = 0;
1303
1304 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1305
1306 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1307 pos = kbasep_serialize_timestamp(buffer, pos);
1308 pos = kbasep_serialize_bytes(buffer,
1309 pos, &atom, sizeof(atom));
1310 pos = kbasep_serialize_bytes(buffer,
1311 pos, &edit_addr, sizeof(edit_addr));
1312 pos = kbasep_serialize_bytes(buffer,
1313 pos, &new_addr, sizeof(new_addr));
1314 pos = kbasep_serialize_bytes(buffer,
1315 pos, &jit_flags, sizeof(jit_flags));
1316 pos = kbasep_serialize_bytes(buffer,
1317 pos, &mem_flags, sizeof(mem_flags));
1318 pos = kbasep_serialize_bytes(buffer,
1319 pos, &j_id, sizeof(j_id));
1320 pos = kbasep_serialize_bytes(buffer,
1321 pos, &com_pgs, sizeof(com_pgs));
1322 pos = kbasep_serialize_bytes(buffer,
1323 pos, &extent, sizeof(extent));
1324 pos = kbasep_serialize_bytes(buffer,
1325 pos, &va_pgs, sizeof(va_pgs));
1326
1327 kbase_tlstream_msgbuf_release(stream, acq_flags);
1328 }
1329
__kbase_tlstream_tl_jit_usedpages(struct kbase_tlstream * stream,u64 used_pages,u32 j_id)1330 void __kbase_tlstream_tl_jit_usedpages(
1331 struct kbase_tlstream *stream,
1332 u64 used_pages,
1333 u32 j_id)
1334 {
1335 const u32 msg_id = KBASE_TL_JIT_USEDPAGES;
1336 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1337 + sizeof(used_pages)
1338 + sizeof(j_id)
1339 ;
1340 char *buffer;
1341 unsigned long acq_flags;
1342 size_t pos = 0;
1343
1344 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1345
1346 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1347 pos = kbasep_serialize_timestamp(buffer, pos);
1348 pos = kbasep_serialize_bytes(buffer,
1349 pos, &used_pages, sizeof(used_pages));
1350 pos = kbasep_serialize_bytes(buffer,
1351 pos, &j_id, sizeof(j_id));
1352
1353 kbase_tlstream_msgbuf_release(stream, acq_flags);
1354 }
1355
__kbase_tlstream_tl_attrib_atom_jitallocinfo(struct kbase_tlstream * stream,const void * atom,u64 va_pgs,u64 com_pgs,u64 extent,u32 j_id,u32 bin_id,u32 max_allocs,u32 jit_flags,u32 usg_id)1356 void __kbase_tlstream_tl_attrib_atom_jitallocinfo(
1357 struct kbase_tlstream *stream,
1358 const void *atom,
1359 u64 va_pgs,
1360 u64 com_pgs,
1361 u64 extent,
1362 u32 j_id,
1363 u32 bin_id,
1364 u32 max_allocs,
1365 u32 jit_flags,
1366 u32 usg_id)
1367 {
1368 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JITALLOCINFO;
1369 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1370 + sizeof(atom)
1371 + sizeof(va_pgs)
1372 + sizeof(com_pgs)
1373 + sizeof(extent)
1374 + sizeof(j_id)
1375 + sizeof(bin_id)
1376 + sizeof(max_allocs)
1377 + sizeof(jit_flags)
1378 + sizeof(usg_id)
1379 ;
1380 char *buffer;
1381 unsigned long acq_flags;
1382 size_t pos = 0;
1383
1384 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1385
1386 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1387 pos = kbasep_serialize_timestamp(buffer, pos);
1388 pos = kbasep_serialize_bytes(buffer,
1389 pos, &atom, sizeof(atom));
1390 pos = kbasep_serialize_bytes(buffer,
1391 pos, &va_pgs, sizeof(va_pgs));
1392 pos = kbasep_serialize_bytes(buffer,
1393 pos, &com_pgs, sizeof(com_pgs));
1394 pos = kbasep_serialize_bytes(buffer,
1395 pos, &extent, sizeof(extent));
1396 pos = kbasep_serialize_bytes(buffer,
1397 pos, &j_id, sizeof(j_id));
1398 pos = kbasep_serialize_bytes(buffer,
1399 pos, &bin_id, sizeof(bin_id));
1400 pos = kbasep_serialize_bytes(buffer,
1401 pos, &max_allocs, sizeof(max_allocs));
1402 pos = kbasep_serialize_bytes(buffer,
1403 pos, &jit_flags, sizeof(jit_flags));
1404 pos = kbasep_serialize_bytes(buffer,
1405 pos, &usg_id, sizeof(usg_id));
1406
1407 kbase_tlstream_msgbuf_release(stream, acq_flags);
1408 }
1409
__kbase_tlstream_tl_attrib_atom_jitfreeinfo(struct kbase_tlstream * stream,const void * atom,u32 j_id)1410 void __kbase_tlstream_tl_attrib_atom_jitfreeinfo(
1411 struct kbase_tlstream *stream,
1412 const void *atom,
1413 u32 j_id)
1414 {
1415 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JITFREEINFO;
1416 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1417 + sizeof(atom)
1418 + sizeof(j_id)
1419 ;
1420 char *buffer;
1421 unsigned long acq_flags;
1422 size_t pos = 0;
1423
1424 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1425
1426 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1427 pos = kbasep_serialize_timestamp(buffer, pos);
1428 pos = kbasep_serialize_bytes(buffer,
1429 pos, &atom, sizeof(atom));
1430 pos = kbasep_serialize_bytes(buffer,
1431 pos, &j_id, sizeof(j_id));
1432
1433 kbase_tlstream_msgbuf_release(stream, acq_flags);
1434 }
1435
__kbase_tlstream_tl_attrib_as_config(struct kbase_tlstream * stream,const void * address_space,u64 transtab,u64 memattr,u64 transcfg)1436 void __kbase_tlstream_tl_attrib_as_config(
1437 struct kbase_tlstream *stream,
1438 const void *address_space,
1439 u64 transtab,
1440 u64 memattr,
1441 u64 transcfg)
1442 {
1443 const u32 msg_id = KBASE_TL_ATTRIB_AS_CONFIG;
1444 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1445 + sizeof(address_space)
1446 + sizeof(transtab)
1447 + sizeof(memattr)
1448 + sizeof(transcfg)
1449 ;
1450 char *buffer;
1451 unsigned long acq_flags;
1452 size_t pos = 0;
1453
1454 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1455
1456 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1457 pos = kbasep_serialize_timestamp(buffer, pos);
1458 pos = kbasep_serialize_bytes(buffer,
1459 pos, &address_space, sizeof(address_space));
1460 pos = kbasep_serialize_bytes(buffer,
1461 pos, &transtab, sizeof(transtab));
1462 pos = kbasep_serialize_bytes(buffer,
1463 pos, &memattr, sizeof(memattr));
1464 pos = kbasep_serialize_bytes(buffer,
1465 pos, &transcfg, sizeof(transcfg));
1466
1467 kbase_tlstream_msgbuf_release(stream, acq_flags);
1468 }
1469
__kbase_tlstream_tl_event_lpu_softstop(struct kbase_tlstream * stream,const void * lpu)1470 void __kbase_tlstream_tl_event_lpu_softstop(
1471 struct kbase_tlstream *stream,
1472 const void *lpu)
1473 {
1474 const u32 msg_id = KBASE_TL_EVENT_LPU_SOFTSTOP;
1475 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1476 + sizeof(lpu)
1477 ;
1478 char *buffer;
1479 unsigned long acq_flags;
1480 size_t pos = 0;
1481
1482 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1483
1484 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1485 pos = kbasep_serialize_timestamp(buffer, pos);
1486 pos = kbasep_serialize_bytes(buffer,
1487 pos, &lpu, sizeof(lpu));
1488
1489 kbase_tlstream_msgbuf_release(stream, acq_flags);
1490 }
1491
__kbase_tlstream_tl_event_atom_softstop_ex(struct kbase_tlstream * stream,const void * atom)1492 void __kbase_tlstream_tl_event_atom_softstop_ex(
1493 struct kbase_tlstream *stream,
1494 const void *atom)
1495 {
1496 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTSTOP_EX;
1497 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1498 + sizeof(atom)
1499 ;
1500 char *buffer;
1501 unsigned long acq_flags;
1502 size_t pos = 0;
1503
1504 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1505
1506 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1507 pos = kbasep_serialize_timestamp(buffer, pos);
1508 pos = kbasep_serialize_bytes(buffer,
1509 pos, &atom, sizeof(atom));
1510
1511 kbase_tlstream_msgbuf_release(stream, acq_flags);
1512 }
1513
__kbase_tlstream_tl_event_atom_softstop_issue(struct kbase_tlstream * stream,const void * atom)1514 void __kbase_tlstream_tl_event_atom_softstop_issue(
1515 struct kbase_tlstream *stream,
1516 const void *atom)
1517 {
1518 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTSTOP_ISSUE;
1519 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1520 + sizeof(atom)
1521 ;
1522 char *buffer;
1523 unsigned long acq_flags;
1524 size_t pos = 0;
1525
1526 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1527
1528 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1529 pos = kbasep_serialize_timestamp(buffer, pos);
1530 pos = kbasep_serialize_bytes(buffer,
1531 pos, &atom, sizeof(atom));
1532
1533 kbase_tlstream_msgbuf_release(stream, acq_flags);
1534 }
1535
__kbase_tlstream_tl_event_atom_softjob_start(struct kbase_tlstream * stream,const void * atom)1536 void __kbase_tlstream_tl_event_atom_softjob_start(
1537 struct kbase_tlstream *stream,
1538 const void *atom)
1539 {
1540 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTJOB_START;
1541 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1542 + sizeof(atom)
1543 ;
1544 char *buffer;
1545 unsigned long acq_flags;
1546 size_t pos = 0;
1547
1548 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1549
1550 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1551 pos = kbasep_serialize_timestamp(buffer, pos);
1552 pos = kbasep_serialize_bytes(buffer,
1553 pos, &atom, sizeof(atom));
1554
1555 kbase_tlstream_msgbuf_release(stream, acq_flags);
1556 }
1557
__kbase_tlstream_tl_event_atom_softjob_end(struct kbase_tlstream * stream,const void * atom)1558 void __kbase_tlstream_tl_event_atom_softjob_end(
1559 struct kbase_tlstream *stream,
1560 const void *atom)
1561 {
1562 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTJOB_END;
1563 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1564 + sizeof(atom)
1565 ;
1566 char *buffer;
1567 unsigned long acq_flags;
1568 size_t pos = 0;
1569
1570 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1571
1572 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1573 pos = kbasep_serialize_timestamp(buffer, pos);
1574 pos = kbasep_serialize_bytes(buffer,
1575 pos, &atom, sizeof(atom));
1576
1577 kbase_tlstream_msgbuf_release(stream, acq_flags);
1578 }
1579
__kbase_tlstream_tl_arbiter_granted(struct kbase_tlstream * stream,const void * gpu)1580 void __kbase_tlstream_tl_arbiter_granted(
1581 struct kbase_tlstream *stream,
1582 const void *gpu)
1583 {
1584 const u32 msg_id = KBASE_TL_ARBITER_GRANTED;
1585 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1586 + sizeof(gpu)
1587 ;
1588 char *buffer;
1589 unsigned long acq_flags;
1590 size_t pos = 0;
1591
1592 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1593
1594 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1595 pos = kbasep_serialize_timestamp(buffer, pos);
1596 pos = kbasep_serialize_bytes(buffer,
1597 pos, &gpu, sizeof(gpu));
1598
1599 kbase_tlstream_msgbuf_release(stream, acq_flags);
1600 }
1601
__kbase_tlstream_tl_arbiter_started(struct kbase_tlstream * stream,const void * gpu)1602 void __kbase_tlstream_tl_arbiter_started(
1603 struct kbase_tlstream *stream,
1604 const void *gpu)
1605 {
1606 const u32 msg_id = KBASE_TL_ARBITER_STARTED;
1607 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1608 + sizeof(gpu)
1609 ;
1610 char *buffer;
1611 unsigned long acq_flags;
1612 size_t pos = 0;
1613
1614 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1615
1616 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1617 pos = kbasep_serialize_timestamp(buffer, pos);
1618 pos = kbasep_serialize_bytes(buffer,
1619 pos, &gpu, sizeof(gpu));
1620
1621 kbase_tlstream_msgbuf_release(stream, acq_flags);
1622 }
1623
__kbase_tlstream_tl_arbiter_stop_requested(struct kbase_tlstream * stream,const void * gpu)1624 void __kbase_tlstream_tl_arbiter_stop_requested(
1625 struct kbase_tlstream *stream,
1626 const void *gpu)
1627 {
1628 const u32 msg_id = KBASE_TL_ARBITER_STOP_REQUESTED;
1629 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1630 + sizeof(gpu)
1631 ;
1632 char *buffer;
1633 unsigned long acq_flags;
1634 size_t pos = 0;
1635
1636 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1637
1638 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1639 pos = kbasep_serialize_timestamp(buffer, pos);
1640 pos = kbasep_serialize_bytes(buffer,
1641 pos, &gpu, sizeof(gpu));
1642
1643 kbase_tlstream_msgbuf_release(stream, acq_flags);
1644 }
1645
__kbase_tlstream_tl_arbiter_stopped(struct kbase_tlstream * stream,const void * gpu)1646 void __kbase_tlstream_tl_arbiter_stopped(
1647 struct kbase_tlstream *stream,
1648 const void *gpu)
1649 {
1650 const u32 msg_id = KBASE_TL_ARBITER_STOPPED;
1651 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1652 + sizeof(gpu)
1653 ;
1654 char *buffer;
1655 unsigned long acq_flags;
1656 size_t pos = 0;
1657
1658 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1659
1660 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1661 pos = kbasep_serialize_timestamp(buffer, pos);
1662 pos = kbasep_serialize_bytes(buffer,
1663 pos, &gpu, sizeof(gpu));
1664
1665 kbase_tlstream_msgbuf_release(stream, acq_flags);
1666 }
1667
__kbase_tlstream_tl_arbiter_requested(struct kbase_tlstream * stream,const void * gpu)1668 void __kbase_tlstream_tl_arbiter_requested(
1669 struct kbase_tlstream *stream,
1670 const void *gpu)
1671 {
1672 const u32 msg_id = KBASE_TL_ARBITER_REQUESTED;
1673 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1674 + sizeof(gpu)
1675 ;
1676 char *buffer;
1677 unsigned long acq_flags;
1678 size_t pos = 0;
1679
1680 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1681
1682 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1683 pos = kbasep_serialize_timestamp(buffer, pos);
1684 pos = kbasep_serialize_bytes(buffer,
1685 pos, &gpu, sizeof(gpu));
1686
1687 kbase_tlstream_msgbuf_release(stream, acq_flags);
1688 }
1689
__kbase_tlstream_jd_gpu_soft_reset(struct kbase_tlstream * stream,const void * gpu)1690 void __kbase_tlstream_jd_gpu_soft_reset(
1691 struct kbase_tlstream *stream,
1692 const void *gpu)
1693 {
1694 const u32 msg_id = KBASE_JD_GPU_SOFT_RESET;
1695 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1696 + sizeof(gpu)
1697 ;
1698 char *buffer;
1699 unsigned long acq_flags;
1700 size_t pos = 0;
1701
1702 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1703
1704 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1705 pos = kbasep_serialize_timestamp(buffer, pos);
1706 pos = kbasep_serialize_bytes(buffer,
1707 pos, &gpu, sizeof(gpu));
1708
1709 kbase_tlstream_msgbuf_release(stream, acq_flags);
1710 }
1711
__kbase_tlstream_aux_pm_state(struct kbase_tlstream * stream,u32 core_type,u64 core_state_bitset)1712 void __kbase_tlstream_aux_pm_state(
1713 struct kbase_tlstream *stream,
1714 u32 core_type,
1715 u64 core_state_bitset)
1716 {
1717 const u32 msg_id = KBASE_AUX_PM_STATE;
1718 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1719 + sizeof(core_type)
1720 + sizeof(core_state_bitset)
1721 ;
1722 char *buffer;
1723 unsigned long acq_flags;
1724 size_t pos = 0;
1725
1726 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1727
1728 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1729 pos = kbasep_serialize_timestamp(buffer, pos);
1730 pos = kbasep_serialize_bytes(buffer,
1731 pos, &core_type, sizeof(core_type));
1732 pos = kbasep_serialize_bytes(buffer,
1733 pos, &core_state_bitset, sizeof(core_state_bitset));
1734
1735 kbase_tlstream_msgbuf_release(stream, acq_flags);
1736 }
1737
__kbase_tlstream_aux_pagefault(struct kbase_tlstream * stream,u32 ctx_nr,u32 as_nr,u64 page_cnt_change)1738 void __kbase_tlstream_aux_pagefault(
1739 struct kbase_tlstream *stream,
1740 u32 ctx_nr,
1741 u32 as_nr,
1742 u64 page_cnt_change)
1743 {
1744 const u32 msg_id = KBASE_AUX_PAGEFAULT;
1745 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1746 + sizeof(ctx_nr)
1747 + sizeof(as_nr)
1748 + sizeof(page_cnt_change)
1749 ;
1750 char *buffer;
1751 unsigned long acq_flags;
1752 size_t pos = 0;
1753
1754 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1755
1756 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1757 pos = kbasep_serialize_timestamp(buffer, pos);
1758 pos = kbasep_serialize_bytes(buffer,
1759 pos, &ctx_nr, sizeof(ctx_nr));
1760 pos = kbasep_serialize_bytes(buffer,
1761 pos, &as_nr, sizeof(as_nr));
1762 pos = kbasep_serialize_bytes(buffer,
1763 pos, &page_cnt_change, sizeof(page_cnt_change));
1764
1765 kbase_tlstream_msgbuf_release(stream, acq_flags);
1766 }
1767
__kbase_tlstream_aux_pagesalloc(struct kbase_tlstream * stream,u32 ctx_nr,u64 page_cnt)1768 void __kbase_tlstream_aux_pagesalloc(
1769 struct kbase_tlstream *stream,
1770 u32 ctx_nr,
1771 u64 page_cnt)
1772 {
1773 const u32 msg_id = KBASE_AUX_PAGESALLOC;
1774 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1775 + sizeof(ctx_nr)
1776 + sizeof(page_cnt)
1777 ;
1778 char *buffer;
1779 unsigned long acq_flags;
1780 size_t pos = 0;
1781
1782 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1783
1784 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1785 pos = kbasep_serialize_timestamp(buffer, pos);
1786 pos = kbasep_serialize_bytes(buffer,
1787 pos, &ctx_nr, sizeof(ctx_nr));
1788 pos = kbasep_serialize_bytes(buffer,
1789 pos, &page_cnt, sizeof(page_cnt));
1790
1791 kbase_tlstream_msgbuf_release(stream, acq_flags);
1792 }
1793
__kbase_tlstream_aux_devfreq_target(struct kbase_tlstream * stream,u64 target_freq)1794 void __kbase_tlstream_aux_devfreq_target(
1795 struct kbase_tlstream *stream,
1796 u64 target_freq)
1797 {
1798 const u32 msg_id = KBASE_AUX_DEVFREQ_TARGET;
1799 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1800 + sizeof(target_freq)
1801 ;
1802 char *buffer;
1803 unsigned long acq_flags;
1804 size_t pos = 0;
1805
1806 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1807
1808 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1809 pos = kbasep_serialize_timestamp(buffer, pos);
1810 pos = kbasep_serialize_bytes(buffer,
1811 pos, &target_freq, sizeof(target_freq));
1812
1813 kbase_tlstream_msgbuf_release(stream, acq_flags);
1814 }
1815
__kbase_tlstream_aux_protected_enter_start(struct kbase_tlstream * stream,const void * gpu)1816 void __kbase_tlstream_aux_protected_enter_start(
1817 struct kbase_tlstream *stream,
1818 const void *gpu)
1819 {
1820 const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_START;
1821 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1822 + sizeof(gpu)
1823 ;
1824 char *buffer;
1825 unsigned long acq_flags;
1826 size_t pos = 0;
1827
1828 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1829
1830 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1831 pos = kbasep_serialize_timestamp(buffer, pos);
1832 pos = kbasep_serialize_bytes(buffer,
1833 pos, &gpu, sizeof(gpu));
1834
1835 kbase_tlstream_msgbuf_release(stream, acq_flags);
1836 }
1837
__kbase_tlstream_aux_protected_enter_end(struct kbase_tlstream * stream,const void * gpu)1838 void __kbase_tlstream_aux_protected_enter_end(
1839 struct kbase_tlstream *stream,
1840 const void *gpu)
1841 {
1842 const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_END;
1843 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1844 + sizeof(gpu)
1845 ;
1846 char *buffer;
1847 unsigned long acq_flags;
1848 size_t pos = 0;
1849
1850 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1851
1852 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1853 pos = kbasep_serialize_timestamp(buffer, pos);
1854 pos = kbasep_serialize_bytes(buffer,
1855 pos, &gpu, sizeof(gpu));
1856
1857 kbase_tlstream_msgbuf_release(stream, acq_flags);
1858 }
1859
__kbase_tlstream_aux_protected_leave_start(struct kbase_tlstream * stream,const void * gpu)1860 void __kbase_tlstream_aux_protected_leave_start(
1861 struct kbase_tlstream *stream,
1862 const void *gpu)
1863 {
1864 const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_START;
1865 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1866 + sizeof(gpu)
1867 ;
1868 char *buffer;
1869 unsigned long acq_flags;
1870 size_t pos = 0;
1871
1872 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1873
1874 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1875 pos = kbasep_serialize_timestamp(buffer, pos);
1876 pos = kbasep_serialize_bytes(buffer,
1877 pos, &gpu, sizeof(gpu));
1878
1879 kbase_tlstream_msgbuf_release(stream, acq_flags);
1880 }
1881
__kbase_tlstream_aux_protected_leave_end(struct kbase_tlstream * stream,const void * gpu)1882 void __kbase_tlstream_aux_protected_leave_end(
1883 struct kbase_tlstream *stream,
1884 const void *gpu)
1885 {
1886 const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_END;
1887 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1888 + sizeof(gpu)
1889 ;
1890 char *buffer;
1891 unsigned long acq_flags;
1892 size_t pos = 0;
1893
1894 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1895
1896 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1897 pos = kbasep_serialize_timestamp(buffer, pos);
1898 pos = kbasep_serialize_bytes(buffer,
1899 pos, &gpu, sizeof(gpu));
1900
1901 kbase_tlstream_msgbuf_release(stream, acq_flags);
1902 }
1903
__kbase_tlstream_aux_jit_stats(struct kbase_tlstream * stream,u32 ctx_nr,u32 bid,u32 max_allocs,u32 allocs,u32 va_pages,u32 ph_pages)1904 void __kbase_tlstream_aux_jit_stats(
1905 struct kbase_tlstream *stream,
1906 u32 ctx_nr,
1907 u32 bid,
1908 u32 max_allocs,
1909 u32 allocs,
1910 u32 va_pages,
1911 u32 ph_pages)
1912 {
1913 const u32 msg_id = KBASE_AUX_JIT_STATS;
1914 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1915 + sizeof(ctx_nr)
1916 + sizeof(bid)
1917 + sizeof(max_allocs)
1918 + sizeof(allocs)
1919 + sizeof(va_pages)
1920 + sizeof(ph_pages)
1921 ;
1922 char *buffer;
1923 unsigned long acq_flags;
1924 size_t pos = 0;
1925
1926 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1927
1928 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1929 pos = kbasep_serialize_timestamp(buffer, pos);
1930 pos = kbasep_serialize_bytes(buffer,
1931 pos, &ctx_nr, sizeof(ctx_nr));
1932 pos = kbasep_serialize_bytes(buffer,
1933 pos, &bid, sizeof(bid));
1934 pos = kbasep_serialize_bytes(buffer,
1935 pos, &max_allocs, sizeof(max_allocs));
1936 pos = kbasep_serialize_bytes(buffer,
1937 pos, &allocs, sizeof(allocs));
1938 pos = kbasep_serialize_bytes(buffer,
1939 pos, &va_pages, sizeof(va_pages));
1940 pos = kbasep_serialize_bytes(buffer,
1941 pos, &ph_pages, sizeof(ph_pages));
1942
1943 kbase_tlstream_msgbuf_release(stream, acq_flags);
1944 }
1945
__kbase_tlstream_aux_tiler_heap_stats(struct kbase_tlstream * stream,u32 ctx_nr,u64 heap_id,u32 va_pages,u32 ph_pages,u32 max_chunks,u32 chunk_size,u32 chunk_count,u32 target_in_flight,u32 nr_in_flight)1946 void __kbase_tlstream_aux_tiler_heap_stats(
1947 struct kbase_tlstream *stream,
1948 u32 ctx_nr,
1949 u64 heap_id,
1950 u32 va_pages,
1951 u32 ph_pages,
1952 u32 max_chunks,
1953 u32 chunk_size,
1954 u32 chunk_count,
1955 u32 target_in_flight,
1956 u32 nr_in_flight)
1957 {
1958 const u32 msg_id = KBASE_AUX_TILER_HEAP_STATS;
1959 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1960 + sizeof(ctx_nr)
1961 + sizeof(heap_id)
1962 + sizeof(va_pages)
1963 + sizeof(ph_pages)
1964 + sizeof(max_chunks)
1965 + sizeof(chunk_size)
1966 + sizeof(chunk_count)
1967 + sizeof(target_in_flight)
1968 + sizeof(nr_in_flight)
1969 ;
1970 char *buffer;
1971 unsigned long acq_flags;
1972 size_t pos = 0;
1973
1974 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1975
1976 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1977 pos = kbasep_serialize_timestamp(buffer, pos);
1978 pos = kbasep_serialize_bytes(buffer,
1979 pos, &ctx_nr, sizeof(ctx_nr));
1980 pos = kbasep_serialize_bytes(buffer,
1981 pos, &heap_id, sizeof(heap_id));
1982 pos = kbasep_serialize_bytes(buffer,
1983 pos, &va_pages, sizeof(va_pages));
1984 pos = kbasep_serialize_bytes(buffer,
1985 pos, &ph_pages, sizeof(ph_pages));
1986 pos = kbasep_serialize_bytes(buffer,
1987 pos, &max_chunks, sizeof(max_chunks));
1988 pos = kbasep_serialize_bytes(buffer,
1989 pos, &chunk_size, sizeof(chunk_size));
1990 pos = kbasep_serialize_bytes(buffer,
1991 pos, &chunk_count, sizeof(chunk_count));
1992 pos = kbasep_serialize_bytes(buffer,
1993 pos, &target_in_flight, sizeof(target_in_flight));
1994 pos = kbasep_serialize_bytes(buffer,
1995 pos, &nr_in_flight, sizeof(nr_in_flight));
1996
1997 kbase_tlstream_msgbuf_release(stream, acq_flags);
1998 }
1999
__kbase_tlstream_aux_event_job_slot(struct kbase_tlstream * stream,const void * ctx,u32 slot_nr,u32 atom_nr,u32 event)2000 void __kbase_tlstream_aux_event_job_slot(
2001 struct kbase_tlstream *stream,
2002 const void *ctx,
2003 u32 slot_nr,
2004 u32 atom_nr,
2005 u32 event)
2006 {
2007 const u32 msg_id = KBASE_AUX_EVENT_JOB_SLOT;
2008 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2009 + sizeof(ctx)
2010 + sizeof(slot_nr)
2011 + sizeof(atom_nr)
2012 + sizeof(event)
2013 ;
2014 char *buffer;
2015 unsigned long acq_flags;
2016 size_t pos = 0;
2017
2018 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2019
2020 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2021 pos = kbasep_serialize_timestamp(buffer, pos);
2022 pos = kbasep_serialize_bytes(buffer,
2023 pos, &ctx, sizeof(ctx));
2024 pos = kbasep_serialize_bytes(buffer,
2025 pos, &slot_nr, sizeof(slot_nr));
2026 pos = kbasep_serialize_bytes(buffer,
2027 pos, &atom_nr, sizeof(atom_nr));
2028 pos = kbasep_serialize_bytes(buffer,
2029 pos, &event, sizeof(event));
2030
2031 kbase_tlstream_msgbuf_release(stream, acq_flags);
2032 }
2033
__kbase_tlstream_aux_mmu_command(struct kbase_tlstream * stream,u32 kernel_ctx_id,u32 mmu_cmd_id,u32 mmu_synchronicity,u64 mmu_lock_addr,u32 mmu_lock_page_num)2034 void __kbase_tlstream_aux_mmu_command(
2035 struct kbase_tlstream *stream,
2036 u32 kernel_ctx_id,
2037 u32 mmu_cmd_id,
2038 u32 mmu_synchronicity,
2039 u64 mmu_lock_addr,
2040 u32 mmu_lock_page_num)
2041 {
2042 const u32 msg_id = KBASE_AUX_MMU_COMMAND;
2043 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2044 + sizeof(kernel_ctx_id)
2045 + sizeof(mmu_cmd_id)
2046 + sizeof(mmu_synchronicity)
2047 + sizeof(mmu_lock_addr)
2048 + sizeof(mmu_lock_page_num)
2049 ;
2050 char *buffer;
2051 unsigned long acq_flags;
2052 size_t pos = 0;
2053
2054 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2055
2056 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2057 pos = kbasep_serialize_timestamp(buffer, pos);
2058 pos = kbasep_serialize_bytes(buffer,
2059 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2060 pos = kbasep_serialize_bytes(buffer,
2061 pos, &mmu_cmd_id, sizeof(mmu_cmd_id));
2062 pos = kbasep_serialize_bytes(buffer,
2063 pos, &mmu_synchronicity, sizeof(mmu_synchronicity));
2064 pos = kbasep_serialize_bytes(buffer,
2065 pos, &mmu_lock_addr, sizeof(mmu_lock_addr));
2066 pos = kbasep_serialize_bytes(buffer,
2067 pos, &mmu_lock_page_num, sizeof(mmu_lock_page_num));
2068
2069 kbase_tlstream_msgbuf_release(stream, acq_flags);
2070 }
2071
__kbase_tlstream_tl_kbase_new_device(struct kbase_tlstream * stream,u32 kbase_device_id,u32 kbase_device_gpu_core_count,u32 kbase_device_max_num_csgs,u32 kbase_device_as_count,u32 kbase_device_sb_entry_count,u32 kbase_device_has_cross_stream_sync,u32 kbase_device_supports_gpu_sleep)2072 void __kbase_tlstream_tl_kbase_new_device(
2073 struct kbase_tlstream *stream,
2074 u32 kbase_device_id,
2075 u32 kbase_device_gpu_core_count,
2076 u32 kbase_device_max_num_csgs,
2077 u32 kbase_device_as_count,
2078 u32 kbase_device_sb_entry_count,
2079 u32 kbase_device_has_cross_stream_sync,
2080 u32 kbase_device_supports_gpu_sleep)
2081 {
2082 const u32 msg_id = KBASE_TL_KBASE_NEW_DEVICE;
2083 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2084 + sizeof(kbase_device_id)
2085 + sizeof(kbase_device_gpu_core_count)
2086 + sizeof(kbase_device_max_num_csgs)
2087 + sizeof(kbase_device_as_count)
2088 + sizeof(kbase_device_sb_entry_count)
2089 + sizeof(kbase_device_has_cross_stream_sync)
2090 + sizeof(kbase_device_supports_gpu_sleep)
2091 ;
2092 char *buffer;
2093 unsigned long acq_flags;
2094 size_t pos = 0;
2095
2096 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2097
2098 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2099 pos = kbasep_serialize_timestamp(buffer, pos);
2100 pos = kbasep_serialize_bytes(buffer,
2101 pos, &kbase_device_id, sizeof(kbase_device_id));
2102 pos = kbasep_serialize_bytes(buffer,
2103 pos, &kbase_device_gpu_core_count, sizeof(kbase_device_gpu_core_count));
2104 pos = kbasep_serialize_bytes(buffer,
2105 pos, &kbase_device_max_num_csgs, sizeof(kbase_device_max_num_csgs));
2106 pos = kbasep_serialize_bytes(buffer,
2107 pos, &kbase_device_as_count, sizeof(kbase_device_as_count));
2108 pos = kbasep_serialize_bytes(buffer,
2109 pos, &kbase_device_sb_entry_count, sizeof(kbase_device_sb_entry_count));
2110 pos = kbasep_serialize_bytes(buffer,
2111 pos, &kbase_device_has_cross_stream_sync, sizeof(kbase_device_has_cross_stream_sync));
2112 pos = kbasep_serialize_bytes(buffer,
2113 pos, &kbase_device_supports_gpu_sleep, sizeof(kbase_device_supports_gpu_sleep));
2114
2115 kbase_tlstream_msgbuf_release(stream, acq_flags);
2116 }
2117
__kbase_tlstream_tl_kbase_device_program_csg(struct kbase_tlstream * stream,u32 kbase_device_id,u32 kernel_ctx_id,u32 gpu_cmdq_grp_handle,u32 kbase_device_csg_slot_index,u32 kbase_device_csg_slot_resumed)2118 void __kbase_tlstream_tl_kbase_device_program_csg(
2119 struct kbase_tlstream *stream,
2120 u32 kbase_device_id,
2121 u32 kernel_ctx_id,
2122 u32 gpu_cmdq_grp_handle,
2123 u32 kbase_device_csg_slot_index,
2124 u32 kbase_device_csg_slot_resumed)
2125 {
2126 const u32 msg_id = KBASE_TL_KBASE_DEVICE_PROGRAM_CSG;
2127 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2128 + sizeof(kbase_device_id)
2129 + sizeof(kernel_ctx_id)
2130 + sizeof(gpu_cmdq_grp_handle)
2131 + sizeof(kbase_device_csg_slot_index)
2132 + sizeof(kbase_device_csg_slot_resumed)
2133 ;
2134 char *buffer;
2135 unsigned long acq_flags;
2136 size_t pos = 0;
2137
2138 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2139
2140 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2141 pos = kbasep_serialize_timestamp(buffer, pos);
2142 pos = kbasep_serialize_bytes(buffer,
2143 pos, &kbase_device_id, sizeof(kbase_device_id));
2144 pos = kbasep_serialize_bytes(buffer,
2145 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2146 pos = kbasep_serialize_bytes(buffer,
2147 pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2148 pos = kbasep_serialize_bytes(buffer,
2149 pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2150 pos = kbasep_serialize_bytes(buffer,
2151 pos, &kbase_device_csg_slot_resumed, sizeof(kbase_device_csg_slot_resumed));
2152
2153 kbase_tlstream_msgbuf_release(stream, acq_flags);
2154 }
2155
__kbase_tlstream_tl_kbase_device_deprogram_csg(struct kbase_tlstream * stream,u32 kbase_device_id,u32 kbase_device_csg_slot_index)2156 void __kbase_tlstream_tl_kbase_device_deprogram_csg(
2157 struct kbase_tlstream *stream,
2158 u32 kbase_device_id,
2159 u32 kbase_device_csg_slot_index)
2160 {
2161 const u32 msg_id = KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG;
2162 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2163 + sizeof(kbase_device_id)
2164 + sizeof(kbase_device_csg_slot_index)
2165 ;
2166 char *buffer;
2167 unsigned long acq_flags;
2168 size_t pos = 0;
2169
2170 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2171
2172 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2173 pos = kbasep_serialize_timestamp(buffer, pos);
2174 pos = kbasep_serialize_bytes(buffer,
2175 pos, &kbase_device_id, sizeof(kbase_device_id));
2176 pos = kbasep_serialize_bytes(buffer,
2177 pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2178
2179 kbase_tlstream_msgbuf_release(stream, acq_flags);
2180 }
2181
__kbase_tlstream_tl_kbase_device_halt_csg(struct kbase_tlstream * stream,u32 kbase_device_id,u32 kbase_device_csg_slot_index)2182 void __kbase_tlstream_tl_kbase_device_halt_csg(
2183 struct kbase_tlstream *stream,
2184 u32 kbase_device_id,
2185 u32 kbase_device_csg_slot_index)
2186 {
2187 const u32 msg_id = KBASE_TL_KBASE_DEVICE_HALT_CSG;
2188 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2189 + sizeof(kbase_device_id)
2190 + sizeof(kbase_device_csg_slot_index)
2191 ;
2192 char *buffer;
2193 unsigned long acq_flags;
2194 size_t pos = 0;
2195
2196 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2197
2198 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2199 pos = kbasep_serialize_timestamp(buffer, pos);
2200 pos = kbasep_serialize_bytes(buffer,
2201 pos, &kbase_device_id, sizeof(kbase_device_id));
2202 pos = kbasep_serialize_bytes(buffer,
2203 pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2204
2205 kbase_tlstream_msgbuf_release(stream, acq_flags);
2206 }
2207
__kbase_tlstream_tl_kbase_new_ctx(struct kbase_tlstream * stream,u32 kernel_ctx_id,u32 kbase_device_id)2208 void __kbase_tlstream_tl_kbase_new_ctx(
2209 struct kbase_tlstream *stream,
2210 u32 kernel_ctx_id,
2211 u32 kbase_device_id)
2212 {
2213 const u32 msg_id = KBASE_TL_KBASE_NEW_CTX;
2214 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2215 + sizeof(kernel_ctx_id)
2216 + sizeof(kbase_device_id)
2217 ;
2218 char *buffer;
2219 unsigned long acq_flags;
2220 size_t pos = 0;
2221
2222 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2223
2224 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2225 pos = kbasep_serialize_timestamp(buffer, pos);
2226 pos = kbasep_serialize_bytes(buffer,
2227 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2228 pos = kbasep_serialize_bytes(buffer,
2229 pos, &kbase_device_id, sizeof(kbase_device_id));
2230
2231 kbase_tlstream_msgbuf_release(stream, acq_flags);
2232 }
2233
__kbase_tlstream_tl_kbase_del_ctx(struct kbase_tlstream * stream,u32 kernel_ctx_id)2234 void __kbase_tlstream_tl_kbase_del_ctx(
2235 struct kbase_tlstream *stream,
2236 u32 kernel_ctx_id)
2237 {
2238 const u32 msg_id = KBASE_TL_KBASE_DEL_CTX;
2239 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2240 + sizeof(kernel_ctx_id)
2241 ;
2242 char *buffer;
2243 unsigned long acq_flags;
2244 size_t pos = 0;
2245
2246 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2247
2248 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2249 pos = kbasep_serialize_timestamp(buffer, pos);
2250 pos = kbasep_serialize_bytes(buffer,
2251 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2252
2253 kbase_tlstream_msgbuf_release(stream, acq_flags);
2254 }
2255
__kbase_tlstream_tl_kbase_ctx_assign_as(struct kbase_tlstream * stream,u32 kernel_ctx_id,u32 kbase_device_as_index)2256 void __kbase_tlstream_tl_kbase_ctx_assign_as(
2257 struct kbase_tlstream *stream,
2258 u32 kernel_ctx_id,
2259 u32 kbase_device_as_index)
2260 {
2261 const u32 msg_id = KBASE_TL_KBASE_CTX_ASSIGN_AS;
2262 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2263 + sizeof(kernel_ctx_id)
2264 + sizeof(kbase_device_as_index)
2265 ;
2266 char *buffer;
2267 unsigned long acq_flags;
2268 size_t pos = 0;
2269
2270 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2271
2272 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2273 pos = kbasep_serialize_timestamp(buffer, pos);
2274 pos = kbasep_serialize_bytes(buffer,
2275 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2276 pos = kbasep_serialize_bytes(buffer,
2277 pos, &kbase_device_as_index, sizeof(kbase_device_as_index));
2278
2279 kbase_tlstream_msgbuf_release(stream, acq_flags);
2280 }
2281
__kbase_tlstream_tl_kbase_ctx_unassign_as(struct kbase_tlstream * stream,u32 kernel_ctx_id)2282 void __kbase_tlstream_tl_kbase_ctx_unassign_as(
2283 struct kbase_tlstream *stream,
2284 u32 kernel_ctx_id)
2285 {
2286 const u32 msg_id = KBASE_TL_KBASE_CTX_UNASSIGN_AS;
2287 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2288 + sizeof(kernel_ctx_id)
2289 ;
2290 char *buffer;
2291 unsigned long acq_flags;
2292 size_t pos = 0;
2293
2294 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2295
2296 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2297 pos = kbasep_serialize_timestamp(buffer, pos);
2298 pos = kbasep_serialize_bytes(buffer,
2299 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2300
2301 kbase_tlstream_msgbuf_release(stream, acq_flags);
2302 }
2303
__kbase_tlstream_tl_kbase_new_kcpuqueue(struct kbase_tlstream * stream,const void * kcpu_queue,u32 kernel_ctx_id,u32 kcpuq_num_pending_cmds)2304 void __kbase_tlstream_tl_kbase_new_kcpuqueue(
2305 struct kbase_tlstream *stream,
2306 const void *kcpu_queue,
2307 u32 kernel_ctx_id,
2308 u32 kcpuq_num_pending_cmds)
2309 {
2310 const u32 msg_id = KBASE_TL_KBASE_NEW_KCPUQUEUE;
2311 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2312 + sizeof(kcpu_queue)
2313 + sizeof(kernel_ctx_id)
2314 + sizeof(kcpuq_num_pending_cmds)
2315 ;
2316 char *buffer;
2317 unsigned long acq_flags;
2318 size_t pos = 0;
2319
2320 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2321
2322 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2323 pos = kbasep_serialize_timestamp(buffer, pos);
2324 pos = kbasep_serialize_bytes(buffer,
2325 pos, &kcpu_queue, sizeof(kcpu_queue));
2326 pos = kbasep_serialize_bytes(buffer,
2327 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2328 pos = kbasep_serialize_bytes(buffer,
2329 pos, &kcpuq_num_pending_cmds, sizeof(kcpuq_num_pending_cmds));
2330
2331 kbase_tlstream_msgbuf_release(stream, acq_flags);
2332 }
2333
__kbase_tlstream_tl_kbase_del_kcpuqueue(struct kbase_tlstream * stream,const void * kcpu_queue)2334 void __kbase_tlstream_tl_kbase_del_kcpuqueue(
2335 struct kbase_tlstream *stream,
2336 const void *kcpu_queue)
2337 {
2338 const u32 msg_id = KBASE_TL_KBASE_DEL_KCPUQUEUE;
2339 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2340 + sizeof(kcpu_queue)
2341 ;
2342 char *buffer;
2343 unsigned long acq_flags;
2344 size_t pos = 0;
2345
2346 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2347
2348 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2349 pos = kbasep_serialize_timestamp(buffer, pos);
2350 pos = kbasep_serialize_bytes(buffer,
2351 pos, &kcpu_queue, sizeof(kcpu_queue));
2352
2353 kbase_tlstream_msgbuf_release(stream, acq_flags);
2354 }
2355
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_signal(struct kbase_tlstream * stream,const void * kcpu_queue,const void * fence)2356 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_signal(
2357 struct kbase_tlstream *stream,
2358 const void *kcpu_queue,
2359 const void *fence)
2360 {
2361 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_SIGNAL;
2362 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2363 + sizeof(kcpu_queue)
2364 + sizeof(fence)
2365 ;
2366 char *buffer;
2367 unsigned long acq_flags;
2368 size_t pos = 0;
2369
2370 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2371
2372 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2373 pos = kbasep_serialize_timestamp(buffer, pos);
2374 pos = kbasep_serialize_bytes(buffer,
2375 pos, &kcpu_queue, sizeof(kcpu_queue));
2376 pos = kbasep_serialize_bytes(buffer,
2377 pos, &fence, sizeof(fence));
2378
2379 kbase_tlstream_msgbuf_release(stream, acq_flags);
2380 }
2381
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_wait(struct kbase_tlstream * stream,const void * kcpu_queue,const void * fence)2382 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_wait(
2383 struct kbase_tlstream *stream,
2384 const void *kcpu_queue,
2385 const void *fence)
2386 {
2387 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_WAIT;
2388 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2389 + sizeof(kcpu_queue)
2390 + sizeof(fence)
2391 ;
2392 char *buffer;
2393 unsigned long acq_flags;
2394 size_t pos = 0;
2395
2396 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2397
2398 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2399 pos = kbasep_serialize_timestamp(buffer, pos);
2400 pos = kbasep_serialize_bytes(buffer,
2401 pos, &kcpu_queue, sizeof(kcpu_queue));
2402 pos = kbasep_serialize_bytes(buffer,
2403 pos, &fence, sizeof(fence));
2404
2405 kbase_tlstream_msgbuf_release(stream, acq_flags);
2406 }
2407
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_wait(struct kbase_tlstream * stream,const void * kcpu_queue,u64 cqs_obj_gpu_addr,u32 cqs_obj_compare_value,u32 cqs_obj_inherit_error)2408 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_wait(
2409 struct kbase_tlstream *stream,
2410 const void *kcpu_queue,
2411 u64 cqs_obj_gpu_addr,
2412 u32 cqs_obj_compare_value,
2413 u32 cqs_obj_inherit_error)
2414 {
2415 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT;
2416 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2417 + sizeof(kcpu_queue)
2418 + sizeof(cqs_obj_gpu_addr)
2419 + sizeof(cqs_obj_compare_value)
2420 + sizeof(cqs_obj_inherit_error)
2421 ;
2422 char *buffer;
2423 unsigned long acq_flags;
2424 size_t pos = 0;
2425
2426 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2427
2428 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2429 pos = kbasep_serialize_timestamp(buffer, pos);
2430 pos = kbasep_serialize_bytes(buffer,
2431 pos, &kcpu_queue, sizeof(kcpu_queue));
2432 pos = kbasep_serialize_bytes(buffer,
2433 pos, &cqs_obj_gpu_addr, sizeof(cqs_obj_gpu_addr));
2434 pos = kbasep_serialize_bytes(buffer,
2435 pos, &cqs_obj_compare_value, sizeof(cqs_obj_compare_value));
2436 pos = kbasep_serialize_bytes(buffer,
2437 pos, &cqs_obj_inherit_error, sizeof(cqs_obj_inherit_error));
2438
2439 kbase_tlstream_msgbuf_release(stream, acq_flags);
2440 }
2441
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_set(struct kbase_tlstream * stream,const void * kcpu_queue,u64 cqs_obj_gpu_addr)2442 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_set(
2443 struct kbase_tlstream *stream,
2444 const void *kcpu_queue,
2445 u64 cqs_obj_gpu_addr)
2446 {
2447 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET;
2448 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2449 + sizeof(kcpu_queue)
2450 + sizeof(cqs_obj_gpu_addr)
2451 ;
2452 char *buffer;
2453 unsigned long acq_flags;
2454 size_t pos = 0;
2455
2456 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2457
2458 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2459 pos = kbasep_serialize_timestamp(buffer, pos);
2460 pos = kbasep_serialize_bytes(buffer,
2461 pos, &kcpu_queue, sizeof(kcpu_queue));
2462 pos = kbasep_serialize_bytes(buffer,
2463 pos, &cqs_obj_gpu_addr, sizeof(cqs_obj_gpu_addr));
2464
2465 kbase_tlstream_msgbuf_release(stream, acq_flags);
2466 }
2467
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_map_import(struct kbase_tlstream * stream,const void * kcpu_queue,u64 map_import_buf_gpu_addr)2468 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_map_import(
2469 struct kbase_tlstream *stream,
2470 const void *kcpu_queue,
2471 u64 map_import_buf_gpu_addr)
2472 {
2473 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT;
2474 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2475 + sizeof(kcpu_queue)
2476 + sizeof(map_import_buf_gpu_addr)
2477 ;
2478 char *buffer;
2479 unsigned long acq_flags;
2480 size_t pos = 0;
2481
2482 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2483
2484 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2485 pos = kbasep_serialize_timestamp(buffer, pos);
2486 pos = kbasep_serialize_bytes(buffer,
2487 pos, &kcpu_queue, sizeof(kcpu_queue));
2488 pos = kbasep_serialize_bytes(buffer,
2489 pos, &map_import_buf_gpu_addr, sizeof(map_import_buf_gpu_addr));
2490
2491 kbase_tlstream_msgbuf_release(stream, acq_flags);
2492 }
2493
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import(struct kbase_tlstream * stream,const void * kcpu_queue,u64 map_import_buf_gpu_addr)2494 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import(
2495 struct kbase_tlstream *stream,
2496 const void *kcpu_queue,
2497 u64 map_import_buf_gpu_addr)
2498 {
2499 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT;
2500 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2501 + sizeof(kcpu_queue)
2502 + sizeof(map_import_buf_gpu_addr)
2503 ;
2504 char *buffer;
2505 unsigned long acq_flags;
2506 size_t pos = 0;
2507
2508 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2509
2510 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2511 pos = kbasep_serialize_timestamp(buffer, pos);
2512 pos = kbasep_serialize_bytes(buffer,
2513 pos, &kcpu_queue, sizeof(kcpu_queue));
2514 pos = kbasep_serialize_bytes(buffer,
2515 pos, &map_import_buf_gpu_addr, sizeof(map_import_buf_gpu_addr));
2516
2517 kbase_tlstream_msgbuf_release(stream, acq_flags);
2518 }
2519
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import_force(struct kbase_tlstream * stream,const void * kcpu_queue,u64 map_import_buf_gpu_addr)2520 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import_force(
2521 struct kbase_tlstream *stream,
2522 const void *kcpu_queue,
2523 u64 map_import_buf_gpu_addr)
2524 {
2525 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT_FORCE;
2526 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2527 + sizeof(kcpu_queue)
2528 + sizeof(map_import_buf_gpu_addr)
2529 ;
2530 char *buffer;
2531 unsigned long acq_flags;
2532 size_t pos = 0;
2533
2534 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2535
2536 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2537 pos = kbasep_serialize_timestamp(buffer, pos);
2538 pos = kbasep_serialize_bytes(buffer,
2539 pos, &kcpu_queue, sizeof(kcpu_queue));
2540 pos = kbasep_serialize_bytes(buffer,
2541 pos, &map_import_buf_gpu_addr, sizeof(map_import_buf_gpu_addr));
2542
2543 kbase_tlstream_msgbuf_release(stream, acq_flags);
2544 }
2545
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_error_barrier(struct kbase_tlstream * stream,const void * kcpu_queue)2546 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_error_barrier(
2547 struct kbase_tlstream *stream,
2548 const void *kcpu_queue)
2549 {
2550 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER;
2551 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2552 + sizeof(kcpu_queue)
2553 ;
2554 char *buffer;
2555 unsigned long acq_flags;
2556 size_t pos = 0;
2557
2558 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2559
2560 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2561 pos = kbasep_serialize_timestamp(buffer, pos);
2562 pos = kbasep_serialize_bytes(buffer,
2563 pos, &kcpu_queue, sizeof(kcpu_queue));
2564
2565 kbase_tlstream_msgbuf_release(stream, acq_flags);
2566 }
2567
__kbase_tlstream_tl_kbase_kcpuqueue_enqueue_group_suspend(struct kbase_tlstream * stream,const void * kcpu_queue,const void * group_suspend_buf,u32 gpu_cmdq_grp_handle)2568 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_group_suspend(
2569 struct kbase_tlstream *stream,
2570 const void *kcpu_queue,
2571 const void *group_suspend_buf,
2572 u32 gpu_cmdq_grp_handle)
2573 {
2574 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND;
2575 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2576 + sizeof(kcpu_queue)
2577 + sizeof(group_suspend_buf)
2578 + sizeof(gpu_cmdq_grp_handle)
2579 ;
2580 char *buffer;
2581 unsigned long acq_flags;
2582 size_t pos = 0;
2583
2584 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2585
2586 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2587 pos = kbasep_serialize_timestamp(buffer, pos);
2588 pos = kbasep_serialize_bytes(buffer,
2589 pos, &kcpu_queue, sizeof(kcpu_queue));
2590 pos = kbasep_serialize_bytes(buffer,
2591 pos, &group_suspend_buf, sizeof(group_suspend_buf));
2592 pos = kbasep_serialize_bytes(buffer,
2593 pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2594
2595 kbase_tlstream_msgbuf_release(stream, acq_flags);
2596 }
2597
__kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_alloc(struct kbase_tlstream * stream,const void * kcpu_queue)2598 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_alloc(
2599 struct kbase_tlstream *stream,
2600 const void *kcpu_queue)
2601 {
2602 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
2603 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2604 + sizeof(kcpu_queue)
2605 ;
2606 char *buffer;
2607 unsigned long acq_flags;
2608 size_t pos = 0;
2609
2610 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2611
2612 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2613 pos = kbasep_serialize_timestamp(buffer, pos);
2614 pos = kbasep_serialize_bytes(buffer,
2615 pos, &kcpu_queue, sizeof(kcpu_queue));
2616
2617 kbase_tlstream_msgbuf_release(stream, acq_flags);
2618 }
2619
__kbase_tlstream_tl_kbase_array_item_kcpuqueue_enqueue_jit_alloc(struct kbase_tlstream * stream,const void * kcpu_queue,u64 jit_alloc_gpu_alloc_addr_dest,u64 jit_alloc_va_pages,u64 jit_alloc_commit_pages,u64 jit_alloc_extent,u32 jit_alloc_jit_id,u32 jit_alloc_bin_id,u32 jit_alloc_max_allocations,u32 jit_alloc_flags,u32 jit_alloc_usage_id)2620 void __kbase_tlstream_tl_kbase_array_item_kcpuqueue_enqueue_jit_alloc(
2621 struct kbase_tlstream *stream,
2622 const void *kcpu_queue,
2623 u64 jit_alloc_gpu_alloc_addr_dest,
2624 u64 jit_alloc_va_pages,
2625 u64 jit_alloc_commit_pages,
2626 u64 jit_alloc_extent,
2627 u32 jit_alloc_jit_id,
2628 u32 jit_alloc_bin_id,
2629 u32 jit_alloc_max_allocations,
2630 u32 jit_alloc_flags,
2631 u32 jit_alloc_usage_id)
2632 {
2633 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
2634 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2635 + sizeof(kcpu_queue)
2636 + sizeof(jit_alloc_gpu_alloc_addr_dest)
2637 + sizeof(jit_alloc_va_pages)
2638 + sizeof(jit_alloc_commit_pages)
2639 + sizeof(jit_alloc_extent)
2640 + sizeof(jit_alloc_jit_id)
2641 + sizeof(jit_alloc_bin_id)
2642 + sizeof(jit_alloc_max_allocations)
2643 + sizeof(jit_alloc_flags)
2644 + sizeof(jit_alloc_usage_id)
2645 ;
2646 char *buffer;
2647 unsigned long acq_flags;
2648 size_t pos = 0;
2649
2650 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2651
2652 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2653 pos = kbasep_serialize_timestamp(buffer, pos);
2654 pos = kbasep_serialize_bytes(buffer,
2655 pos, &kcpu_queue, sizeof(kcpu_queue));
2656 pos = kbasep_serialize_bytes(buffer,
2657 pos, &jit_alloc_gpu_alloc_addr_dest, sizeof(jit_alloc_gpu_alloc_addr_dest));
2658 pos = kbasep_serialize_bytes(buffer,
2659 pos, &jit_alloc_va_pages, sizeof(jit_alloc_va_pages));
2660 pos = kbasep_serialize_bytes(buffer,
2661 pos, &jit_alloc_commit_pages, sizeof(jit_alloc_commit_pages));
2662 pos = kbasep_serialize_bytes(buffer,
2663 pos, &jit_alloc_extent, sizeof(jit_alloc_extent));
2664 pos = kbasep_serialize_bytes(buffer,
2665 pos, &jit_alloc_jit_id, sizeof(jit_alloc_jit_id));
2666 pos = kbasep_serialize_bytes(buffer,
2667 pos, &jit_alloc_bin_id, sizeof(jit_alloc_bin_id));
2668 pos = kbasep_serialize_bytes(buffer,
2669 pos, &jit_alloc_max_allocations, sizeof(jit_alloc_max_allocations));
2670 pos = kbasep_serialize_bytes(buffer,
2671 pos, &jit_alloc_flags, sizeof(jit_alloc_flags));
2672 pos = kbasep_serialize_bytes(buffer,
2673 pos, &jit_alloc_usage_id, sizeof(jit_alloc_usage_id));
2674
2675 kbase_tlstream_msgbuf_release(stream, acq_flags);
2676 }
2677
__kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_alloc(struct kbase_tlstream * stream,const void * kcpu_queue)2678 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_alloc(
2679 struct kbase_tlstream *stream,
2680 const void *kcpu_queue)
2681 {
2682 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
2683 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2684 + sizeof(kcpu_queue)
2685 ;
2686 char *buffer;
2687 unsigned long acq_flags;
2688 size_t pos = 0;
2689
2690 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2691
2692 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2693 pos = kbasep_serialize_timestamp(buffer, pos);
2694 pos = kbasep_serialize_bytes(buffer,
2695 pos, &kcpu_queue, sizeof(kcpu_queue));
2696
2697 kbase_tlstream_msgbuf_release(stream, acq_flags);
2698 }
2699
__kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_free(struct kbase_tlstream * stream,const void * kcpu_queue)2700 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_free(
2701 struct kbase_tlstream *stream,
2702 const void *kcpu_queue)
2703 {
2704 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_FREE;
2705 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2706 + sizeof(kcpu_queue)
2707 ;
2708 char *buffer;
2709 unsigned long acq_flags;
2710 size_t pos = 0;
2711
2712 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2713
2714 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2715 pos = kbasep_serialize_timestamp(buffer, pos);
2716 pos = kbasep_serialize_bytes(buffer,
2717 pos, &kcpu_queue, sizeof(kcpu_queue));
2718
2719 kbase_tlstream_msgbuf_release(stream, acq_flags);
2720 }
2721
__kbase_tlstream_tl_kbase_array_item_kcpuqueue_enqueue_jit_free(struct kbase_tlstream * stream,const void * kcpu_queue,u32 jit_alloc_jit_id)2722 void __kbase_tlstream_tl_kbase_array_item_kcpuqueue_enqueue_jit_free(
2723 struct kbase_tlstream *stream,
2724 const void *kcpu_queue,
2725 u32 jit_alloc_jit_id)
2726 {
2727 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_FREE;
2728 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2729 + sizeof(kcpu_queue)
2730 + sizeof(jit_alloc_jit_id)
2731 ;
2732 char *buffer;
2733 unsigned long acq_flags;
2734 size_t pos = 0;
2735
2736 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2737
2738 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2739 pos = kbasep_serialize_timestamp(buffer, pos);
2740 pos = kbasep_serialize_bytes(buffer,
2741 pos, &kcpu_queue, sizeof(kcpu_queue));
2742 pos = kbasep_serialize_bytes(buffer,
2743 pos, &jit_alloc_jit_id, sizeof(jit_alloc_jit_id));
2744
2745 kbase_tlstream_msgbuf_release(stream, acq_flags);
2746 }
2747
__kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_free(struct kbase_tlstream * stream,const void * kcpu_queue)2748 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_free(
2749 struct kbase_tlstream *stream,
2750 const void *kcpu_queue)
2751 {
2752 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_FREE;
2753 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2754 + sizeof(kcpu_queue)
2755 ;
2756 char *buffer;
2757 unsigned long acq_flags;
2758 size_t pos = 0;
2759
2760 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2761
2762 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2763 pos = kbasep_serialize_timestamp(buffer, pos);
2764 pos = kbasep_serialize_bytes(buffer,
2765 pos, &kcpu_queue, sizeof(kcpu_queue));
2766
2767 kbase_tlstream_msgbuf_release(stream, acq_flags);
2768 }
2769
__kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_start(struct kbase_tlstream * stream,const void * kcpu_queue)2770 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_start(
2771 struct kbase_tlstream *stream,
2772 const void *kcpu_queue)
2773 {
2774 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START;
2775 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2776 + sizeof(kcpu_queue)
2777 ;
2778 char *buffer;
2779 unsigned long acq_flags;
2780 size_t pos = 0;
2781
2782 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2783
2784 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2785 pos = kbasep_serialize_timestamp(buffer, pos);
2786 pos = kbasep_serialize_bytes(buffer,
2787 pos, &kcpu_queue, sizeof(kcpu_queue));
2788
2789 kbase_tlstream_msgbuf_release(stream, acq_flags);
2790 }
2791
__kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)2792 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_end(
2793 struct kbase_tlstream *stream,
2794 const void *kcpu_queue,
2795 u32 execute_error)
2796 {
2797 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_END;
2798 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2799 + sizeof(kcpu_queue)
2800 + sizeof(execute_error)
2801 ;
2802 char *buffer;
2803 unsigned long acq_flags;
2804 size_t pos = 0;
2805
2806 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2807
2808 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2809 pos = kbasep_serialize_timestamp(buffer, pos);
2810 pos = kbasep_serialize_bytes(buffer,
2811 pos, &kcpu_queue, sizeof(kcpu_queue));
2812 pos = kbasep_serialize_bytes(buffer,
2813 pos, &execute_error, sizeof(execute_error));
2814
2815 kbase_tlstream_msgbuf_release(stream, acq_flags);
2816 }
2817
__kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_start(struct kbase_tlstream * stream,const void * kcpu_queue)2818 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_start(
2819 struct kbase_tlstream *stream,
2820 const void *kcpu_queue)
2821 {
2822 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_START;
2823 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2824 + sizeof(kcpu_queue)
2825 ;
2826 char *buffer;
2827 unsigned long acq_flags;
2828 size_t pos = 0;
2829
2830 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2831
2832 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2833 pos = kbasep_serialize_timestamp(buffer, pos);
2834 pos = kbasep_serialize_bytes(buffer,
2835 pos, &kcpu_queue, sizeof(kcpu_queue));
2836
2837 kbase_tlstream_msgbuf_release(stream, acq_flags);
2838 }
2839
__kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)2840 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_end(
2841 struct kbase_tlstream *stream,
2842 const void *kcpu_queue,
2843 u32 execute_error)
2844 {
2845 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_END;
2846 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2847 + sizeof(kcpu_queue)
2848 + sizeof(execute_error)
2849 ;
2850 char *buffer;
2851 unsigned long acq_flags;
2852 size_t pos = 0;
2853
2854 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2855
2856 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2857 pos = kbasep_serialize_timestamp(buffer, pos);
2858 pos = kbasep_serialize_bytes(buffer,
2859 pos, &kcpu_queue, sizeof(kcpu_queue));
2860 pos = kbasep_serialize_bytes(buffer,
2861 pos, &execute_error, sizeof(execute_error));
2862
2863 kbase_tlstream_msgbuf_release(stream, acq_flags);
2864 }
2865
__kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_start(struct kbase_tlstream * stream,const void * kcpu_queue)2866 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_start(
2867 struct kbase_tlstream *stream,
2868 const void *kcpu_queue)
2869 {
2870 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START;
2871 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2872 + sizeof(kcpu_queue)
2873 ;
2874 char *buffer;
2875 unsigned long acq_flags;
2876 size_t pos = 0;
2877
2878 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2879
2880 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2881 pos = kbasep_serialize_timestamp(buffer, pos);
2882 pos = kbasep_serialize_bytes(buffer,
2883 pos, &kcpu_queue, sizeof(kcpu_queue));
2884
2885 kbase_tlstream_msgbuf_release(stream, acq_flags);
2886 }
2887
__kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)2888 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_end(
2889 struct kbase_tlstream *stream,
2890 const void *kcpu_queue,
2891 u32 execute_error)
2892 {
2893 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END;
2894 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2895 + sizeof(kcpu_queue)
2896 + sizeof(execute_error)
2897 ;
2898 char *buffer;
2899 unsigned long acq_flags;
2900 size_t pos = 0;
2901
2902 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2903
2904 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2905 pos = kbasep_serialize_timestamp(buffer, pos);
2906 pos = kbasep_serialize_bytes(buffer,
2907 pos, &kcpu_queue, sizeof(kcpu_queue));
2908 pos = kbasep_serialize_bytes(buffer,
2909 pos, &execute_error, sizeof(execute_error));
2910
2911 kbase_tlstream_msgbuf_release(stream, acq_flags);
2912 }
2913
__kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_set(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)2914 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_set(
2915 struct kbase_tlstream *stream,
2916 const void *kcpu_queue,
2917 u32 execute_error)
2918 {
2919 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET;
2920 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2921 + sizeof(kcpu_queue)
2922 + sizeof(execute_error)
2923 ;
2924 char *buffer;
2925 unsigned long acq_flags;
2926 size_t pos = 0;
2927
2928 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2929
2930 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2931 pos = kbasep_serialize_timestamp(buffer, pos);
2932 pos = kbasep_serialize_bytes(buffer,
2933 pos, &kcpu_queue, sizeof(kcpu_queue));
2934 pos = kbasep_serialize_bytes(buffer,
2935 pos, &execute_error, sizeof(execute_error));
2936
2937 kbase_tlstream_msgbuf_release(stream, acq_flags);
2938 }
2939
__kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_start(struct kbase_tlstream * stream,const void * kcpu_queue)2940 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_start(
2941 struct kbase_tlstream *stream,
2942 const void *kcpu_queue)
2943 {
2944 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START;
2945 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2946 + sizeof(kcpu_queue)
2947 ;
2948 char *buffer;
2949 unsigned long acq_flags;
2950 size_t pos = 0;
2951
2952 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2953
2954 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2955 pos = kbasep_serialize_timestamp(buffer, pos);
2956 pos = kbasep_serialize_bytes(buffer,
2957 pos, &kcpu_queue, sizeof(kcpu_queue));
2958
2959 kbase_tlstream_msgbuf_release(stream, acq_flags);
2960 }
2961
__kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)2962 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_end(
2963 struct kbase_tlstream *stream,
2964 const void *kcpu_queue,
2965 u32 execute_error)
2966 {
2967 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_END;
2968 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2969 + sizeof(kcpu_queue)
2970 + sizeof(execute_error)
2971 ;
2972 char *buffer;
2973 unsigned long acq_flags;
2974 size_t pos = 0;
2975
2976 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2977
2978 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2979 pos = kbasep_serialize_timestamp(buffer, pos);
2980 pos = kbasep_serialize_bytes(buffer,
2981 pos, &kcpu_queue, sizeof(kcpu_queue));
2982 pos = kbasep_serialize_bytes(buffer,
2983 pos, &execute_error, sizeof(execute_error));
2984
2985 kbase_tlstream_msgbuf_release(stream, acq_flags);
2986 }
2987
__kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_start(struct kbase_tlstream * stream,const void * kcpu_queue)2988 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_start(
2989 struct kbase_tlstream *stream,
2990 const void *kcpu_queue)
2991 {
2992 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_START;
2993 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2994 + sizeof(kcpu_queue)
2995 ;
2996 char *buffer;
2997 unsigned long acq_flags;
2998 size_t pos = 0;
2999
3000 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3001
3002 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3003 pos = kbasep_serialize_timestamp(buffer, pos);
3004 pos = kbasep_serialize_bytes(buffer,
3005 pos, &kcpu_queue, sizeof(kcpu_queue));
3006
3007 kbase_tlstream_msgbuf_release(stream, acq_flags);
3008 }
3009
__kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)3010 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_end(
3011 struct kbase_tlstream *stream,
3012 const void *kcpu_queue,
3013 u32 execute_error)
3014 {
3015 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_END;
3016 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3017 + sizeof(kcpu_queue)
3018 + sizeof(execute_error)
3019 ;
3020 char *buffer;
3021 unsigned long acq_flags;
3022 size_t pos = 0;
3023
3024 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3025
3026 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3027 pos = kbasep_serialize_timestamp(buffer, pos);
3028 pos = kbasep_serialize_bytes(buffer,
3029 pos, &kcpu_queue, sizeof(kcpu_queue));
3030 pos = kbasep_serialize_bytes(buffer,
3031 pos, &execute_error, sizeof(execute_error));
3032
3033 kbase_tlstream_msgbuf_release(stream, acq_flags);
3034 }
3035
__kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_start(struct kbase_tlstream * stream,const void * kcpu_queue)3036 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_start(
3037 struct kbase_tlstream *stream,
3038 const void *kcpu_queue)
3039 {
3040 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_START;
3041 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3042 + sizeof(kcpu_queue)
3043 ;
3044 char *buffer;
3045 unsigned long acq_flags;
3046 size_t pos = 0;
3047
3048 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3049
3050 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3051 pos = kbasep_serialize_timestamp(buffer, pos);
3052 pos = kbasep_serialize_bytes(buffer,
3053 pos, &kcpu_queue, sizeof(kcpu_queue));
3054
3055 kbase_tlstream_msgbuf_release(stream, acq_flags);
3056 }
3057
__kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)3058 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_end(
3059 struct kbase_tlstream *stream,
3060 const void *kcpu_queue,
3061 u32 execute_error)
3062 {
3063 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_END;
3064 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3065 + sizeof(kcpu_queue)
3066 + sizeof(execute_error)
3067 ;
3068 char *buffer;
3069 unsigned long acq_flags;
3070 size_t pos = 0;
3071
3072 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3073
3074 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3075 pos = kbasep_serialize_timestamp(buffer, pos);
3076 pos = kbasep_serialize_bytes(buffer,
3077 pos, &kcpu_queue, sizeof(kcpu_queue));
3078 pos = kbasep_serialize_bytes(buffer,
3079 pos, &execute_error, sizeof(execute_error));
3080
3081 kbase_tlstream_msgbuf_release(stream, acq_flags);
3082 }
3083
__kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_alloc_start(struct kbase_tlstream * stream,const void * kcpu_queue)3084 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_alloc_start(
3085 struct kbase_tlstream *stream,
3086 const void *kcpu_queue)
3087 {
3088 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_ALLOC_START;
3089 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3090 + sizeof(kcpu_queue)
3091 ;
3092 char *buffer;
3093 unsigned long acq_flags;
3094 size_t pos = 0;
3095
3096 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3097
3098 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3099 pos = kbasep_serialize_timestamp(buffer, pos);
3100 pos = kbasep_serialize_bytes(buffer,
3101 pos, &kcpu_queue, sizeof(kcpu_queue));
3102
3103 kbase_tlstream_msgbuf_release(stream, acq_flags);
3104 }
3105
__kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_alloc_end(struct kbase_tlstream * stream,const void * kcpu_queue)3106 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_alloc_end(
3107 struct kbase_tlstream *stream,
3108 const void *kcpu_queue)
3109 {
3110 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
3111 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3112 + sizeof(kcpu_queue)
3113 ;
3114 char *buffer;
3115 unsigned long acq_flags;
3116 size_t pos = 0;
3117
3118 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3119
3120 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3121 pos = kbasep_serialize_timestamp(buffer, pos);
3122 pos = kbasep_serialize_bytes(buffer,
3123 pos, &kcpu_queue, sizeof(kcpu_queue));
3124
3125 kbase_tlstream_msgbuf_release(stream, acq_flags);
3126 }
3127
__kbase_tlstream_tl_kbase_array_item_kcpuqueue_execute_jit_alloc_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error,u64 jit_alloc_gpu_alloc_addr,u64 jit_alloc_mmu_flags)3128 void __kbase_tlstream_tl_kbase_array_item_kcpuqueue_execute_jit_alloc_end(
3129 struct kbase_tlstream *stream,
3130 const void *kcpu_queue,
3131 u32 execute_error,
3132 u64 jit_alloc_gpu_alloc_addr,
3133 u64 jit_alloc_mmu_flags)
3134 {
3135 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
3136 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3137 + sizeof(kcpu_queue)
3138 + sizeof(execute_error)
3139 + sizeof(jit_alloc_gpu_alloc_addr)
3140 + sizeof(jit_alloc_mmu_flags)
3141 ;
3142 char *buffer;
3143 unsigned long acq_flags;
3144 size_t pos = 0;
3145
3146 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3147
3148 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3149 pos = kbasep_serialize_timestamp(buffer, pos);
3150 pos = kbasep_serialize_bytes(buffer,
3151 pos, &kcpu_queue, sizeof(kcpu_queue));
3152 pos = kbasep_serialize_bytes(buffer,
3153 pos, &execute_error, sizeof(execute_error));
3154 pos = kbasep_serialize_bytes(buffer,
3155 pos, &jit_alloc_gpu_alloc_addr, sizeof(jit_alloc_gpu_alloc_addr));
3156 pos = kbasep_serialize_bytes(buffer,
3157 pos, &jit_alloc_mmu_flags, sizeof(jit_alloc_mmu_flags));
3158
3159 kbase_tlstream_msgbuf_release(stream, acq_flags);
3160 }
3161
__kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_alloc_end(struct kbase_tlstream * stream,const void * kcpu_queue)3162 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_alloc_end(
3163 struct kbase_tlstream *stream,
3164 const void *kcpu_queue)
3165 {
3166 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
3167 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3168 + sizeof(kcpu_queue)
3169 ;
3170 char *buffer;
3171 unsigned long acq_flags;
3172 size_t pos = 0;
3173
3174 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3175
3176 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3177 pos = kbasep_serialize_timestamp(buffer, pos);
3178 pos = kbasep_serialize_bytes(buffer,
3179 pos, &kcpu_queue, sizeof(kcpu_queue));
3180
3181 kbase_tlstream_msgbuf_release(stream, acq_flags);
3182 }
3183
__kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_free_start(struct kbase_tlstream * stream,const void * kcpu_queue)3184 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_free_start(
3185 struct kbase_tlstream *stream,
3186 const void *kcpu_queue)
3187 {
3188 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_FREE_START;
3189 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3190 + sizeof(kcpu_queue)
3191 ;
3192 char *buffer;
3193 unsigned long acq_flags;
3194 size_t pos = 0;
3195
3196 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3197
3198 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3199 pos = kbasep_serialize_timestamp(buffer, pos);
3200 pos = kbasep_serialize_bytes(buffer,
3201 pos, &kcpu_queue, sizeof(kcpu_queue));
3202
3203 kbase_tlstream_msgbuf_release(stream, acq_flags);
3204 }
3205
__kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_free_end(struct kbase_tlstream * stream,const void * kcpu_queue)3206 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_free_end(
3207 struct kbase_tlstream *stream,
3208 const void *kcpu_queue)
3209 {
3210 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_FREE_END;
3211 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3212 + sizeof(kcpu_queue)
3213 ;
3214 char *buffer;
3215 unsigned long acq_flags;
3216 size_t pos = 0;
3217
3218 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3219
3220 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3221 pos = kbasep_serialize_timestamp(buffer, pos);
3222 pos = kbasep_serialize_bytes(buffer,
3223 pos, &kcpu_queue, sizeof(kcpu_queue));
3224
3225 kbase_tlstream_msgbuf_release(stream, acq_flags);
3226 }
3227
__kbase_tlstream_tl_kbase_array_item_kcpuqueue_execute_jit_free_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error,u64 jit_free_pages_used)3228 void __kbase_tlstream_tl_kbase_array_item_kcpuqueue_execute_jit_free_end(
3229 struct kbase_tlstream *stream,
3230 const void *kcpu_queue,
3231 u32 execute_error,
3232 u64 jit_free_pages_used)
3233 {
3234 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_FREE_END;
3235 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3236 + sizeof(kcpu_queue)
3237 + sizeof(execute_error)
3238 + sizeof(jit_free_pages_used)
3239 ;
3240 char *buffer;
3241 unsigned long acq_flags;
3242 size_t pos = 0;
3243
3244 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3245
3246 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3247 pos = kbasep_serialize_timestamp(buffer, pos);
3248 pos = kbasep_serialize_bytes(buffer,
3249 pos, &kcpu_queue, sizeof(kcpu_queue));
3250 pos = kbasep_serialize_bytes(buffer,
3251 pos, &execute_error, sizeof(execute_error));
3252 pos = kbasep_serialize_bytes(buffer,
3253 pos, &jit_free_pages_used, sizeof(jit_free_pages_used));
3254
3255 kbase_tlstream_msgbuf_release(stream, acq_flags);
3256 }
3257
__kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_free_end(struct kbase_tlstream * stream,const void * kcpu_queue)3258 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_free_end(
3259 struct kbase_tlstream *stream,
3260 const void *kcpu_queue)
3261 {
3262 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_FREE_END;
3263 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3264 + sizeof(kcpu_queue)
3265 ;
3266 char *buffer;
3267 unsigned long acq_flags;
3268 size_t pos = 0;
3269
3270 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3271
3272 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3273 pos = kbasep_serialize_timestamp(buffer, pos);
3274 pos = kbasep_serialize_bytes(buffer,
3275 pos, &kcpu_queue, sizeof(kcpu_queue));
3276
3277 kbase_tlstream_msgbuf_release(stream, acq_flags);
3278 }
3279
__kbase_tlstream_tl_kbase_kcpuqueue_execute_error_barrier(struct kbase_tlstream * stream,const void * kcpu_queue)3280 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_error_barrier(
3281 struct kbase_tlstream *stream,
3282 const void *kcpu_queue)
3283 {
3284 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_ERROR_BARRIER;
3285 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3286 + sizeof(kcpu_queue)
3287 ;
3288 char *buffer;
3289 unsigned long acq_flags;
3290 size_t pos = 0;
3291
3292 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3293
3294 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3295 pos = kbasep_serialize_timestamp(buffer, pos);
3296 pos = kbasep_serialize_bytes(buffer,
3297 pos, &kcpu_queue, sizeof(kcpu_queue));
3298
3299 kbase_tlstream_msgbuf_release(stream, acq_flags);
3300 }
3301
__kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_start(struct kbase_tlstream * stream,const void * kcpu_queue)3302 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_start(
3303 struct kbase_tlstream *stream,
3304 const void *kcpu_queue)
3305 {
3306 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_START;
3307 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3308 + sizeof(kcpu_queue)
3309 ;
3310 char *buffer;
3311 unsigned long acq_flags;
3312 size_t pos = 0;
3313
3314 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3315
3316 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3317 pos = kbasep_serialize_timestamp(buffer, pos);
3318 pos = kbasep_serialize_bytes(buffer,
3319 pos, &kcpu_queue, sizeof(kcpu_queue));
3320
3321 kbase_tlstream_msgbuf_release(stream, acq_flags);
3322 }
3323
__kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_end(struct kbase_tlstream * stream,const void * kcpu_queue,u32 execute_error)3324 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_end(
3325 struct kbase_tlstream *stream,
3326 const void *kcpu_queue,
3327 u32 execute_error)
3328 {
3329 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_END;
3330 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3331 + sizeof(kcpu_queue)
3332 + sizeof(execute_error)
3333 ;
3334 char *buffer;
3335 unsigned long acq_flags;
3336 size_t pos = 0;
3337
3338 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3339
3340 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3341 pos = kbasep_serialize_timestamp(buffer, pos);
3342 pos = kbasep_serialize_bytes(buffer,
3343 pos, &kcpu_queue, sizeof(kcpu_queue));
3344 pos = kbasep_serialize_bytes(buffer,
3345 pos, &execute_error, sizeof(execute_error));
3346
3347 kbase_tlstream_msgbuf_release(stream, acq_flags);
3348 }
3349
__kbase_tlstream_tl_kbase_csffw_fw_reloading(struct kbase_tlstream * stream,u64 csffw_cycle)3350 void __kbase_tlstream_tl_kbase_csffw_fw_reloading(
3351 struct kbase_tlstream *stream,
3352 u64 csffw_cycle)
3353 {
3354 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_RELOADING;
3355 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3356 + sizeof(csffw_cycle)
3357 ;
3358 char *buffer;
3359 unsigned long acq_flags;
3360 size_t pos = 0;
3361
3362 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3363
3364 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3365 pos = kbasep_serialize_timestamp(buffer, pos);
3366 pos = kbasep_serialize_bytes(buffer,
3367 pos, &csffw_cycle, sizeof(csffw_cycle));
3368
3369 kbase_tlstream_msgbuf_release(stream, acq_flags);
3370 }
3371
__kbase_tlstream_tl_kbase_csffw_fw_enabling(struct kbase_tlstream * stream,u64 csffw_cycle)3372 void __kbase_tlstream_tl_kbase_csffw_fw_enabling(
3373 struct kbase_tlstream *stream,
3374 u64 csffw_cycle)
3375 {
3376 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_ENABLING;
3377 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3378 + sizeof(csffw_cycle)
3379 ;
3380 char *buffer;
3381 unsigned long acq_flags;
3382 size_t pos = 0;
3383
3384 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3385
3386 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3387 pos = kbasep_serialize_timestamp(buffer, pos);
3388 pos = kbasep_serialize_bytes(buffer,
3389 pos, &csffw_cycle, sizeof(csffw_cycle));
3390
3391 kbase_tlstream_msgbuf_release(stream, acq_flags);
3392 }
3393
__kbase_tlstream_tl_kbase_csffw_fw_request_sleep(struct kbase_tlstream * stream,u64 csffw_cycle)3394 void __kbase_tlstream_tl_kbase_csffw_fw_request_sleep(
3395 struct kbase_tlstream *stream,
3396 u64 csffw_cycle)
3397 {
3398 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP;
3399 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3400 + sizeof(csffw_cycle)
3401 ;
3402 char *buffer;
3403 unsigned long acq_flags;
3404 size_t pos = 0;
3405
3406 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3407
3408 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3409 pos = kbasep_serialize_timestamp(buffer, pos);
3410 pos = kbasep_serialize_bytes(buffer,
3411 pos, &csffw_cycle, sizeof(csffw_cycle));
3412
3413 kbase_tlstream_msgbuf_release(stream, acq_flags);
3414 }
3415
__kbase_tlstream_tl_kbase_csffw_fw_request_wakeup(struct kbase_tlstream * stream,u64 csffw_cycle)3416 void __kbase_tlstream_tl_kbase_csffw_fw_request_wakeup(
3417 struct kbase_tlstream *stream,
3418 u64 csffw_cycle)
3419 {
3420 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP;
3421 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3422 + sizeof(csffw_cycle)
3423 ;
3424 char *buffer;
3425 unsigned long acq_flags;
3426 size_t pos = 0;
3427
3428 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3429
3430 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3431 pos = kbasep_serialize_timestamp(buffer, pos);
3432 pos = kbasep_serialize_bytes(buffer,
3433 pos, &csffw_cycle, sizeof(csffw_cycle));
3434
3435 kbase_tlstream_msgbuf_release(stream, acq_flags);
3436 }
3437
__kbase_tlstream_tl_kbase_csffw_fw_request_halt(struct kbase_tlstream * stream,u64 csffw_cycle)3438 void __kbase_tlstream_tl_kbase_csffw_fw_request_halt(
3439 struct kbase_tlstream *stream,
3440 u64 csffw_cycle)
3441 {
3442 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT;
3443 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3444 + sizeof(csffw_cycle)
3445 ;
3446 char *buffer;
3447 unsigned long acq_flags;
3448 size_t pos = 0;
3449
3450 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3451
3452 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3453 pos = kbasep_serialize_timestamp(buffer, pos);
3454 pos = kbasep_serialize_bytes(buffer,
3455 pos, &csffw_cycle, sizeof(csffw_cycle));
3456
3457 kbase_tlstream_msgbuf_release(stream, acq_flags);
3458 }
3459
__kbase_tlstream_tl_kbase_csffw_fw_disabling(struct kbase_tlstream * stream,u64 csffw_cycle)3460 void __kbase_tlstream_tl_kbase_csffw_fw_disabling(
3461 struct kbase_tlstream *stream,
3462 u64 csffw_cycle)
3463 {
3464 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_DISABLING;
3465 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3466 + sizeof(csffw_cycle)
3467 ;
3468 char *buffer;
3469 unsigned long acq_flags;
3470 size_t pos = 0;
3471
3472 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3473
3474 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3475 pos = kbasep_serialize_timestamp(buffer, pos);
3476 pos = kbasep_serialize_bytes(buffer,
3477 pos, &csffw_cycle, sizeof(csffw_cycle));
3478
3479 kbase_tlstream_msgbuf_release(stream, acq_flags);
3480 }
3481
__kbase_tlstream_tl_kbase_csffw_fw_off(struct kbase_tlstream * stream,u64 csffw_cycle)3482 void __kbase_tlstream_tl_kbase_csffw_fw_off(
3483 struct kbase_tlstream *stream,
3484 u64 csffw_cycle)
3485 {
3486 const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_OFF;
3487 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3488 + sizeof(csffw_cycle)
3489 ;
3490 char *buffer;
3491 unsigned long acq_flags;
3492 size_t pos = 0;
3493
3494 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3495
3496 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3497 pos = kbasep_serialize_timestamp(buffer, pos);
3498 pos = kbasep_serialize_bytes(buffer,
3499 pos, &csffw_cycle, sizeof(csffw_cycle));
3500
3501 kbase_tlstream_msgbuf_release(stream, acq_flags);
3502 }
3503
__kbase_tlstream_tl_kbase_csffw_tlstream_overflow(struct kbase_tlstream * stream,u64 csffw_timestamp,u64 csffw_cycle)3504 void __kbase_tlstream_tl_kbase_csffw_tlstream_overflow(
3505 struct kbase_tlstream *stream,
3506 u64 csffw_timestamp,
3507 u64 csffw_cycle)
3508 {
3509 const u32 msg_id = KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW;
3510 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3511 + sizeof(csffw_timestamp)
3512 + sizeof(csffw_cycle)
3513 ;
3514 char *buffer;
3515 unsigned long acq_flags;
3516 size_t pos = 0;
3517
3518 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3519
3520 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3521 pos = kbasep_serialize_timestamp(buffer, pos);
3522 pos = kbasep_serialize_bytes(buffer,
3523 pos, &csffw_timestamp, sizeof(csffw_timestamp));
3524 pos = kbasep_serialize_bytes(buffer,
3525 pos, &csffw_cycle, sizeof(csffw_cycle));
3526
3527 kbase_tlstream_msgbuf_release(stream, acq_flags);
3528 }
3529
__kbase_tlstream_tl_js_sched_start(struct kbase_tlstream * stream,u32 dummy)3530 void __kbase_tlstream_tl_js_sched_start(
3531 struct kbase_tlstream *stream,
3532 u32 dummy)
3533 {
3534 const u32 msg_id = KBASE_TL_JS_SCHED_START;
3535 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3536 + sizeof(dummy)
3537 ;
3538 char *buffer;
3539 unsigned long acq_flags;
3540 size_t pos = 0;
3541
3542 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3543
3544 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3545 pos = kbasep_serialize_timestamp(buffer, pos);
3546 pos = kbasep_serialize_bytes(buffer,
3547 pos, &dummy, sizeof(dummy));
3548
3549 kbase_tlstream_msgbuf_release(stream, acq_flags);
3550 }
3551
__kbase_tlstream_tl_js_sched_end(struct kbase_tlstream * stream,u32 dummy)3552 void __kbase_tlstream_tl_js_sched_end(
3553 struct kbase_tlstream *stream,
3554 u32 dummy)
3555 {
3556 const u32 msg_id = KBASE_TL_JS_SCHED_END;
3557 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3558 + sizeof(dummy)
3559 ;
3560 char *buffer;
3561 unsigned long acq_flags;
3562 size_t pos = 0;
3563
3564 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3565
3566 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3567 pos = kbasep_serialize_timestamp(buffer, pos);
3568 pos = kbasep_serialize_bytes(buffer,
3569 pos, &dummy, sizeof(dummy));
3570
3571 kbase_tlstream_msgbuf_release(stream, acq_flags);
3572 }
3573
__kbase_tlstream_tl_jd_submit_atom_start(struct kbase_tlstream * stream,const void * atom)3574 void __kbase_tlstream_tl_jd_submit_atom_start(
3575 struct kbase_tlstream *stream,
3576 const void *atom)
3577 {
3578 const u32 msg_id = KBASE_TL_JD_SUBMIT_ATOM_START;
3579 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3580 + sizeof(atom)
3581 ;
3582 char *buffer;
3583 unsigned long acq_flags;
3584 size_t pos = 0;
3585
3586 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3587
3588 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3589 pos = kbasep_serialize_timestamp(buffer, pos);
3590 pos = kbasep_serialize_bytes(buffer,
3591 pos, &atom, sizeof(atom));
3592
3593 kbase_tlstream_msgbuf_release(stream, acq_flags);
3594 }
3595
__kbase_tlstream_tl_jd_submit_atom_end(struct kbase_tlstream * stream,const void * atom)3596 void __kbase_tlstream_tl_jd_submit_atom_end(
3597 struct kbase_tlstream *stream,
3598 const void *atom)
3599 {
3600 const u32 msg_id = KBASE_TL_JD_SUBMIT_ATOM_END;
3601 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3602 + sizeof(atom)
3603 ;
3604 char *buffer;
3605 unsigned long acq_flags;
3606 size_t pos = 0;
3607
3608 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3609
3610 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3611 pos = kbasep_serialize_timestamp(buffer, pos);
3612 pos = kbasep_serialize_bytes(buffer,
3613 pos, &atom, sizeof(atom));
3614
3615 kbase_tlstream_msgbuf_release(stream, acq_flags);
3616 }
3617
__kbase_tlstream_tl_jd_done_no_lock_start(struct kbase_tlstream * stream,const void * atom)3618 void __kbase_tlstream_tl_jd_done_no_lock_start(
3619 struct kbase_tlstream *stream,
3620 const void *atom)
3621 {
3622 const u32 msg_id = KBASE_TL_JD_DONE_NO_LOCK_START;
3623 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3624 + sizeof(atom)
3625 ;
3626 char *buffer;
3627 unsigned long acq_flags;
3628 size_t pos = 0;
3629
3630 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3631
3632 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3633 pos = kbasep_serialize_timestamp(buffer, pos);
3634 pos = kbasep_serialize_bytes(buffer,
3635 pos, &atom, sizeof(atom));
3636
3637 kbase_tlstream_msgbuf_release(stream, acq_flags);
3638 }
3639
__kbase_tlstream_tl_jd_done_no_lock_end(struct kbase_tlstream * stream,const void * atom)3640 void __kbase_tlstream_tl_jd_done_no_lock_end(
3641 struct kbase_tlstream *stream,
3642 const void *atom)
3643 {
3644 const u32 msg_id = KBASE_TL_JD_DONE_NO_LOCK_END;
3645 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3646 + sizeof(atom)
3647 ;
3648 char *buffer;
3649 unsigned long acq_flags;
3650 size_t pos = 0;
3651
3652 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3653
3654 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3655 pos = kbasep_serialize_timestamp(buffer, pos);
3656 pos = kbasep_serialize_bytes(buffer,
3657 pos, &atom, sizeof(atom));
3658
3659 kbase_tlstream_msgbuf_release(stream, acq_flags);
3660 }
3661
__kbase_tlstream_tl_jd_done_start(struct kbase_tlstream * stream,const void * atom)3662 void __kbase_tlstream_tl_jd_done_start(
3663 struct kbase_tlstream *stream,
3664 const void *atom)
3665 {
3666 const u32 msg_id = KBASE_TL_JD_DONE_START;
3667 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3668 + sizeof(atom)
3669 ;
3670 char *buffer;
3671 unsigned long acq_flags;
3672 size_t pos = 0;
3673
3674 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3675
3676 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3677 pos = kbasep_serialize_timestamp(buffer, pos);
3678 pos = kbasep_serialize_bytes(buffer,
3679 pos, &atom, sizeof(atom));
3680
3681 kbase_tlstream_msgbuf_release(stream, acq_flags);
3682 }
3683
__kbase_tlstream_tl_jd_done_end(struct kbase_tlstream * stream,const void * atom)3684 void __kbase_tlstream_tl_jd_done_end(
3685 struct kbase_tlstream *stream,
3686 const void *atom)
3687 {
3688 const u32 msg_id = KBASE_TL_JD_DONE_END;
3689 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3690 + sizeof(atom)
3691 ;
3692 char *buffer;
3693 unsigned long acq_flags;
3694 size_t pos = 0;
3695
3696 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3697
3698 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3699 pos = kbasep_serialize_timestamp(buffer, pos);
3700 pos = kbasep_serialize_bytes(buffer,
3701 pos, &atom, sizeof(atom));
3702
3703 kbase_tlstream_msgbuf_release(stream, acq_flags);
3704 }
3705
__kbase_tlstream_tl_jd_atom_complete(struct kbase_tlstream * stream,const void * atom)3706 void __kbase_tlstream_tl_jd_atom_complete(
3707 struct kbase_tlstream *stream,
3708 const void *atom)
3709 {
3710 const u32 msg_id = KBASE_TL_JD_ATOM_COMPLETE;
3711 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3712 + sizeof(atom)
3713 ;
3714 char *buffer;
3715 unsigned long acq_flags;
3716 size_t pos = 0;
3717
3718 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3719
3720 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3721 pos = kbasep_serialize_timestamp(buffer, pos);
3722 pos = kbasep_serialize_bytes(buffer,
3723 pos, &atom, sizeof(atom));
3724
3725 kbase_tlstream_msgbuf_release(stream, acq_flags);
3726 }
3727
__kbase_tlstream_tl_run_atom_start(struct kbase_tlstream * stream,const void * atom,u32 atom_nr)3728 void __kbase_tlstream_tl_run_atom_start(
3729 struct kbase_tlstream *stream,
3730 const void *atom,
3731 u32 atom_nr)
3732 {
3733 const u32 msg_id = KBASE_TL_RUN_ATOM_START;
3734 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3735 + sizeof(atom)
3736 + sizeof(atom_nr)
3737 ;
3738 char *buffer;
3739 unsigned long acq_flags;
3740 size_t pos = 0;
3741
3742 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3743
3744 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3745 pos = kbasep_serialize_timestamp(buffer, pos);
3746 pos = kbasep_serialize_bytes(buffer,
3747 pos, &atom, sizeof(atom));
3748 pos = kbasep_serialize_bytes(buffer,
3749 pos, &atom_nr, sizeof(atom_nr));
3750
3751 kbase_tlstream_msgbuf_release(stream, acq_flags);
3752 }
3753
__kbase_tlstream_tl_run_atom_end(struct kbase_tlstream * stream,const void * atom,u32 atom_nr)3754 void __kbase_tlstream_tl_run_atom_end(
3755 struct kbase_tlstream *stream,
3756 const void *atom,
3757 u32 atom_nr)
3758 {
3759 const u32 msg_id = KBASE_TL_RUN_ATOM_END;
3760 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3761 + sizeof(atom)
3762 + sizeof(atom_nr)
3763 ;
3764 char *buffer;
3765 unsigned long acq_flags;
3766 size_t pos = 0;
3767
3768 buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3769
3770 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3771 pos = kbasep_serialize_timestamp(buffer, pos);
3772 pos = kbasep_serialize_bytes(buffer,
3773 pos, &atom, sizeof(atom));
3774 pos = kbasep_serialize_bytes(buffer,
3775 pos, &atom_nr, sizeof(atom_nr));
3776
3777 kbase_tlstream_msgbuf_release(stream, acq_flags);
3778 }
3779
3780 /* clang-format on */
3781