hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/gpu/arm/bifrost/tl/mali_kbase_tracepoints.c
....@@ -1,7 +1,7 @@
11 // SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
22 /*
33 *
4
- * (C) COPYRIGHT 2010-2021 ARM Limited. All rights reserved.
4
+ * (C) COPYRIGHT 2010-2023 ARM Limited. All rights reserved.
55 *
66 * This program is free software and is provided to you under the terms of the
77 * GNU General Public License version 2 as published by the Free Software
....@@ -20,7 +20,7 @@
2020 */
2121
2222 /*
23
- * THIS FILE IS AUTOGENERATED BY mali_trace_generator.py.
23
+ * THIS FILE IS AUTOGENERATED BY generate_tracepoints.py.
2424 * DO NOT EDIT.
2525 */
2626
....@@ -30,7 +30,7 @@
3030
3131 /* clang-format off */
3232
33
-/* Message ids of trace events that are recorded in the timeline stream. */
33
+/* Message ids of trace events that are recorded in the obj stream. */
3434 enum tl_msg_id_obj {
3535 KBASE_TL_NEW_CTX,
3636 KBASE_TL_NEW_GPU,
....@@ -52,10 +52,6 @@
5252 KBASE_TL_RET_ATOM_AS,
5353 KBASE_TL_NRET_ATOM_AS,
5454 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,
5955 KBASE_TL_JIT_USEDPAGES,
6056 KBASE_TL_ATTRIB_ATOM_JITALLOCINFO,
6157 KBASE_TL_ATTRIB_ATOM_JITFREEINFO,
....@@ -71,9 +67,29 @@
7167 KBASE_TL_ARBITER_STOPPED,
7268 KBASE_TL_ARBITER_REQUESTED,
7369 KBASE_JD_GPU_SOFT_RESET,
70
+ KBASE_JD_TILER_HEAP_CHUNK_ALLOC,
71
+ KBASE_TL_JS_SCHED_START,
72
+ KBASE_TL_JS_SCHED_END,
73
+ KBASE_TL_JD_SUBMIT_ATOM_START,
74
+ KBASE_TL_JD_SUBMIT_ATOM_END,
75
+ KBASE_TL_JD_DONE_NO_LOCK_START,
76
+ KBASE_TL_JD_DONE_NO_LOCK_END,
77
+ KBASE_TL_JD_DONE_START,
78
+ KBASE_TL_JD_DONE_END,
79
+ KBASE_TL_JD_ATOM_COMPLETE,
80
+ KBASE_TL_RUN_ATOM_START,
81
+ KBASE_TL_RUN_ATOM_END,
82
+ KBASE_TL_ATTRIB_ATOM_PRIORITY,
83
+ KBASE_TL_ATTRIB_ATOM_STATE,
84
+ KBASE_TL_ATTRIB_ATOM_PRIORITIZED,
85
+ KBASE_TL_ATTRIB_ATOM_JIT,
7486 KBASE_TL_KBASE_NEW_DEVICE,
87
+ KBASE_TL_KBASE_GPUCMDQUEUE_KICK,
7588 KBASE_TL_KBASE_DEVICE_PROGRAM_CSG,
7689 KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG,
90
+ KBASE_TL_KBASE_DEVICE_HALTING_CSG,
91
+ KBASE_TL_KBASE_DEVICE_SUSPEND_CSG,
92
+ KBASE_TL_KBASE_DEVICE_CSG_IDLE,
7793 KBASE_TL_KBASE_NEW_CTX,
7894 KBASE_TL_KBASE_DEL_CTX,
7995 KBASE_TL_KBASE_CTX_ASSIGN_AS,
....@@ -84,17 +100,19 @@
84100 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_WAIT,
85101 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT,
86102 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET,
103
+ KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT_OPERATION,
104
+ KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET_OPERATION,
87105 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT,
88106 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT,
89107 KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT_FORCE,
90
- KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER,
91
- KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND,
92108 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
93109 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
94110 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_ALLOC,
95111 KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_FREE,
96112 KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_FREE,
97113 KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_FREE,
114
+ KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER,
115
+ KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND,
98116 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START,
99117 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_END,
100118 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_START,
....@@ -102,6 +120,9 @@
102120 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START,
103121 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END,
104122 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET,
123
+ KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_START,
124
+ KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_END,
125
+ KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET_OPERATION,
105126 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START,
106127 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_END,
107128 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_START,
....@@ -119,25 +140,15 @@
119140 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_ERROR_BARRIER,
120141 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_START,
121142 KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_END,
143
+ KBASE_TL_KBASE_CSFFW_FW_RELOADING,
144
+ KBASE_TL_KBASE_CSFFW_FW_ENABLING,
145
+ KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP,
146
+ KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP,
147
+ KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT,
148
+ KBASE_TL_KBASE_CSFFW_FW_DISABLING,
149
+ KBASE_TL_KBASE_CSFFW_FW_OFF,
122150 KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW,
123
- KBASE_TL_KBASE_CSFFW_RESET,
124151 KBASE_OBJ_MSG_COUNT,
125
-};
126
-
127
-/* Message ids of trace events that are recorded in the auxiliary stream. */
128
-enum tl_msg_id_aux {
129
- KBASE_AUX_PM_STATE,
130
- KBASE_AUX_PAGEFAULT,
131
- KBASE_AUX_PAGESALLOC,
132
- KBASE_AUX_DEVFREQ_TARGET,
133
- KBASE_AUX_PROTECTED_ENTER_START,
134
- KBASE_AUX_PROTECTED_ENTER_END,
135
- KBASE_AUX_PROTECTED_LEAVE_START,
136
- KBASE_AUX_PROTECTED_LEAVE_END,
137
- KBASE_AUX_JIT_STATS,
138
- KBASE_AUX_TILER_HEAP_STATS,
139
- KBASE_AUX_EVENT_JOB_SLOT,
140
- KBASE_AUX_MSG_COUNT,
141152 };
142153
143154 #define OBJ_TP_LIST \
....@@ -221,22 +232,6 @@
221232 "atom job slot attributes", \
222233 "@pLLI", \
223234 "atom,descriptor,affinity,config") \
224
- TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITY, \
225
- "atom priority", \
226
- "@pI", \
227
- "atom,prio") \
228
- TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_STATE, \
229
- "atom state", \
230
- "@pI", \
231
- "atom,state") \
232
- TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITIZED, \
233
- "atom caused priority change", \
234
- "@p", \
235
- "atom") \
236
- TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_JIT, \
237
- "jit done for atom", \
238
- "@pLLILILLL", \
239
- "atom,edit_addr,new_addr,jit_flags,mem_flags,j_id,com_pgs,extent,va_pgs") \
240235 TRACEPOINT_DESC(KBASE_TL_JIT_USEDPAGES, \
241236 "used pages for jit", \
242237 "@LI", \
....@@ -297,16 +292,96 @@
297292 "gpu soft reset", \
298293 "@p", \
299294 "gpu") \
295
+ TRACEPOINT_DESC(KBASE_JD_TILER_HEAP_CHUNK_ALLOC, \
296
+ "Tiler Heap Chunk Allocation", \
297
+ "@ILL", \
298
+ "ctx_nr,heap_id,chunk_va") \
299
+ TRACEPOINT_DESC(KBASE_TL_JS_SCHED_START, \
300
+ "Scheduling starts", \
301
+ "@I", \
302
+ "dummy") \
303
+ TRACEPOINT_DESC(KBASE_TL_JS_SCHED_END, \
304
+ "Scheduling ends", \
305
+ "@I", \
306
+ "dummy") \
307
+ TRACEPOINT_DESC(KBASE_TL_JD_SUBMIT_ATOM_START, \
308
+ "Submitting an atom starts", \
309
+ "@p", \
310
+ "atom") \
311
+ TRACEPOINT_DESC(KBASE_TL_JD_SUBMIT_ATOM_END, \
312
+ "Submitting an atom ends", \
313
+ "@p", \
314
+ "atom") \
315
+ TRACEPOINT_DESC(KBASE_TL_JD_DONE_NO_LOCK_START, \
316
+ "Within function kbase_jd_done_nolock", \
317
+ "@p", \
318
+ "atom") \
319
+ TRACEPOINT_DESC(KBASE_TL_JD_DONE_NO_LOCK_END, \
320
+ "Within function kbase_jd_done_nolock - end", \
321
+ "@p", \
322
+ "atom") \
323
+ TRACEPOINT_DESC(KBASE_TL_JD_DONE_START, \
324
+ "Start of kbase_jd_done", \
325
+ "@p", \
326
+ "atom") \
327
+ TRACEPOINT_DESC(KBASE_TL_JD_DONE_END, \
328
+ "End of kbase_jd_done", \
329
+ "@p", \
330
+ "atom") \
331
+ TRACEPOINT_DESC(KBASE_TL_JD_ATOM_COMPLETE, \
332
+ "Atom marked complete", \
333
+ "@p", \
334
+ "atom") \
335
+ TRACEPOINT_DESC(KBASE_TL_RUN_ATOM_START, \
336
+ "Running of atom starts", \
337
+ "@pI", \
338
+ "atom,atom_nr") \
339
+ TRACEPOINT_DESC(KBASE_TL_RUN_ATOM_END, \
340
+ "Running of atom ends", \
341
+ "@pI", \
342
+ "atom,atom_nr") \
343
+ TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITY, \
344
+ "atom priority", \
345
+ "@pI", \
346
+ "atom,prio") \
347
+ TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_STATE, \
348
+ "atom state", \
349
+ "@pI", \
350
+ "atom,state") \
351
+ TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_PRIORITIZED, \
352
+ "atom caused priority change", \
353
+ "@p", \
354
+ "atom") \
355
+ TRACEPOINT_DESC(KBASE_TL_ATTRIB_ATOM_JIT, \
356
+ "jit done for atom", \
357
+ "@pLLILILLL", \
358
+ "atom,edit_addr,new_addr,jit_flags,mem_flags,j_id,com_pgs,extent,va_pgs") \
300359 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_DEVICE, \
301360 "New KBase Device", \
302
- "@IIII", \
303
- "kbase_device_id,kbase_device_gpu_core_count,kbase_device_max_num_csgs,kbase_device_as_count") \
361
+ "@IIIIIII", \
362
+ "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") \
363
+ TRACEPOINT_DESC(KBASE_TL_KBASE_GPUCMDQUEUE_KICK, \
364
+ "Kernel receives a request to process new GPU queue instructions", \
365
+ "@IL", \
366
+ "kernel_ctx_id,buffer_gpu_addr") \
304367 TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_PROGRAM_CSG, \
305368 "CSG is programmed to a slot", \
306
- "@III", \
307
- "kbase_device_id,gpu_cmdq_grp_handle,kbase_device_csg_slot_index") \
369
+ "@IIIII", \
370
+ "kbase_device_id,kernel_ctx_id,gpu_cmdq_grp_handle,kbase_device_csg_slot_index,kbase_device_csg_slot_resuming") \
308371 TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG, \
309372 "CSG is deprogrammed from a slot", \
373
+ "@II", \
374
+ "kbase_device_id,kbase_device_csg_slot_index") \
375
+ TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_HALTING_CSG, \
376
+ "CSG is halting", \
377
+ "@III", \
378
+ "kbase_device_id,kbase_device_csg_slot_index,kbase_device_csg_slot_suspending") \
379
+ TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_SUSPEND_CSG, \
380
+ "CSG is suspended", \
381
+ "@II", \
382
+ "kbase_device_id,kbase_device_csg_slot_index") \
383
+ TRACEPOINT_DESC(KBASE_TL_KBASE_DEVICE_CSG_IDLE, \
384
+ "KBase device is notified that CSG is idle.", \
310385 "@II", \
311386 "kbase_device_id,kbase_device_csg_slot_index") \
312387 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_CTX, \
....@@ -327,8 +402,8 @@
327402 "kernel_ctx_id") \
328403 TRACEPOINT_DESC(KBASE_TL_KBASE_NEW_KCPUQUEUE, \
329404 "New KCPU Queue", \
330
- "@pII", \
331
- "kcpu_queue,kernel_ctx_id,kcpuq_num_pending_cmds") \
405
+ "@pIII", \
406
+ "kcpu_queue,kcpu_queue_id,kernel_ctx_id,kcpuq_num_pending_cmds") \
332407 TRACEPOINT_DESC(KBASE_TL_KBASE_DEL_KCPUQUEUE, \
333408 "Delete KCPU Queue", \
334409 "@p", \
....@@ -344,11 +419,19 @@
344419 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT, \
345420 "KCPU Queue enqueues Wait on Cross Queue Sync Object", \
346421 "@pLII", \
347
- "kcpu_queue,cqs_obj_gpu_addr,cqs_obj_compare_value,cqs_obj_inherit_error") \
422
+ "kcpu_queue,cqs_obj_gpu_addr,compare_value,inherit_error") \
348423 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET, \
349424 "KCPU Queue enqueues Set on Cross Queue Sync Object", \
350425 "@pL", \
351426 "kcpu_queue,cqs_obj_gpu_addr") \
427
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT_OPERATION, \
428
+ "KCPU Queue enqueues Wait Operation on Cross Queue Sync Object", \
429
+ "@pLLIII", \
430
+ "kcpu_queue,cqs_obj_gpu_addr,compare_value,condition,data_type,inherit_error") \
431
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET_OPERATION, \
432
+ "KCPU Queue enqueues Set Operation on Cross Queue Sync Object", \
433
+ "@pLLII", \
434
+ "kcpu_queue,cqs_obj_gpu_addr,value,operation,data_type") \
352435 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT, \
353436 "KCPU Queue enqueues Map Import", \
354437 "@pL", \
....@@ -361,14 +444,6 @@
361444 "KCPU Queue enqueues Unmap Import ignoring reference count", \
362445 "@pL", \
363446 "kcpu_queue,map_import_buf_gpu_addr") \
364
- TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER, \
365
- "KCPU Queue enqueues Error Barrier", \
366
- "@p", \
367
- "kcpu_queue") \
368
- TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND, \
369
- "KCPU Queue enqueues Group Suspend", \
370
- "@ppI", \
371
- "kcpu_queue,group_suspend_buf,gpu_cmdq_grp_handle") \
372447 TRACEPOINT_DESC(KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC, \
373448 "Begin array of KCPU Queue enqueues JIT Alloc", \
374449 "@p", \
....@@ -393,6 +468,14 @@
393468 "End array of KCPU Queue enqueues JIT Free", \
394469 "@p", \
395470 "kcpu_queue") \
471
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER, \
472
+ "KCPU Queue enqueues Error Barrier", \
473
+ "@p", \
474
+ "kcpu_queue") \
475
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND, \
476
+ "KCPU Queue enqueues Group Suspend", \
477
+ "@ppI", \
478
+ "kcpu_queue,group_suspend_buf,gpu_cmdq_grp_handle") \
396479 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START, \
397480 "KCPU Queue starts a Signal on Fence", \
398481 "@p", \
....@@ -410,15 +493,27 @@
410493 "@pI", \
411494 "kcpu_queue,execute_error") \
412495 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START, \
413
- "KCPU Queue starts a Wait on an array of Cross Queue Sync Objects", \
496
+ "KCPU Queue starts a Wait on Cross Queue Sync Object", \
414497 "@p", \
415498 "kcpu_queue") \
416499 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END, \
417
- "KCPU Queue ends a Wait on an array of Cross Queue Sync Objects", \
500
+ "KCPU Queue ends a Wait on Cross Queue Sync Object", \
418501 "@pI", \
419502 "kcpu_queue,execute_error") \
420503 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET, \
421
- "KCPU Queue executes a Set on an array of Cross Queue Sync Objects", \
504
+ "KCPU Queue executes a Set on Cross Queue Sync Object", \
505
+ "@pI", \
506
+ "kcpu_queue,execute_error") \
507
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_START, \
508
+ "KCPU Queue starts a Wait Operation on Cross Queue Sync Object", \
509
+ "@p", \
510
+ "kcpu_queue") \
511
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_END, \
512
+ "KCPU Queue ends a Wait Operation on Cross Queue Sync Object", \
513
+ "@pI", \
514
+ "kcpu_queue,execute_error") \
515
+ TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET_OPERATION, \
516
+ "KCPU Queue executes a Set Operation on Cross Queue Sync Object", \
422517 "@pI", \
423518 "kcpu_queue,execute_error") \
424519 TRACEPOINT_DESC(KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START, \
....@@ -489,25 +584,66 @@
489584 "KCPU Queue ends a group suspend", \
490585 "@pI", \
491586 "kcpu_queue,execute_error") \
587
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_RELOADING, \
588
+ "CSF FW is being reloaded", \
589
+ "@L", \
590
+ "csffw_cycle") \
591
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_ENABLING, \
592
+ "CSF FW is being enabled", \
593
+ "@L", \
594
+ "csffw_cycle") \
595
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP, \
596
+ "CSF FW sleep is requested", \
597
+ "@L", \
598
+ "csffw_cycle") \
599
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP, \
600
+ "CSF FW wake up is requested", \
601
+ "@L", \
602
+ "csffw_cycle") \
603
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT, \
604
+ "CSF FW halt is requested", \
605
+ "@L", \
606
+ "csffw_cycle") \
607
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_DISABLING, \
608
+ "CSF FW is being disabled", \
609
+ "@L", \
610
+ "csffw_cycle") \
611
+ TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_FW_OFF, \
612
+ "CSF FW is off", \
613
+ "@L", \
614
+ "csffw_cycle") \
492615 TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW, \
493616 "An overflow has happened with the CSFFW Timeline stream", \
494617 "@LL", \
495
- "csffw_timestamp,csffw_cycle") \
496
- TRACEPOINT_DESC(KBASE_TL_KBASE_CSFFW_RESET, \
497
- "A reset has happened with the CSFFW", \
498
- "@L", \
499
- "csffw_cycle") \
618
+ "csffw_timestamp,csffw_cycle")
500619
501
-#define MIPE_HEADER_BLOB_VAR_NAME __obj_desc_header
502
-#define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
503
-#define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_OBJ
504
-#define MIPE_HEADER_TRACEPOINT_LIST OBJ_TP_LIST
505
-#define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_OBJ_MSG_COUNT
620
+#define MIPE_HEADER_BLOB_VAR_NAME __obj_desc_header
621
+#define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
622
+#define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_OBJ
623
+#define MIPE_HEADER_TRACEPOINT_LIST OBJ_TP_LIST
624
+#define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_OBJ_MSG_COUNT
506625
507626 #include "mali_kbase_mipe_gen_header.h"
508627
509628 const char *obj_desc_header = (const char *) &__obj_desc_header;
510629 const size_t obj_desc_header_size = sizeof(__obj_desc_header);
630
+
631
+/* Message ids of trace events that are recorded in the aux stream. */
632
+enum tl_msg_id_aux {
633
+ KBASE_AUX_PM_STATE,
634
+ KBASE_AUX_PAGEFAULT,
635
+ KBASE_AUX_PAGESALLOC,
636
+ KBASE_AUX_DEVFREQ_TARGET,
637
+ KBASE_AUX_JIT_STATS,
638
+ KBASE_AUX_TILER_HEAP_STATS,
639
+ KBASE_AUX_EVENT_JOB_SLOT,
640
+ KBASE_AUX_PROTECTED_ENTER_START,
641
+ KBASE_AUX_PROTECTED_ENTER_END,
642
+ KBASE_AUX_MMU_COMMAND,
643
+ KBASE_AUX_PROTECTED_LEAVE_START,
644
+ KBASE_AUX_PROTECTED_LEAVE_END,
645
+ KBASE_AUX_MSG_COUNT,
646
+};
511647
512648 #define AUX_TP_LIST \
513649 TRACEPOINT_DESC(KBASE_AUX_PM_STATE, \
....@@ -526,22 +662,6 @@
526662 "New device frequency target", \
527663 "@L", \
528664 "target_freq") \
529
- TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_START, \
530
- "enter protected mode start", \
531
- "@p", \
532
- "gpu") \
533
- TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_END, \
534
- "enter protected mode end", \
535
- "@p", \
536
- "gpu") \
537
- TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_START, \
538
- "leave protected mode start", \
539
- "@p", \
540
- "gpu") \
541
- TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_END, \
542
- "leave protected mode end", \
543
- "@p", \
544
- "gpu") \
545665 TRACEPOINT_DESC(KBASE_AUX_JIT_STATS, \
546666 "per-bin JIT statistics", \
547667 "@IIIIII", \
....@@ -554,12 +674,32 @@
554674 "event on a given job slot", \
555675 "@pIII", \
556676 "ctx,slot_nr,atom_nr,event") \
677
+ TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_START, \
678
+ "enter protected mode start", \
679
+ "@p", \
680
+ "gpu") \
681
+ TRACEPOINT_DESC(KBASE_AUX_PROTECTED_ENTER_END, \
682
+ "enter protected mode end", \
683
+ "@p", \
684
+ "gpu") \
685
+ TRACEPOINT_DESC(KBASE_AUX_MMU_COMMAND, \
686
+ "mmu commands with synchronicity info", \
687
+ "@IIILI", \
688
+ "kernel_ctx_id,mmu_cmd_id,mmu_synchronicity,mmu_lock_addr,mmu_lock_page_num") \
689
+ TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_START, \
690
+ "leave protected mode start", \
691
+ "@p", \
692
+ "gpu") \
693
+ TRACEPOINT_DESC(KBASE_AUX_PROTECTED_LEAVE_END, \
694
+ "leave protected mode end", \
695
+ "@p", \
696
+ "gpu")
557697
558
-#define MIPE_HEADER_BLOB_VAR_NAME __aux_desc_header
559
-#define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
560
-#define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_AUX
561
-#define MIPE_HEADER_TRACEPOINT_LIST AUX_TP_LIST
562
-#define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_AUX_MSG_COUNT
698
+#define MIPE_HEADER_BLOB_VAR_NAME __aux_desc_header
699
+#define MIPE_HEADER_STREAM_ID TL_STREAM_ID_KERNEL
700
+#define MIPE_HEADER_PKT_CLASS TL_PACKET_CLASS_AUX
701
+#define MIPE_HEADER_TRACEPOINT_LIST AUX_TP_LIST
702
+#define MIPE_HEADER_TRACEPOINT_LIST_SIZE KBASE_AUX_MSG_COUNT
563703
564704 #include "mali_kbase_mipe_gen_header.h"
565705
....@@ -570,7 +710,8 @@
570710 struct kbase_tlstream *stream,
571711 const void *ctx,
572712 u32 ctx_nr,
573
- u32 tgid)
713
+ u32 tgid
714
+)
574715 {
575716 const u32 msg_id = KBASE_TL_NEW_CTX;
576717 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -600,7 +741,8 @@
600741 struct kbase_tlstream *stream,
601742 const void *gpu,
602743 u32 gpu_id,
603
- u32 core_count)
744
+ u32 core_count
745
+)
604746 {
605747 const u32 msg_id = KBASE_TL_NEW_GPU;
606748 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -630,7 +772,8 @@
630772 struct kbase_tlstream *stream,
631773 const void *lpu,
632774 u32 lpu_nr,
633
- u32 lpu_fn)
775
+ u32 lpu_fn
776
+)
634777 {
635778 const u32 msg_id = KBASE_TL_NEW_LPU;
636779 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -659,7 +802,8 @@
659802 void __kbase_tlstream_tl_new_atom(
660803 struct kbase_tlstream *stream,
661804 const void *atom,
662
- u32 atom_nr)
805
+ u32 atom_nr
806
+)
663807 {
664808 const u32 msg_id = KBASE_TL_NEW_ATOM;
665809 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -685,7 +829,8 @@
685829 void __kbase_tlstream_tl_new_as(
686830 struct kbase_tlstream *stream,
687831 const void *address_space,
688
- u32 as_nr)
832
+ u32 as_nr
833
+)
689834 {
690835 const u32 msg_id = KBASE_TL_NEW_AS;
691836 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -710,7 +855,8 @@
710855
711856 void __kbase_tlstream_tl_del_ctx(
712857 struct kbase_tlstream *stream,
713
- const void *ctx)
858
+ const void *ctx
859
+)
714860 {
715861 const u32 msg_id = KBASE_TL_DEL_CTX;
716862 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -732,7 +878,8 @@
732878
733879 void __kbase_tlstream_tl_del_atom(
734880 struct kbase_tlstream *stream,
735
- const void *atom)
881
+ const void *atom
882
+)
736883 {
737884 const u32 msg_id = KBASE_TL_DEL_ATOM;
738885 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -755,7 +902,8 @@
755902 void __kbase_tlstream_tl_lifelink_lpu_gpu(
756903 struct kbase_tlstream *stream,
757904 const void *lpu,
758
- const void *gpu)
905
+ const void *gpu
906
+)
759907 {
760908 const u32 msg_id = KBASE_TL_LIFELINK_LPU_GPU;
761909 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -781,7 +929,8 @@
781929 void __kbase_tlstream_tl_lifelink_as_gpu(
782930 struct kbase_tlstream *stream,
783931 const void *address_space,
784
- const void *gpu)
932
+ const void *gpu
933
+)
785934 {
786935 const u32 msg_id = KBASE_TL_LIFELINK_AS_GPU;
787936 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -807,7 +956,8 @@
807956 void __kbase_tlstream_tl_ret_ctx_lpu(
808957 struct kbase_tlstream *stream,
809958 const void *ctx,
810
- const void *lpu)
959
+ const void *lpu
960
+)
811961 {
812962 const u32 msg_id = KBASE_TL_RET_CTX_LPU;
813963 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -833,7 +983,8 @@
833983 void __kbase_tlstream_tl_ret_atom_ctx(
834984 struct kbase_tlstream *stream,
835985 const void *atom,
836
- const void *ctx)
986
+ const void *ctx
987
+)
837988 {
838989 const u32 msg_id = KBASE_TL_RET_ATOM_CTX;
839990 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -860,15 +1011,16 @@
8601011 struct kbase_tlstream *stream,
8611012 const void *atom,
8621013 const void *lpu,
863
- const char *attrib_match_list)
1014
+ const char *attrib_match_list
1015
+)
8641016 {
8651017 const u32 msg_id = KBASE_TL_RET_ATOM_LPU;
866
- const size_t s0 = sizeof(u32) + sizeof(char)
1018
+ const size_t s2 = sizeof(u32) + sizeof(char)
8671019 + strnlen(attrib_match_list, STRLEN_MAX);
8681020 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
8691021 + sizeof(atom)
8701022 + sizeof(lpu)
871
- + s0
1023
+ + s2
8721024 ;
8731025 char *buffer;
8741026 unsigned long acq_flags;
....@@ -883,7 +1035,7 @@
8831035 pos = kbasep_serialize_bytes(buffer,
8841036 pos, &lpu, sizeof(lpu));
8851037 pos = kbasep_serialize_string(buffer,
886
- pos, attrib_match_list, s0);
1038
+ pos, attrib_match_list, s2);
8871039
8881040 kbase_tlstream_msgbuf_release(stream, acq_flags);
8891041 }
....@@ -891,7 +1043,8 @@
8911043 void __kbase_tlstream_tl_nret_ctx_lpu(
8921044 struct kbase_tlstream *stream,
8931045 const void *ctx,
894
- const void *lpu)
1046
+ const void *lpu
1047
+)
8951048 {
8961049 const u32 msg_id = KBASE_TL_NRET_CTX_LPU;
8971050 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -917,7 +1070,8 @@
9171070 void __kbase_tlstream_tl_nret_atom_ctx(
9181071 struct kbase_tlstream *stream,
9191072 const void *atom,
920
- const void *ctx)
1073
+ const void *ctx
1074
+)
9211075 {
9221076 const u32 msg_id = KBASE_TL_NRET_ATOM_CTX;
9231077 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -943,7 +1097,8 @@
9431097 void __kbase_tlstream_tl_nret_atom_lpu(
9441098 struct kbase_tlstream *stream,
9451099 const void *atom,
946
- const void *lpu)
1100
+ const void *lpu
1101
+)
9471102 {
9481103 const u32 msg_id = KBASE_TL_NRET_ATOM_LPU;
9491104 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -969,7 +1124,8 @@
9691124 void __kbase_tlstream_tl_ret_as_ctx(
9701125 struct kbase_tlstream *stream,
9711126 const void *address_space,
972
- const void *ctx)
1127
+ const void *ctx
1128
+)
9731129 {
9741130 const u32 msg_id = KBASE_TL_RET_AS_CTX;
9751131 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -995,7 +1151,8 @@
9951151 void __kbase_tlstream_tl_nret_as_ctx(
9961152 struct kbase_tlstream *stream,
9971153 const void *address_space,
998
- const void *ctx)
1154
+ const void *ctx
1155
+)
9991156 {
10001157 const u32 msg_id = KBASE_TL_NRET_AS_CTX;
10011158 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1021,7 +1178,8 @@
10211178 void __kbase_tlstream_tl_ret_atom_as(
10221179 struct kbase_tlstream *stream,
10231180 const void *atom,
1024
- const void *address_space)
1181
+ const void *address_space
1182
+)
10251183 {
10261184 const u32 msg_id = KBASE_TL_RET_ATOM_AS;
10271185 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1047,7 +1205,8 @@
10471205 void __kbase_tlstream_tl_nret_atom_as(
10481206 struct kbase_tlstream *stream,
10491207 const void *atom,
1050
- const void *address_space)
1208
+ const void *address_space
1209
+)
10511210 {
10521211 const u32 msg_id = KBASE_TL_NRET_ATOM_AS;
10531212 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1075,7 +1234,8 @@
10751234 const void *atom,
10761235 u64 descriptor,
10771236 u64 affinity,
1078
- u32 config)
1237
+ u32 config
1238
+)
10791239 {
10801240 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_CONFIG;
10811241 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1104,138 +1264,11 @@
11041264 kbase_tlstream_msgbuf_release(stream, acq_flags);
11051265 }
11061266
1107
-void __kbase_tlstream_tl_attrib_atom_priority(
1108
- struct kbase_tlstream *stream,
1109
- const void *atom,
1110
- u32 prio)
1111
-{
1112
- const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITY;
1113
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1114
- + sizeof(atom)
1115
- + sizeof(prio)
1116
- ;
1117
- char *buffer;
1118
- unsigned long acq_flags;
1119
- size_t pos = 0;
1120
-
1121
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1122
-
1123
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1124
- pos = kbasep_serialize_timestamp(buffer, pos);
1125
- pos = kbasep_serialize_bytes(buffer,
1126
- pos, &atom, sizeof(atom));
1127
- pos = kbasep_serialize_bytes(buffer,
1128
- pos, &prio, sizeof(prio));
1129
-
1130
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1131
-}
1132
-
1133
-void __kbase_tlstream_tl_attrib_atom_state(
1134
- struct kbase_tlstream *stream,
1135
- const void *atom,
1136
- u32 state)
1137
-{
1138
- const u32 msg_id = KBASE_TL_ATTRIB_ATOM_STATE;
1139
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1140
- + sizeof(atom)
1141
- + sizeof(state)
1142
- ;
1143
- char *buffer;
1144
- unsigned long acq_flags;
1145
- size_t pos = 0;
1146
-
1147
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1148
-
1149
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1150
- pos = kbasep_serialize_timestamp(buffer, pos);
1151
- pos = kbasep_serialize_bytes(buffer,
1152
- pos, &atom, sizeof(atom));
1153
- pos = kbasep_serialize_bytes(buffer,
1154
- pos, &state, sizeof(state));
1155
-
1156
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1157
-}
1158
-
1159
-void __kbase_tlstream_tl_attrib_atom_prioritized(
1160
- struct kbase_tlstream *stream,
1161
- const void *atom)
1162
-{
1163
- const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITIZED;
1164
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1165
- + sizeof(atom)
1166
- ;
1167
- char *buffer;
1168
- unsigned long acq_flags;
1169
- size_t pos = 0;
1170
-
1171
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1172
-
1173
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1174
- pos = kbasep_serialize_timestamp(buffer, pos);
1175
- pos = kbasep_serialize_bytes(buffer,
1176
- pos, &atom, sizeof(atom));
1177
-
1178
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1179
-}
1180
-
1181
-void __kbase_tlstream_tl_attrib_atom_jit(
1182
- struct kbase_tlstream *stream,
1183
- const void *atom,
1184
- u64 edit_addr,
1185
- u64 new_addr,
1186
- u32 jit_flags,
1187
- u64 mem_flags,
1188
- u32 j_id,
1189
- u64 com_pgs,
1190
- u64 extent,
1191
- u64 va_pgs)
1192
-{
1193
- const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JIT;
1194
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1195
- + sizeof(atom)
1196
- + sizeof(edit_addr)
1197
- + sizeof(new_addr)
1198
- + sizeof(jit_flags)
1199
- + sizeof(mem_flags)
1200
- + sizeof(j_id)
1201
- + sizeof(com_pgs)
1202
- + sizeof(extent)
1203
- + sizeof(va_pgs)
1204
- ;
1205
- char *buffer;
1206
- unsigned long acq_flags;
1207
- size_t pos = 0;
1208
-
1209
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1210
-
1211
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1212
- pos = kbasep_serialize_timestamp(buffer, pos);
1213
- pos = kbasep_serialize_bytes(buffer,
1214
- pos, &atom, sizeof(atom));
1215
- pos = kbasep_serialize_bytes(buffer,
1216
- pos, &edit_addr, sizeof(edit_addr));
1217
- pos = kbasep_serialize_bytes(buffer,
1218
- pos, &new_addr, sizeof(new_addr));
1219
- pos = kbasep_serialize_bytes(buffer,
1220
- pos, &jit_flags, sizeof(jit_flags));
1221
- pos = kbasep_serialize_bytes(buffer,
1222
- pos, &mem_flags, sizeof(mem_flags));
1223
- pos = kbasep_serialize_bytes(buffer,
1224
- pos, &j_id, sizeof(j_id));
1225
- pos = kbasep_serialize_bytes(buffer,
1226
- pos, &com_pgs, sizeof(com_pgs));
1227
- pos = kbasep_serialize_bytes(buffer,
1228
- pos, &extent, sizeof(extent));
1229
- pos = kbasep_serialize_bytes(buffer,
1230
- pos, &va_pgs, sizeof(va_pgs));
1231
-
1232
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1233
-}
1234
-
12351267 void __kbase_tlstream_tl_jit_usedpages(
12361268 struct kbase_tlstream *stream,
12371269 u64 used_pages,
1238
- u32 j_id)
1270
+ u32 j_id
1271
+)
12391272 {
12401273 const u32 msg_id = KBASE_TL_JIT_USEDPAGES;
12411274 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1268,7 +1301,8 @@
12681301 u32 bin_id,
12691302 u32 max_allocs,
12701303 u32 jit_flags,
1271
- u32 usg_id)
1304
+ u32 usg_id
1305
+)
12721306 {
12731307 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JITALLOCINFO;
12741308 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1315,7 +1349,8 @@
13151349 void __kbase_tlstream_tl_attrib_atom_jitfreeinfo(
13161350 struct kbase_tlstream *stream,
13171351 const void *atom,
1318
- u32 j_id)
1352
+ u32 j_id
1353
+)
13191354 {
13201355 const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JITFREEINFO;
13211356 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1343,7 +1378,8 @@
13431378 const void *address_space,
13441379 u64 transtab,
13451380 u64 memattr,
1346
- u64 transcfg)
1381
+ u64 transcfg
1382
+)
13471383 {
13481384 const u32 msg_id = KBASE_TL_ATTRIB_AS_CONFIG;
13491385 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1374,7 +1410,8 @@
13741410
13751411 void __kbase_tlstream_tl_event_lpu_softstop(
13761412 struct kbase_tlstream *stream,
1377
- const void *lpu)
1413
+ const void *lpu
1414
+)
13781415 {
13791416 const u32 msg_id = KBASE_TL_EVENT_LPU_SOFTSTOP;
13801417 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1396,7 +1433,8 @@
13961433
13971434 void __kbase_tlstream_tl_event_atom_softstop_ex(
13981435 struct kbase_tlstream *stream,
1399
- const void *atom)
1436
+ const void *atom
1437
+)
14001438 {
14011439 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTSTOP_EX;
14021440 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1418,7 +1456,8 @@
14181456
14191457 void __kbase_tlstream_tl_event_atom_softstop_issue(
14201458 struct kbase_tlstream *stream,
1421
- const void *atom)
1459
+ const void *atom
1460
+)
14221461 {
14231462 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTSTOP_ISSUE;
14241463 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1440,7 +1479,8 @@
14401479
14411480 void __kbase_tlstream_tl_event_atom_softjob_start(
14421481 struct kbase_tlstream *stream,
1443
- const void *atom)
1482
+ const void *atom
1483
+)
14441484 {
14451485 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTJOB_START;
14461486 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1462,7 +1502,8 @@
14621502
14631503 void __kbase_tlstream_tl_event_atom_softjob_end(
14641504 struct kbase_tlstream *stream,
1465
- const void *atom)
1505
+ const void *atom
1506
+)
14661507 {
14671508 const u32 msg_id = KBASE_TL_EVENT_ATOM_SOFTJOB_END;
14681509 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1484,7 +1525,8 @@
14841525
14851526 void __kbase_tlstream_tl_arbiter_granted(
14861527 struct kbase_tlstream *stream,
1487
- const void *gpu)
1528
+ const void *gpu
1529
+)
14881530 {
14891531 const u32 msg_id = KBASE_TL_ARBITER_GRANTED;
14901532 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1506,7 +1548,8 @@
15061548
15071549 void __kbase_tlstream_tl_arbiter_started(
15081550 struct kbase_tlstream *stream,
1509
- const void *gpu)
1551
+ const void *gpu
1552
+)
15101553 {
15111554 const u32 msg_id = KBASE_TL_ARBITER_STARTED;
15121555 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1528,7 +1571,8 @@
15281571
15291572 void __kbase_tlstream_tl_arbiter_stop_requested(
15301573 struct kbase_tlstream *stream,
1531
- const void *gpu)
1574
+ const void *gpu
1575
+)
15321576 {
15331577 const u32 msg_id = KBASE_TL_ARBITER_STOP_REQUESTED;
15341578 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1550,7 +1594,8 @@
15501594
15511595 void __kbase_tlstream_tl_arbiter_stopped(
15521596 struct kbase_tlstream *stream,
1553
- const void *gpu)
1597
+ const void *gpu
1598
+)
15541599 {
15551600 const u32 msg_id = KBASE_TL_ARBITER_STOPPED;
15561601 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1572,7 +1617,8 @@
15721617
15731618 void __kbase_tlstream_tl_arbiter_requested(
15741619 struct kbase_tlstream *stream,
1575
- const void *gpu)
1620
+ const void *gpu
1621
+)
15761622 {
15771623 const u32 msg_id = KBASE_TL_ARBITER_REQUESTED;
15781624 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1594,7 +1640,8 @@
15941640
15951641 void __kbase_tlstream_jd_gpu_soft_reset(
15961642 struct kbase_tlstream *stream,
1597
- const void *gpu)
1643
+ const void *gpu
1644
+)
15981645 {
15991646 const u32 msg_id = KBASE_JD_GPU_SOFT_RESET;
16001647 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1614,263 +1661,18 @@
16141661 kbase_tlstream_msgbuf_release(stream, acq_flags);
16151662 }
16161663
1617
-void __kbase_tlstream_aux_pm_state(
1618
- struct kbase_tlstream *stream,
1619
- u32 core_type,
1620
- u64 core_state_bitset)
1621
-{
1622
- const u32 msg_id = KBASE_AUX_PM_STATE;
1623
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1624
- + sizeof(core_type)
1625
- + sizeof(core_state_bitset)
1626
- ;
1627
- char *buffer;
1628
- unsigned long acq_flags;
1629
- size_t pos = 0;
1630
-
1631
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1632
-
1633
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1634
- pos = kbasep_serialize_timestamp(buffer, pos);
1635
- pos = kbasep_serialize_bytes(buffer,
1636
- pos, &core_type, sizeof(core_type));
1637
- pos = kbasep_serialize_bytes(buffer,
1638
- pos, &core_state_bitset, sizeof(core_state_bitset));
1639
-
1640
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1641
-}
1642
-
1643
-void __kbase_tlstream_aux_pagefault(
1644
- struct kbase_tlstream *stream,
1645
- u32 ctx_nr,
1646
- u32 as_nr,
1647
- u64 page_cnt_change)
1648
-{
1649
- const u32 msg_id = KBASE_AUX_PAGEFAULT;
1650
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1651
- + sizeof(ctx_nr)
1652
- + sizeof(as_nr)
1653
- + sizeof(page_cnt_change)
1654
- ;
1655
- char *buffer;
1656
- unsigned long acq_flags;
1657
- size_t pos = 0;
1658
-
1659
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1660
-
1661
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1662
- pos = kbasep_serialize_timestamp(buffer, pos);
1663
- pos = kbasep_serialize_bytes(buffer,
1664
- pos, &ctx_nr, sizeof(ctx_nr));
1665
- pos = kbasep_serialize_bytes(buffer,
1666
- pos, &as_nr, sizeof(as_nr));
1667
- pos = kbasep_serialize_bytes(buffer,
1668
- pos, &page_cnt_change, sizeof(page_cnt_change));
1669
-
1670
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1671
-}
1672
-
1673
-void __kbase_tlstream_aux_pagesalloc(
1674
- struct kbase_tlstream *stream,
1675
- u32 ctx_nr,
1676
- u64 page_cnt)
1677
-{
1678
- const u32 msg_id = KBASE_AUX_PAGESALLOC;
1679
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1680
- + sizeof(ctx_nr)
1681
- + sizeof(page_cnt)
1682
- ;
1683
- char *buffer;
1684
- unsigned long acq_flags;
1685
- size_t pos = 0;
1686
-
1687
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1688
-
1689
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1690
- pos = kbasep_serialize_timestamp(buffer, pos);
1691
- pos = kbasep_serialize_bytes(buffer,
1692
- pos, &ctx_nr, sizeof(ctx_nr));
1693
- pos = kbasep_serialize_bytes(buffer,
1694
- pos, &page_cnt, sizeof(page_cnt));
1695
-
1696
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1697
-}
1698
-
1699
-void __kbase_tlstream_aux_devfreq_target(
1700
- struct kbase_tlstream *stream,
1701
- u64 target_freq)
1702
-{
1703
- const u32 msg_id = KBASE_AUX_DEVFREQ_TARGET;
1704
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1705
- + sizeof(target_freq)
1706
- ;
1707
- char *buffer;
1708
- unsigned long acq_flags;
1709
- size_t pos = 0;
1710
-
1711
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1712
-
1713
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1714
- pos = kbasep_serialize_timestamp(buffer, pos);
1715
- pos = kbasep_serialize_bytes(buffer,
1716
- pos, &target_freq, sizeof(target_freq));
1717
-
1718
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1719
-}
1720
-
1721
-void __kbase_tlstream_aux_protected_enter_start(
1722
- struct kbase_tlstream *stream,
1723
- const void *gpu)
1724
-{
1725
- const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_START;
1726
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1727
- + sizeof(gpu)
1728
- ;
1729
- char *buffer;
1730
- unsigned long acq_flags;
1731
- size_t pos = 0;
1732
-
1733
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1734
-
1735
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1736
- pos = kbasep_serialize_timestamp(buffer, pos);
1737
- pos = kbasep_serialize_bytes(buffer,
1738
- pos, &gpu, sizeof(gpu));
1739
-
1740
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1741
-}
1742
-
1743
-void __kbase_tlstream_aux_protected_enter_end(
1744
- struct kbase_tlstream *stream,
1745
- const void *gpu)
1746
-{
1747
- const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_END;
1748
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1749
- + sizeof(gpu)
1750
- ;
1751
- char *buffer;
1752
- unsigned long acq_flags;
1753
- size_t pos = 0;
1754
-
1755
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1756
-
1757
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1758
- pos = kbasep_serialize_timestamp(buffer, pos);
1759
- pos = kbasep_serialize_bytes(buffer,
1760
- pos, &gpu, sizeof(gpu));
1761
-
1762
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1763
-}
1764
-
1765
-void __kbase_tlstream_aux_protected_leave_start(
1766
- struct kbase_tlstream *stream,
1767
- const void *gpu)
1768
-{
1769
- const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_START;
1770
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1771
- + sizeof(gpu)
1772
- ;
1773
- char *buffer;
1774
- unsigned long acq_flags;
1775
- size_t pos = 0;
1776
-
1777
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1778
-
1779
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1780
- pos = kbasep_serialize_timestamp(buffer, pos);
1781
- pos = kbasep_serialize_bytes(buffer,
1782
- pos, &gpu, sizeof(gpu));
1783
-
1784
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1785
-}
1786
-
1787
-void __kbase_tlstream_aux_protected_leave_end(
1788
- struct kbase_tlstream *stream,
1789
- const void *gpu)
1790
-{
1791
- const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_END;
1792
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1793
- + sizeof(gpu)
1794
- ;
1795
- char *buffer;
1796
- unsigned long acq_flags;
1797
- size_t pos = 0;
1798
-
1799
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1800
-
1801
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1802
- pos = kbasep_serialize_timestamp(buffer, pos);
1803
- pos = kbasep_serialize_bytes(buffer,
1804
- pos, &gpu, sizeof(gpu));
1805
-
1806
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1807
-}
1808
-
1809
-void __kbase_tlstream_aux_jit_stats(
1810
- struct kbase_tlstream *stream,
1811
- u32 ctx_nr,
1812
- u32 bid,
1813
- u32 max_allocs,
1814
- u32 allocs,
1815
- u32 va_pages,
1816
- u32 ph_pages)
1817
-{
1818
- const u32 msg_id = KBASE_AUX_JIT_STATS;
1819
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1820
- + sizeof(ctx_nr)
1821
- + sizeof(bid)
1822
- + sizeof(max_allocs)
1823
- + sizeof(allocs)
1824
- + sizeof(va_pages)
1825
- + sizeof(ph_pages)
1826
- ;
1827
- char *buffer;
1828
- unsigned long acq_flags;
1829
- size_t pos = 0;
1830
-
1831
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1832
-
1833
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1834
- pos = kbasep_serialize_timestamp(buffer, pos);
1835
- pos = kbasep_serialize_bytes(buffer,
1836
- pos, &ctx_nr, sizeof(ctx_nr));
1837
- pos = kbasep_serialize_bytes(buffer,
1838
- pos, &bid, sizeof(bid));
1839
- pos = kbasep_serialize_bytes(buffer,
1840
- pos, &max_allocs, sizeof(max_allocs));
1841
- pos = kbasep_serialize_bytes(buffer,
1842
- pos, &allocs, sizeof(allocs));
1843
- pos = kbasep_serialize_bytes(buffer,
1844
- pos, &va_pages, sizeof(va_pages));
1845
- pos = kbasep_serialize_bytes(buffer,
1846
- pos, &ph_pages, sizeof(ph_pages));
1847
-
1848
- kbase_tlstream_msgbuf_release(stream, acq_flags);
1849
-}
1850
-
1851
-void __kbase_tlstream_aux_tiler_heap_stats(
1664
+void __kbase_tlstream_jd_tiler_heap_chunk_alloc(
18521665 struct kbase_tlstream *stream,
18531666 u32 ctx_nr,
18541667 u64 heap_id,
1855
- u32 va_pages,
1856
- u32 ph_pages,
1857
- u32 max_chunks,
1858
- u32 chunk_size,
1859
- u32 chunk_count,
1860
- u32 target_in_flight,
1861
- u32 nr_in_flight)
1668
+ u64 chunk_va
1669
+)
18621670 {
1863
- const u32 msg_id = KBASE_AUX_TILER_HEAP_STATS;
1671
+ const u32 msg_id = KBASE_JD_TILER_HEAP_CHUNK_ALLOC;
18641672 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
18651673 + sizeof(ctx_nr)
18661674 + sizeof(heap_id)
1867
- + sizeof(va_pages)
1868
- + sizeof(ph_pages)
1869
- + sizeof(max_chunks)
1870
- + sizeof(chunk_size)
1871
- + sizeof(chunk_count)
1872
- + sizeof(target_in_flight)
1873
- + sizeof(nr_in_flight)
1675
+ + sizeof(chunk_va)
18741676 ;
18751677 char *buffer;
18761678 unsigned long acq_flags;
....@@ -1885,36 +1687,19 @@
18851687 pos = kbasep_serialize_bytes(buffer,
18861688 pos, &heap_id, sizeof(heap_id));
18871689 pos = kbasep_serialize_bytes(buffer,
1888
- pos, &va_pages, sizeof(va_pages));
1889
- pos = kbasep_serialize_bytes(buffer,
1890
- pos, &ph_pages, sizeof(ph_pages));
1891
- pos = kbasep_serialize_bytes(buffer,
1892
- pos, &max_chunks, sizeof(max_chunks));
1893
- pos = kbasep_serialize_bytes(buffer,
1894
- pos, &chunk_size, sizeof(chunk_size));
1895
- pos = kbasep_serialize_bytes(buffer,
1896
- pos, &chunk_count, sizeof(chunk_count));
1897
- pos = kbasep_serialize_bytes(buffer,
1898
- pos, &target_in_flight, sizeof(target_in_flight));
1899
- pos = kbasep_serialize_bytes(buffer,
1900
- pos, &nr_in_flight, sizeof(nr_in_flight));
1690
+ pos, &chunk_va, sizeof(chunk_va));
19011691
19021692 kbase_tlstream_msgbuf_release(stream, acq_flags);
19031693 }
19041694
1905
-void __kbase_tlstream_aux_event_job_slot(
1695
+void __kbase_tlstream_tl_js_sched_start(
19061696 struct kbase_tlstream *stream,
1907
- const void *ctx,
1908
- u32 slot_nr,
1909
- u32 atom_nr,
1910
- u32 event)
1697
+ u32 dummy
1698
+)
19111699 {
1912
- const u32 msg_id = KBASE_AUX_EVENT_JOB_SLOT;
1700
+ const u32 msg_id = KBASE_TL_JS_SCHED_START;
19131701 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1914
- + sizeof(ctx)
1915
- + sizeof(slot_nr)
1916
- + sizeof(atom_nr)
1917
- + sizeof(event)
1702
+ + sizeof(dummy)
19181703 ;
19191704 char *buffer;
19201705 unsigned long acq_flags;
....@@ -1925,13 +1710,377 @@
19251710 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
19261711 pos = kbasep_serialize_timestamp(buffer, pos);
19271712 pos = kbasep_serialize_bytes(buffer,
1928
- pos, &ctx, sizeof(ctx));
1713
+ pos, &dummy, sizeof(dummy));
1714
+
1715
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1716
+}
1717
+
1718
+void __kbase_tlstream_tl_js_sched_end(
1719
+ struct kbase_tlstream *stream,
1720
+ u32 dummy
1721
+)
1722
+{
1723
+ const u32 msg_id = KBASE_TL_JS_SCHED_END;
1724
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1725
+ + sizeof(dummy)
1726
+ ;
1727
+ char *buffer;
1728
+ unsigned long acq_flags;
1729
+ size_t pos = 0;
1730
+
1731
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1732
+
1733
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1734
+ pos = kbasep_serialize_timestamp(buffer, pos);
19291735 pos = kbasep_serialize_bytes(buffer,
1930
- pos, &slot_nr, sizeof(slot_nr));
1736
+ pos, &dummy, sizeof(dummy));
1737
+
1738
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1739
+}
1740
+
1741
+void __kbase_tlstream_tl_jd_submit_atom_start(
1742
+ struct kbase_tlstream *stream,
1743
+ const void *atom
1744
+)
1745
+{
1746
+ const u32 msg_id = KBASE_TL_JD_SUBMIT_ATOM_START;
1747
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1748
+ + sizeof(atom)
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, &atom, sizeof(atom));
1760
+
1761
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1762
+}
1763
+
1764
+void __kbase_tlstream_tl_jd_submit_atom_end(
1765
+ struct kbase_tlstream *stream,
1766
+ const void *atom
1767
+)
1768
+{
1769
+ const u32 msg_id = KBASE_TL_JD_SUBMIT_ATOM_END;
1770
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1771
+ + sizeof(atom)
1772
+ ;
1773
+ char *buffer;
1774
+ unsigned long acq_flags;
1775
+ size_t pos = 0;
1776
+
1777
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1778
+
1779
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1780
+ pos = kbasep_serialize_timestamp(buffer, pos);
1781
+ pos = kbasep_serialize_bytes(buffer,
1782
+ pos, &atom, sizeof(atom));
1783
+
1784
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1785
+}
1786
+
1787
+void __kbase_tlstream_tl_jd_done_no_lock_start(
1788
+ struct kbase_tlstream *stream,
1789
+ const void *atom
1790
+)
1791
+{
1792
+ const u32 msg_id = KBASE_TL_JD_DONE_NO_LOCK_START;
1793
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1794
+ + sizeof(atom)
1795
+ ;
1796
+ char *buffer;
1797
+ unsigned long acq_flags;
1798
+ size_t pos = 0;
1799
+
1800
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1801
+
1802
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1803
+ pos = kbasep_serialize_timestamp(buffer, pos);
1804
+ pos = kbasep_serialize_bytes(buffer,
1805
+ pos, &atom, sizeof(atom));
1806
+
1807
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1808
+}
1809
+
1810
+void __kbase_tlstream_tl_jd_done_no_lock_end(
1811
+ struct kbase_tlstream *stream,
1812
+ const void *atom
1813
+)
1814
+{
1815
+ const u32 msg_id = KBASE_TL_JD_DONE_NO_LOCK_END;
1816
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1817
+ + sizeof(atom)
1818
+ ;
1819
+ char *buffer;
1820
+ unsigned long acq_flags;
1821
+ size_t pos = 0;
1822
+
1823
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1824
+
1825
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1826
+ pos = kbasep_serialize_timestamp(buffer, pos);
1827
+ pos = kbasep_serialize_bytes(buffer,
1828
+ pos, &atom, sizeof(atom));
1829
+
1830
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1831
+}
1832
+
1833
+void __kbase_tlstream_tl_jd_done_start(
1834
+ struct kbase_tlstream *stream,
1835
+ const void *atom
1836
+)
1837
+{
1838
+ const u32 msg_id = KBASE_TL_JD_DONE_START;
1839
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1840
+ + sizeof(atom)
1841
+ ;
1842
+ char *buffer;
1843
+ unsigned long acq_flags;
1844
+ size_t pos = 0;
1845
+
1846
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1847
+
1848
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1849
+ pos = kbasep_serialize_timestamp(buffer, pos);
1850
+ pos = kbasep_serialize_bytes(buffer,
1851
+ pos, &atom, sizeof(atom));
1852
+
1853
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1854
+}
1855
+
1856
+void __kbase_tlstream_tl_jd_done_end(
1857
+ struct kbase_tlstream *stream,
1858
+ const void *atom
1859
+)
1860
+{
1861
+ const u32 msg_id = KBASE_TL_JD_DONE_END;
1862
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1863
+ + sizeof(atom)
1864
+ ;
1865
+ char *buffer;
1866
+ unsigned long acq_flags;
1867
+ size_t pos = 0;
1868
+
1869
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1870
+
1871
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1872
+ pos = kbasep_serialize_timestamp(buffer, pos);
1873
+ pos = kbasep_serialize_bytes(buffer,
1874
+ pos, &atom, sizeof(atom));
1875
+
1876
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1877
+}
1878
+
1879
+void __kbase_tlstream_tl_jd_atom_complete(
1880
+ struct kbase_tlstream *stream,
1881
+ const void *atom
1882
+)
1883
+{
1884
+ const u32 msg_id = KBASE_TL_JD_ATOM_COMPLETE;
1885
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1886
+ + sizeof(atom)
1887
+ ;
1888
+ char *buffer;
1889
+ unsigned long acq_flags;
1890
+ size_t pos = 0;
1891
+
1892
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1893
+
1894
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1895
+ pos = kbasep_serialize_timestamp(buffer, pos);
1896
+ pos = kbasep_serialize_bytes(buffer,
1897
+ pos, &atom, sizeof(atom));
1898
+
1899
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1900
+}
1901
+
1902
+void __kbase_tlstream_tl_run_atom_start(
1903
+ struct kbase_tlstream *stream,
1904
+ const void *atom,
1905
+ u32 atom_nr
1906
+)
1907
+{
1908
+ const u32 msg_id = KBASE_TL_RUN_ATOM_START;
1909
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1910
+ + sizeof(atom)
1911
+ + sizeof(atom_nr)
1912
+ ;
1913
+ char *buffer;
1914
+ unsigned long acq_flags;
1915
+ size_t pos = 0;
1916
+
1917
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1918
+
1919
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1920
+ pos = kbasep_serialize_timestamp(buffer, pos);
1921
+ pos = kbasep_serialize_bytes(buffer,
1922
+ pos, &atom, sizeof(atom));
19311923 pos = kbasep_serialize_bytes(buffer,
19321924 pos, &atom_nr, sizeof(atom_nr));
1925
+
1926
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1927
+}
1928
+
1929
+void __kbase_tlstream_tl_run_atom_end(
1930
+ struct kbase_tlstream *stream,
1931
+ const void *atom,
1932
+ u32 atom_nr
1933
+)
1934
+{
1935
+ const u32 msg_id = KBASE_TL_RUN_ATOM_END;
1936
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1937
+ + sizeof(atom)
1938
+ + sizeof(atom_nr)
1939
+ ;
1940
+ char *buffer;
1941
+ unsigned long acq_flags;
1942
+ size_t pos = 0;
1943
+
1944
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1945
+
1946
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1947
+ pos = kbasep_serialize_timestamp(buffer, pos);
19331948 pos = kbasep_serialize_bytes(buffer,
1934
- pos, &event, sizeof(event));
1949
+ pos, &atom, sizeof(atom));
1950
+ pos = kbasep_serialize_bytes(buffer,
1951
+ pos, &atom_nr, sizeof(atom_nr));
1952
+
1953
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1954
+}
1955
+
1956
+void __kbase_tlstream_tl_attrib_atom_priority(
1957
+ struct kbase_tlstream *stream,
1958
+ const void *atom,
1959
+ u32 prio
1960
+)
1961
+{
1962
+ const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITY;
1963
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1964
+ + sizeof(atom)
1965
+ + sizeof(prio)
1966
+ ;
1967
+ char *buffer;
1968
+ unsigned long acq_flags;
1969
+ size_t pos = 0;
1970
+
1971
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1972
+
1973
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
1974
+ pos = kbasep_serialize_timestamp(buffer, pos);
1975
+ pos = kbasep_serialize_bytes(buffer,
1976
+ pos, &atom, sizeof(atom));
1977
+ pos = kbasep_serialize_bytes(buffer,
1978
+ pos, &prio, sizeof(prio));
1979
+
1980
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
1981
+}
1982
+
1983
+void __kbase_tlstream_tl_attrib_atom_state(
1984
+ struct kbase_tlstream *stream,
1985
+ const void *atom,
1986
+ u32 state
1987
+)
1988
+{
1989
+ const u32 msg_id = KBASE_TL_ATTRIB_ATOM_STATE;
1990
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
1991
+ + sizeof(atom)
1992
+ + sizeof(state)
1993
+ ;
1994
+ char *buffer;
1995
+ unsigned long acq_flags;
1996
+ size_t pos = 0;
1997
+
1998
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
1999
+
2000
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2001
+ pos = kbasep_serialize_timestamp(buffer, pos);
2002
+ pos = kbasep_serialize_bytes(buffer,
2003
+ pos, &atom, sizeof(atom));
2004
+ pos = kbasep_serialize_bytes(buffer,
2005
+ pos, &state, sizeof(state));
2006
+
2007
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2008
+}
2009
+
2010
+void __kbase_tlstream_tl_attrib_atom_prioritized(
2011
+ struct kbase_tlstream *stream,
2012
+ const void *atom
2013
+)
2014
+{
2015
+ const u32 msg_id = KBASE_TL_ATTRIB_ATOM_PRIORITIZED;
2016
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2017
+ + sizeof(atom)
2018
+ ;
2019
+ char *buffer;
2020
+ unsigned long acq_flags;
2021
+ size_t pos = 0;
2022
+
2023
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2024
+
2025
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2026
+ pos = kbasep_serialize_timestamp(buffer, pos);
2027
+ pos = kbasep_serialize_bytes(buffer,
2028
+ pos, &atom, sizeof(atom));
2029
+
2030
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2031
+}
2032
+
2033
+void __kbase_tlstream_tl_attrib_atom_jit(
2034
+ struct kbase_tlstream *stream,
2035
+ const void *atom,
2036
+ u64 edit_addr,
2037
+ u64 new_addr,
2038
+ u32 jit_flags,
2039
+ u64 mem_flags,
2040
+ u32 j_id,
2041
+ u64 com_pgs,
2042
+ u64 extent,
2043
+ u64 va_pgs
2044
+)
2045
+{
2046
+ const u32 msg_id = KBASE_TL_ATTRIB_ATOM_JIT;
2047
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2048
+ + sizeof(atom)
2049
+ + sizeof(edit_addr)
2050
+ + sizeof(new_addr)
2051
+ + sizeof(jit_flags)
2052
+ + sizeof(mem_flags)
2053
+ + sizeof(j_id)
2054
+ + sizeof(com_pgs)
2055
+ + sizeof(extent)
2056
+ + sizeof(va_pgs)
2057
+ ;
2058
+ char *buffer;
2059
+ unsigned long acq_flags;
2060
+ size_t pos = 0;
2061
+
2062
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2063
+
2064
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2065
+ pos = kbasep_serialize_timestamp(buffer, pos);
2066
+ pos = kbasep_serialize_bytes(buffer,
2067
+ pos, &atom, sizeof(atom));
2068
+ pos = kbasep_serialize_bytes(buffer,
2069
+ pos, &edit_addr, sizeof(edit_addr));
2070
+ pos = kbasep_serialize_bytes(buffer,
2071
+ pos, &new_addr, sizeof(new_addr));
2072
+ pos = kbasep_serialize_bytes(buffer,
2073
+ pos, &jit_flags, sizeof(jit_flags));
2074
+ pos = kbasep_serialize_bytes(buffer,
2075
+ pos, &mem_flags, sizeof(mem_flags));
2076
+ pos = kbasep_serialize_bytes(buffer,
2077
+ pos, &j_id, sizeof(j_id));
2078
+ pos = kbasep_serialize_bytes(buffer,
2079
+ pos, &com_pgs, sizeof(com_pgs));
2080
+ pos = kbasep_serialize_bytes(buffer,
2081
+ pos, &extent, sizeof(extent));
2082
+ pos = kbasep_serialize_bytes(buffer,
2083
+ pos, &va_pgs, sizeof(va_pgs));
19352084
19362085 kbase_tlstream_msgbuf_release(stream, acq_flags);
19372086 }
....@@ -1941,7 +2090,11 @@
19412090 u32 kbase_device_id,
19422091 u32 kbase_device_gpu_core_count,
19432092 u32 kbase_device_max_num_csgs,
1944
- u32 kbase_device_as_count)
2093
+ u32 kbase_device_as_count,
2094
+ u32 kbase_device_sb_entry_count,
2095
+ u32 kbase_device_has_cross_stream_sync,
2096
+ u32 kbase_device_supports_gpu_sleep
2097
+)
19452098 {
19462099 const u32 msg_id = KBASE_TL_KBASE_NEW_DEVICE;
19472100 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -1949,6 +2102,9 @@
19492102 + sizeof(kbase_device_gpu_core_count)
19502103 + sizeof(kbase_device_max_num_csgs)
19512104 + sizeof(kbase_device_as_count)
2105
+ + sizeof(kbase_device_sb_entry_count)
2106
+ + sizeof(kbase_device_has_cross_stream_sync)
2107
+ + sizeof(kbase_device_supports_gpu_sleep)
19522108 ;
19532109 char *buffer;
19542110 unsigned long acq_flags;
....@@ -1966,6 +2122,39 @@
19662122 pos, &kbase_device_max_num_csgs, sizeof(kbase_device_max_num_csgs));
19672123 pos = kbasep_serialize_bytes(buffer,
19682124 pos, &kbase_device_as_count, sizeof(kbase_device_as_count));
2125
+ pos = kbasep_serialize_bytes(buffer,
2126
+ pos, &kbase_device_sb_entry_count, sizeof(kbase_device_sb_entry_count));
2127
+ pos = kbasep_serialize_bytes(buffer,
2128
+ pos, &kbase_device_has_cross_stream_sync, sizeof(kbase_device_has_cross_stream_sync));
2129
+ pos = kbasep_serialize_bytes(buffer,
2130
+ pos, &kbase_device_supports_gpu_sleep, sizeof(kbase_device_supports_gpu_sleep));
2131
+
2132
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2133
+}
2134
+
2135
+void __kbase_tlstream_tl_kbase_gpucmdqueue_kick(
2136
+ struct kbase_tlstream *stream,
2137
+ u32 kernel_ctx_id,
2138
+ u64 buffer_gpu_addr
2139
+)
2140
+{
2141
+ const u32 msg_id = KBASE_TL_KBASE_GPUCMDQUEUE_KICK;
2142
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2143
+ + sizeof(kernel_ctx_id)
2144
+ + sizeof(buffer_gpu_addr)
2145
+ ;
2146
+ char *buffer;
2147
+ unsigned long acq_flags;
2148
+ size_t pos = 0;
2149
+
2150
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2151
+
2152
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2153
+ pos = kbasep_serialize_timestamp(buffer, pos);
2154
+ pos = kbasep_serialize_bytes(buffer,
2155
+ pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2156
+ pos = kbasep_serialize_bytes(buffer,
2157
+ pos, &buffer_gpu_addr, sizeof(buffer_gpu_addr));
19692158
19702159 kbase_tlstream_msgbuf_release(stream, acq_flags);
19712160 }
....@@ -1973,13 +2162,51 @@
19732162 void __kbase_tlstream_tl_kbase_device_program_csg(
19742163 struct kbase_tlstream *stream,
19752164 u32 kbase_device_id,
2165
+ u32 kernel_ctx_id,
19762166 u32 gpu_cmdq_grp_handle,
1977
- u32 kbase_device_csg_slot_index)
2167
+ u32 kbase_device_csg_slot_index,
2168
+ u32 kbase_device_csg_slot_resuming
2169
+)
19782170 {
19792171 const u32 msg_id = KBASE_TL_KBASE_DEVICE_PROGRAM_CSG;
19802172 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
19812173 + sizeof(kbase_device_id)
2174
+ + sizeof(kernel_ctx_id)
19822175 + sizeof(gpu_cmdq_grp_handle)
2176
+ + sizeof(kbase_device_csg_slot_index)
2177
+ + sizeof(kbase_device_csg_slot_resuming)
2178
+ ;
2179
+ char *buffer;
2180
+ unsigned long acq_flags;
2181
+ size_t pos = 0;
2182
+
2183
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2184
+
2185
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2186
+ pos = kbasep_serialize_timestamp(buffer, pos);
2187
+ pos = kbasep_serialize_bytes(buffer,
2188
+ pos, &kbase_device_id, sizeof(kbase_device_id));
2189
+ pos = kbasep_serialize_bytes(buffer,
2190
+ pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
2191
+ pos = kbasep_serialize_bytes(buffer,
2192
+ pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2193
+ pos = kbasep_serialize_bytes(buffer,
2194
+ pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2195
+ pos = kbasep_serialize_bytes(buffer,
2196
+ pos, &kbase_device_csg_slot_resuming, sizeof(kbase_device_csg_slot_resuming));
2197
+
2198
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2199
+}
2200
+
2201
+void __kbase_tlstream_tl_kbase_device_deprogram_csg(
2202
+ struct kbase_tlstream *stream,
2203
+ u32 kbase_device_id,
2204
+ u32 kbase_device_csg_slot_index
2205
+)
2206
+{
2207
+ const u32 msg_id = KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG;
2208
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2209
+ + sizeof(kbase_device_id)
19832210 + sizeof(kbase_device_csg_slot_index)
19842211 ;
19852212 char *buffer;
....@@ -1993,19 +2220,76 @@
19932220 pos = kbasep_serialize_bytes(buffer,
19942221 pos, &kbase_device_id, sizeof(kbase_device_id));
19952222 pos = kbasep_serialize_bytes(buffer,
1996
- pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2223
+ pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2224
+
2225
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2226
+}
2227
+
2228
+void __kbase_tlstream_tl_kbase_device_halting_csg(
2229
+ struct kbase_tlstream *stream,
2230
+ u32 kbase_device_id,
2231
+ u32 kbase_device_csg_slot_index,
2232
+ u32 kbase_device_csg_slot_suspending
2233
+)
2234
+{
2235
+ const u32 msg_id = KBASE_TL_KBASE_DEVICE_HALTING_CSG;
2236
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2237
+ + sizeof(kbase_device_id)
2238
+ + sizeof(kbase_device_csg_slot_index)
2239
+ + sizeof(kbase_device_csg_slot_suspending)
2240
+ ;
2241
+ char *buffer;
2242
+ unsigned long acq_flags;
2243
+ size_t pos = 0;
2244
+
2245
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2246
+
2247
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2248
+ pos = kbasep_serialize_timestamp(buffer, pos);
2249
+ pos = kbasep_serialize_bytes(buffer,
2250
+ pos, &kbase_device_id, sizeof(kbase_device_id));
2251
+ pos = kbasep_serialize_bytes(buffer,
2252
+ pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
2253
+ pos = kbasep_serialize_bytes(buffer,
2254
+ pos, &kbase_device_csg_slot_suspending, sizeof(kbase_device_csg_slot_suspending));
2255
+
2256
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2257
+}
2258
+
2259
+void __kbase_tlstream_tl_kbase_device_suspend_csg(
2260
+ struct kbase_tlstream *stream,
2261
+ u32 kbase_device_id,
2262
+ u32 kbase_device_csg_slot_index
2263
+)
2264
+{
2265
+ const u32 msg_id = KBASE_TL_KBASE_DEVICE_SUSPEND_CSG;
2266
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2267
+ + sizeof(kbase_device_id)
2268
+ + sizeof(kbase_device_csg_slot_index)
2269
+ ;
2270
+ char *buffer;
2271
+ unsigned long acq_flags;
2272
+ size_t pos = 0;
2273
+
2274
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2275
+
2276
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2277
+ pos = kbasep_serialize_timestamp(buffer, pos);
2278
+ pos = kbasep_serialize_bytes(buffer,
2279
+ pos, &kbase_device_id, sizeof(kbase_device_id));
19972280 pos = kbasep_serialize_bytes(buffer,
19982281 pos, &kbase_device_csg_slot_index, sizeof(kbase_device_csg_slot_index));
19992282
20002283 kbase_tlstream_msgbuf_release(stream, acq_flags);
20012284 }
20022285
2003
-void __kbase_tlstream_tl_kbase_device_deprogram_csg(
2286
+void __kbase_tlstream_tl_kbase_device_csg_idle(
20042287 struct kbase_tlstream *stream,
20052288 u32 kbase_device_id,
2006
- u32 kbase_device_csg_slot_index)
2289
+ u32 kbase_device_csg_slot_index
2290
+)
20072291 {
2008
- const u32 msg_id = KBASE_TL_KBASE_DEVICE_DEPROGRAM_CSG;
2292
+ const u32 msg_id = KBASE_TL_KBASE_DEVICE_CSG_IDLE;
20092293 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
20102294 + sizeof(kbase_device_id)
20112295 + sizeof(kbase_device_csg_slot_index)
....@@ -2029,7 +2313,8 @@
20292313 void __kbase_tlstream_tl_kbase_new_ctx(
20302314 struct kbase_tlstream *stream,
20312315 u32 kernel_ctx_id,
2032
- u32 kbase_device_id)
2316
+ u32 kbase_device_id
2317
+)
20332318 {
20342319 const u32 msg_id = KBASE_TL_KBASE_NEW_CTX;
20352320 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2054,7 +2339,8 @@
20542339
20552340 void __kbase_tlstream_tl_kbase_del_ctx(
20562341 struct kbase_tlstream *stream,
2057
- u32 kernel_ctx_id)
2342
+ u32 kernel_ctx_id
2343
+)
20582344 {
20592345 const u32 msg_id = KBASE_TL_KBASE_DEL_CTX;
20602346 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2077,7 +2363,8 @@
20772363 void __kbase_tlstream_tl_kbase_ctx_assign_as(
20782364 struct kbase_tlstream *stream,
20792365 u32 kernel_ctx_id,
2080
- u32 kbase_device_as_index)
2366
+ u32 kbase_device_as_index
2367
+)
20812368 {
20822369 const u32 msg_id = KBASE_TL_KBASE_CTX_ASSIGN_AS;
20832370 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2102,7 +2389,8 @@
21022389
21032390 void __kbase_tlstream_tl_kbase_ctx_unassign_as(
21042391 struct kbase_tlstream *stream,
2105
- u32 kernel_ctx_id)
2392
+ u32 kernel_ctx_id
2393
+)
21062394 {
21072395 const u32 msg_id = KBASE_TL_KBASE_CTX_UNASSIGN_AS;
21082396 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2125,12 +2413,15 @@
21252413 void __kbase_tlstream_tl_kbase_new_kcpuqueue(
21262414 struct kbase_tlstream *stream,
21272415 const void *kcpu_queue,
2416
+ u32 kcpu_queue_id,
21282417 u32 kernel_ctx_id,
2129
- u32 kcpuq_num_pending_cmds)
2418
+ u32 kcpuq_num_pending_cmds
2419
+)
21302420 {
21312421 const u32 msg_id = KBASE_TL_KBASE_NEW_KCPUQUEUE;
21322422 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
21332423 + sizeof(kcpu_queue)
2424
+ + sizeof(kcpu_queue_id)
21342425 + sizeof(kernel_ctx_id)
21352426 + sizeof(kcpuq_num_pending_cmds)
21362427 ;
....@@ -2145,6 +2436,8 @@
21452436 pos = kbasep_serialize_bytes(buffer,
21462437 pos, &kcpu_queue, sizeof(kcpu_queue));
21472438 pos = kbasep_serialize_bytes(buffer,
2439
+ pos, &kcpu_queue_id, sizeof(kcpu_queue_id));
2440
+ pos = kbasep_serialize_bytes(buffer,
21482441 pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
21492442 pos = kbasep_serialize_bytes(buffer,
21502443 pos, &kcpuq_num_pending_cmds, sizeof(kcpuq_num_pending_cmds));
....@@ -2154,7 +2447,8 @@
21542447
21552448 void __kbase_tlstream_tl_kbase_del_kcpuqueue(
21562449 struct kbase_tlstream *stream,
2157
- const void *kcpu_queue)
2450
+ const void *kcpu_queue
2451
+)
21582452 {
21592453 const u32 msg_id = KBASE_TL_KBASE_DEL_KCPUQUEUE;
21602454 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2177,7 +2471,8 @@
21772471 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_signal(
21782472 struct kbase_tlstream *stream,
21792473 const void *kcpu_queue,
2180
- const void *fence)
2474
+ const void *fence
2475
+)
21812476 {
21822477 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_SIGNAL;
21832478 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2203,7 +2498,8 @@
22032498 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_fence_wait(
22042499 struct kbase_tlstream *stream,
22052500 const void *kcpu_queue,
2206
- const void *fence)
2501
+ const void *fence
2502
+)
22072503 {
22082504 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_FENCE_WAIT;
22092505 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2230,15 +2526,16 @@
22302526 struct kbase_tlstream *stream,
22312527 const void *kcpu_queue,
22322528 u64 cqs_obj_gpu_addr,
2233
- u32 cqs_obj_compare_value,
2234
- u32 cqs_obj_inherit_error)
2529
+ u32 compare_value,
2530
+ u32 inherit_error
2531
+)
22352532 {
22362533 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT;
22372534 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
22382535 + sizeof(kcpu_queue)
22392536 + sizeof(cqs_obj_gpu_addr)
2240
- + sizeof(cqs_obj_compare_value)
2241
- + sizeof(cqs_obj_inherit_error)
2537
+ + sizeof(compare_value)
2538
+ + sizeof(inherit_error)
22422539 ;
22432540 char *buffer;
22442541 unsigned long acq_flags;
....@@ -2253,9 +2550,9 @@
22532550 pos = kbasep_serialize_bytes(buffer,
22542551 pos, &cqs_obj_gpu_addr, sizeof(cqs_obj_gpu_addr));
22552552 pos = kbasep_serialize_bytes(buffer,
2256
- pos, &cqs_obj_compare_value, sizeof(cqs_obj_compare_value));
2553
+ pos, &compare_value, sizeof(compare_value));
22572554 pos = kbasep_serialize_bytes(buffer,
2258
- pos, &cqs_obj_inherit_error, sizeof(cqs_obj_inherit_error));
2555
+ pos, &inherit_error, sizeof(inherit_error));
22592556
22602557 kbase_tlstream_msgbuf_release(stream, acq_flags);
22612558 }
....@@ -2263,7 +2560,8 @@
22632560 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_set(
22642561 struct kbase_tlstream *stream,
22652562 const void *kcpu_queue,
2266
- u64 cqs_obj_gpu_addr)
2563
+ u64 cqs_obj_gpu_addr
2564
+)
22672565 {
22682566 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET;
22692567 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2286,10 +2584,93 @@
22862584 kbase_tlstream_msgbuf_release(stream, acq_flags);
22872585 }
22882586
2587
+void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_wait_operation(
2588
+ struct kbase_tlstream *stream,
2589
+ const void *kcpu_queue,
2590
+ u64 cqs_obj_gpu_addr,
2591
+ u64 compare_value,
2592
+ u32 condition,
2593
+ u32 data_type,
2594
+ u32 inherit_error
2595
+)
2596
+{
2597
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_WAIT_OPERATION;
2598
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2599
+ + sizeof(kcpu_queue)
2600
+ + sizeof(cqs_obj_gpu_addr)
2601
+ + sizeof(compare_value)
2602
+ + sizeof(condition)
2603
+ + sizeof(data_type)
2604
+ + sizeof(inherit_error)
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
+ pos = kbasep_serialize_bytes(buffer,
2617
+ pos, &cqs_obj_gpu_addr, sizeof(cqs_obj_gpu_addr));
2618
+ pos = kbasep_serialize_bytes(buffer,
2619
+ pos, &compare_value, sizeof(compare_value));
2620
+ pos = kbasep_serialize_bytes(buffer,
2621
+ pos, &condition, sizeof(condition));
2622
+ pos = kbasep_serialize_bytes(buffer,
2623
+ pos, &data_type, sizeof(data_type));
2624
+ pos = kbasep_serialize_bytes(buffer,
2625
+ pos, &inherit_error, sizeof(inherit_error));
2626
+
2627
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2628
+}
2629
+
2630
+void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_cqs_set_operation(
2631
+ struct kbase_tlstream *stream,
2632
+ const void *kcpu_queue,
2633
+ u64 cqs_obj_gpu_addr,
2634
+ u64 value,
2635
+ u32 operation,
2636
+ u32 data_type
2637
+)
2638
+{
2639
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_CQS_SET_OPERATION;
2640
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2641
+ + sizeof(kcpu_queue)
2642
+ + sizeof(cqs_obj_gpu_addr)
2643
+ + sizeof(value)
2644
+ + sizeof(operation)
2645
+ + sizeof(data_type)
2646
+ ;
2647
+ char *buffer;
2648
+ unsigned long acq_flags;
2649
+ size_t pos = 0;
2650
+
2651
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2652
+
2653
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2654
+ pos = kbasep_serialize_timestamp(buffer, pos);
2655
+ pos = kbasep_serialize_bytes(buffer,
2656
+ pos, &kcpu_queue, sizeof(kcpu_queue));
2657
+ pos = kbasep_serialize_bytes(buffer,
2658
+ pos, &cqs_obj_gpu_addr, sizeof(cqs_obj_gpu_addr));
2659
+ pos = kbasep_serialize_bytes(buffer,
2660
+ pos, &value, sizeof(value));
2661
+ pos = kbasep_serialize_bytes(buffer,
2662
+ pos, &operation, sizeof(operation));
2663
+ pos = kbasep_serialize_bytes(buffer,
2664
+ pos, &data_type, sizeof(data_type));
2665
+
2666
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2667
+}
2668
+
22892669 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_map_import(
22902670 struct kbase_tlstream *stream,
22912671 const void *kcpu_queue,
2292
- u64 map_import_buf_gpu_addr)
2672
+ u64 map_import_buf_gpu_addr
2673
+)
22932674 {
22942675 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_MAP_IMPORT;
22952676 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2315,7 +2696,8 @@
23152696 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import(
23162697 struct kbase_tlstream *stream,
23172698 const void *kcpu_queue,
2318
- u64 map_import_buf_gpu_addr)
2699
+ u64 map_import_buf_gpu_addr
2700
+)
23192701 {
23202702 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT;
23212703 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2341,7 +2723,8 @@
23412723 void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_unmap_import_force(
23422724 struct kbase_tlstream *stream,
23432725 const void *kcpu_queue,
2344
- u64 map_import_buf_gpu_addr)
2726
+ u64 map_import_buf_gpu_addr
2727
+)
23452728 {
23462729 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_UNMAP_IMPORT_FORCE;
23472730 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2364,61 +2747,10 @@
23642747 kbase_tlstream_msgbuf_release(stream, acq_flags);
23652748 }
23662749
2367
-void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_error_barrier(
2368
- struct kbase_tlstream *stream,
2369
- const void *kcpu_queue)
2370
-{
2371
- const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER;
2372
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2373
- + sizeof(kcpu_queue)
2374
- ;
2375
- char *buffer;
2376
- unsigned long acq_flags;
2377
- size_t pos = 0;
2378
-
2379
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2380
-
2381
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2382
- pos = kbasep_serialize_timestamp(buffer, pos);
2383
- pos = kbasep_serialize_bytes(buffer,
2384
- pos, &kcpu_queue, sizeof(kcpu_queue));
2385
-
2386
- kbase_tlstream_msgbuf_release(stream, acq_flags);
2387
-}
2388
-
2389
-void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_group_suspend(
2390
- struct kbase_tlstream *stream,
2391
- const void *kcpu_queue,
2392
- const void *group_suspend_buf,
2393
- u32 gpu_cmdq_grp_handle)
2394
-{
2395
- const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND;
2396
- const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2397
- + sizeof(kcpu_queue)
2398
- + sizeof(group_suspend_buf)
2399
- + sizeof(gpu_cmdq_grp_handle)
2400
- ;
2401
- char *buffer;
2402
- unsigned long acq_flags;
2403
- size_t pos = 0;
2404
-
2405
- buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2406
-
2407
- pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2408
- pos = kbasep_serialize_timestamp(buffer, pos);
2409
- pos = kbasep_serialize_bytes(buffer,
2410
- pos, &kcpu_queue, sizeof(kcpu_queue));
2411
- pos = kbasep_serialize_bytes(buffer,
2412
- pos, &group_suspend_buf, sizeof(group_suspend_buf));
2413
- pos = kbasep_serialize_bytes(buffer,
2414
- pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2415
-
2416
- kbase_tlstream_msgbuf_release(stream, acq_flags);
2417
-}
2418
-
24192750 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_alloc(
24202751 struct kbase_tlstream *stream,
2421
- const void *kcpu_queue)
2752
+ const void *kcpu_queue
2753
+)
24222754 {
24232755 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
24242756 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2449,7 +2781,8 @@
24492781 u32 jit_alloc_bin_id,
24502782 u32 jit_alloc_max_allocations,
24512783 u32 jit_alloc_flags,
2452
- u32 jit_alloc_usage_id)
2784
+ u32 jit_alloc_usage_id
2785
+)
24532786 {
24542787 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
24552788 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2498,7 +2831,8 @@
24982831
24992832 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_alloc(
25002833 struct kbase_tlstream *stream,
2501
- const void *kcpu_queue)
2834
+ const void *kcpu_queue
2835
+)
25022836 {
25032837 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_ALLOC;
25042838 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2520,7 +2854,8 @@
25202854
25212855 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_enqueue_jit_free(
25222856 struct kbase_tlstream *stream,
2523
- const void *kcpu_queue)
2857
+ const void *kcpu_queue
2858
+)
25242859 {
25252860 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_ENQUEUE_JIT_FREE;
25262861 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2543,7 +2878,8 @@
25432878 void __kbase_tlstream_tl_kbase_array_item_kcpuqueue_enqueue_jit_free(
25442879 struct kbase_tlstream *stream,
25452880 const void *kcpu_queue,
2546
- u32 jit_alloc_jit_id)
2881
+ u32 jit_alloc_jit_id
2882
+)
25472883 {
25482884 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_ENQUEUE_JIT_FREE;
25492885 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2568,7 +2904,8 @@
25682904
25692905 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_enqueue_jit_free(
25702906 struct kbase_tlstream *stream,
2571
- const void *kcpu_queue)
2907
+ const void *kcpu_queue
2908
+)
25722909 {
25732910 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_ENQUEUE_JIT_FREE;
25742911 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2588,9 +2925,64 @@
25882925 kbase_tlstream_msgbuf_release(stream, acq_flags);
25892926 }
25902927
2928
+void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_error_barrier(
2929
+ struct kbase_tlstream *stream,
2930
+ const void *kcpu_queue
2931
+)
2932
+{
2933
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_ERROR_BARRIER;
2934
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2935
+ + sizeof(kcpu_queue)
2936
+ ;
2937
+ char *buffer;
2938
+ unsigned long acq_flags;
2939
+ size_t pos = 0;
2940
+
2941
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2942
+
2943
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2944
+ pos = kbasep_serialize_timestamp(buffer, pos);
2945
+ pos = kbasep_serialize_bytes(buffer,
2946
+ pos, &kcpu_queue, sizeof(kcpu_queue));
2947
+
2948
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2949
+}
2950
+
2951
+void __kbase_tlstream_tl_kbase_kcpuqueue_enqueue_group_suspend(
2952
+ struct kbase_tlstream *stream,
2953
+ const void *kcpu_queue,
2954
+ const void *group_suspend_buf,
2955
+ u32 gpu_cmdq_grp_handle
2956
+)
2957
+{
2958
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_ENQUEUE_GROUP_SUSPEND;
2959
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
2960
+ + sizeof(kcpu_queue)
2961
+ + sizeof(group_suspend_buf)
2962
+ + sizeof(gpu_cmdq_grp_handle)
2963
+ ;
2964
+ char *buffer;
2965
+ unsigned long acq_flags;
2966
+ size_t pos = 0;
2967
+
2968
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
2969
+
2970
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
2971
+ pos = kbasep_serialize_timestamp(buffer, pos);
2972
+ pos = kbasep_serialize_bytes(buffer,
2973
+ pos, &kcpu_queue, sizeof(kcpu_queue));
2974
+ pos = kbasep_serialize_bytes(buffer,
2975
+ pos, &group_suspend_buf, sizeof(group_suspend_buf));
2976
+ pos = kbasep_serialize_bytes(buffer,
2977
+ pos, &gpu_cmdq_grp_handle, sizeof(gpu_cmdq_grp_handle));
2978
+
2979
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
2980
+}
2981
+
25912982 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_start(
25922983 struct kbase_tlstream *stream,
2593
- const void *kcpu_queue)
2984
+ const void *kcpu_queue
2985
+)
25942986 {
25952987 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_START;
25962988 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2613,7 +3005,8 @@
26133005 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_signal_end(
26143006 struct kbase_tlstream *stream,
26153007 const void *kcpu_queue,
2616
- u32 execute_error)
3008
+ u32 execute_error
3009
+)
26173010 {
26183011 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_SIGNAL_END;
26193012 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2638,7 +3031,8 @@
26383031
26393032 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_start(
26403033 struct kbase_tlstream *stream,
2641
- const void *kcpu_queue)
3034
+ const void *kcpu_queue
3035
+)
26423036 {
26433037 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_START;
26443038 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2661,7 +3055,8 @@
26613055 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_fence_wait_end(
26623056 struct kbase_tlstream *stream,
26633057 const void *kcpu_queue,
2664
- u32 execute_error)
3058
+ u32 execute_error
3059
+)
26653060 {
26663061 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_FENCE_WAIT_END;
26673062 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2686,7 +3081,8 @@
26863081
26873082 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_start(
26883083 struct kbase_tlstream *stream,
2689
- const void *kcpu_queue)
3084
+ const void *kcpu_queue
3085
+)
26903086 {
26913087 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_START;
26923088 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2709,7 +3105,8 @@
27093105 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_end(
27103106 struct kbase_tlstream *stream,
27113107 const void *kcpu_queue,
2712
- u32 execute_error)
3108
+ u32 execute_error
3109
+)
27133110 {
27143111 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_END;
27153112 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2735,7 +3132,8 @@
27353132 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_set(
27363133 struct kbase_tlstream *stream,
27373134 const void *kcpu_queue,
2738
- u32 execute_error)
3135
+ u32 execute_error
3136
+)
27393137 {
27403138 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET;
27413139 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2758,9 +3156,87 @@
27583156 kbase_tlstream_msgbuf_release(stream, acq_flags);
27593157 }
27603158
3159
+void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_operation_start(
3160
+ struct kbase_tlstream *stream,
3161
+ const void *kcpu_queue
3162
+)
3163
+{
3164
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_START;
3165
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3166
+ + sizeof(kcpu_queue)
3167
+ ;
3168
+ char *buffer;
3169
+ unsigned long acq_flags;
3170
+ size_t pos = 0;
3171
+
3172
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3173
+
3174
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3175
+ pos = kbasep_serialize_timestamp(buffer, pos);
3176
+ pos = kbasep_serialize_bytes(buffer,
3177
+ pos, &kcpu_queue, sizeof(kcpu_queue));
3178
+
3179
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3180
+}
3181
+
3182
+void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_wait_operation_end(
3183
+ struct kbase_tlstream *stream,
3184
+ const void *kcpu_queue,
3185
+ u32 execute_error
3186
+)
3187
+{
3188
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_WAIT_OPERATION_END;
3189
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3190
+ + sizeof(kcpu_queue)
3191
+ + sizeof(execute_error)
3192
+ ;
3193
+ char *buffer;
3194
+ unsigned long acq_flags;
3195
+ size_t pos = 0;
3196
+
3197
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3198
+
3199
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3200
+ pos = kbasep_serialize_timestamp(buffer, pos);
3201
+ pos = kbasep_serialize_bytes(buffer,
3202
+ pos, &kcpu_queue, sizeof(kcpu_queue));
3203
+ pos = kbasep_serialize_bytes(buffer,
3204
+ pos, &execute_error, sizeof(execute_error));
3205
+
3206
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3207
+}
3208
+
3209
+void __kbase_tlstream_tl_kbase_kcpuqueue_execute_cqs_set_operation(
3210
+ struct kbase_tlstream *stream,
3211
+ const void *kcpu_queue,
3212
+ u32 execute_error
3213
+)
3214
+{
3215
+ const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_CQS_SET_OPERATION;
3216
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3217
+ + sizeof(kcpu_queue)
3218
+ + sizeof(execute_error)
3219
+ ;
3220
+ char *buffer;
3221
+ unsigned long acq_flags;
3222
+ size_t pos = 0;
3223
+
3224
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3225
+
3226
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3227
+ pos = kbasep_serialize_timestamp(buffer, pos);
3228
+ pos = kbasep_serialize_bytes(buffer,
3229
+ pos, &kcpu_queue, sizeof(kcpu_queue));
3230
+ pos = kbasep_serialize_bytes(buffer,
3231
+ pos, &execute_error, sizeof(execute_error));
3232
+
3233
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3234
+}
3235
+
27613236 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_start(
27623237 struct kbase_tlstream *stream,
2763
- const void *kcpu_queue)
3238
+ const void *kcpu_queue
3239
+)
27643240 {
27653241 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_START;
27663242 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2783,7 +3259,8 @@
27833259 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_map_import_end(
27843260 struct kbase_tlstream *stream,
27853261 const void *kcpu_queue,
2786
- u32 execute_error)
3262
+ u32 execute_error
3263
+)
27873264 {
27883265 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_MAP_IMPORT_END;
27893266 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2808,7 +3285,8 @@
28083285
28093286 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_start(
28103287 struct kbase_tlstream *stream,
2811
- const void *kcpu_queue)
3288
+ const void *kcpu_queue
3289
+)
28123290 {
28133291 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_START;
28143292 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2831,7 +3309,8 @@
28313309 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_end(
28323310 struct kbase_tlstream *stream,
28333311 const void *kcpu_queue,
2834
- u32 execute_error)
3312
+ u32 execute_error
3313
+)
28353314 {
28363315 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_END;
28373316 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2856,7 +3335,8 @@
28563335
28573336 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_start(
28583337 struct kbase_tlstream *stream,
2859
- const void *kcpu_queue)
3338
+ const void *kcpu_queue
3339
+)
28603340 {
28613341 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_START;
28623342 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2879,7 +3359,8 @@
28793359 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_unmap_import_force_end(
28803360 struct kbase_tlstream *stream,
28813361 const void *kcpu_queue,
2882
- u32 execute_error)
3362
+ u32 execute_error
3363
+)
28833364 {
28843365 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_UNMAP_IMPORT_FORCE_END;
28853366 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2904,7 +3385,8 @@
29043385
29053386 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_alloc_start(
29063387 struct kbase_tlstream *stream,
2907
- const void *kcpu_queue)
3388
+ const void *kcpu_queue
3389
+)
29083390 {
29093391 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_ALLOC_START;
29103392 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2926,7 +3408,8 @@
29263408
29273409 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_alloc_end(
29283410 struct kbase_tlstream *stream,
2929
- const void *kcpu_queue)
3411
+ const void *kcpu_queue
3412
+)
29303413 {
29313414 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
29323415 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2951,7 +3434,8 @@
29513434 const void *kcpu_queue,
29523435 u32 execute_error,
29533436 u64 jit_alloc_gpu_alloc_addr,
2954
- u64 jit_alloc_mmu_flags)
3437
+ u64 jit_alloc_mmu_flags
3438
+)
29553439 {
29563440 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
29573441 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -2982,7 +3466,8 @@
29823466
29833467 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_alloc_end(
29843468 struct kbase_tlstream *stream,
2985
- const void *kcpu_queue)
3469
+ const void *kcpu_queue
3470
+)
29863471 {
29873472 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_ALLOC_END;
29883473 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3004,7 +3489,8 @@
30043489
30053490 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_jit_free_start(
30063491 struct kbase_tlstream *stream,
3007
- const void *kcpu_queue)
3492
+ const void *kcpu_queue
3493
+)
30083494 {
30093495 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_JIT_FREE_START;
30103496 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3026,7 +3512,8 @@
30263512
30273513 void __kbase_tlstream_tl_kbase_array_begin_kcpuqueue_execute_jit_free_end(
30283514 struct kbase_tlstream *stream,
3029
- const void *kcpu_queue)
3515
+ const void *kcpu_queue
3516
+)
30303517 {
30313518 const u32 msg_id = KBASE_TL_KBASE_ARRAY_BEGIN_KCPUQUEUE_EXECUTE_JIT_FREE_END;
30323519 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3050,7 +3537,8 @@
30503537 struct kbase_tlstream *stream,
30513538 const void *kcpu_queue,
30523539 u32 execute_error,
3053
- u64 jit_free_pages_used)
3540
+ u64 jit_free_pages_used
3541
+)
30543542 {
30553543 const u32 msg_id = KBASE_TL_KBASE_ARRAY_ITEM_KCPUQUEUE_EXECUTE_JIT_FREE_END;
30563544 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3078,7 +3566,8 @@
30783566
30793567 void __kbase_tlstream_tl_kbase_array_end_kcpuqueue_execute_jit_free_end(
30803568 struct kbase_tlstream *stream,
3081
- const void *kcpu_queue)
3569
+ const void *kcpu_queue
3570
+)
30823571 {
30833572 const u32 msg_id = KBASE_TL_KBASE_ARRAY_END_KCPUQUEUE_EXECUTE_JIT_FREE_END;
30843573 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3100,7 +3589,8 @@
31003589
31013590 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_error_barrier(
31023591 struct kbase_tlstream *stream,
3103
- const void *kcpu_queue)
3592
+ const void *kcpu_queue
3593
+)
31043594 {
31053595 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_ERROR_BARRIER;
31063596 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3122,7 +3612,8 @@
31223612
31233613 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_start(
31243614 struct kbase_tlstream *stream,
3125
- const void *kcpu_queue)
3615
+ const void *kcpu_queue
3616
+)
31263617 {
31273618 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_START;
31283619 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3145,7 +3636,8 @@
31453636 void __kbase_tlstream_tl_kbase_kcpuqueue_execute_group_suspend_end(
31463637 struct kbase_tlstream *stream,
31473638 const void *kcpu_queue,
3148
- u32 execute_error)
3639
+ u32 execute_error
3640
+)
31493641 {
31503642 const u32 msg_id = KBASE_TL_KBASE_KCPUQUEUE_EXECUTE_GROUP_SUSPEND_END;
31513643 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3168,10 +3660,172 @@
31683660 kbase_tlstream_msgbuf_release(stream, acq_flags);
31693661 }
31703662
3663
+void __kbase_tlstream_tl_kbase_csffw_fw_reloading(
3664
+ struct kbase_tlstream *stream,
3665
+ u64 csffw_cycle
3666
+)
3667
+{
3668
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_RELOADING;
3669
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3670
+ + sizeof(csffw_cycle)
3671
+ ;
3672
+ char *buffer;
3673
+ unsigned long acq_flags;
3674
+ size_t pos = 0;
3675
+
3676
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3677
+
3678
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3679
+ pos = kbasep_serialize_timestamp(buffer, pos);
3680
+ pos = kbasep_serialize_bytes(buffer,
3681
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3682
+
3683
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3684
+}
3685
+
3686
+void __kbase_tlstream_tl_kbase_csffw_fw_enabling(
3687
+ struct kbase_tlstream *stream,
3688
+ u64 csffw_cycle
3689
+)
3690
+{
3691
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_ENABLING;
3692
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3693
+ + sizeof(csffw_cycle)
3694
+ ;
3695
+ char *buffer;
3696
+ unsigned long acq_flags;
3697
+ size_t pos = 0;
3698
+
3699
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3700
+
3701
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3702
+ pos = kbasep_serialize_timestamp(buffer, pos);
3703
+ pos = kbasep_serialize_bytes(buffer,
3704
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3705
+
3706
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3707
+}
3708
+
3709
+void __kbase_tlstream_tl_kbase_csffw_fw_request_sleep(
3710
+ struct kbase_tlstream *stream,
3711
+ u64 csffw_cycle
3712
+)
3713
+{
3714
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_SLEEP;
3715
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3716
+ + sizeof(csffw_cycle)
3717
+ ;
3718
+ char *buffer;
3719
+ unsigned long acq_flags;
3720
+ size_t pos = 0;
3721
+
3722
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3723
+
3724
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3725
+ pos = kbasep_serialize_timestamp(buffer, pos);
3726
+ pos = kbasep_serialize_bytes(buffer,
3727
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3728
+
3729
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3730
+}
3731
+
3732
+void __kbase_tlstream_tl_kbase_csffw_fw_request_wakeup(
3733
+ struct kbase_tlstream *stream,
3734
+ u64 csffw_cycle
3735
+)
3736
+{
3737
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_WAKEUP;
3738
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3739
+ + sizeof(csffw_cycle)
3740
+ ;
3741
+ char *buffer;
3742
+ unsigned long acq_flags;
3743
+ size_t pos = 0;
3744
+
3745
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3746
+
3747
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3748
+ pos = kbasep_serialize_timestamp(buffer, pos);
3749
+ pos = kbasep_serialize_bytes(buffer,
3750
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3751
+
3752
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3753
+}
3754
+
3755
+void __kbase_tlstream_tl_kbase_csffw_fw_request_halt(
3756
+ struct kbase_tlstream *stream,
3757
+ u64 csffw_cycle
3758
+)
3759
+{
3760
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_REQUEST_HALT;
3761
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3762
+ + sizeof(csffw_cycle)
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, &csffw_cycle, sizeof(csffw_cycle));
3774
+
3775
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3776
+}
3777
+
3778
+void __kbase_tlstream_tl_kbase_csffw_fw_disabling(
3779
+ struct kbase_tlstream *stream,
3780
+ u64 csffw_cycle
3781
+)
3782
+{
3783
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_DISABLING;
3784
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3785
+ + sizeof(csffw_cycle)
3786
+ ;
3787
+ char *buffer;
3788
+ unsigned long acq_flags;
3789
+ size_t pos = 0;
3790
+
3791
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3792
+
3793
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3794
+ pos = kbasep_serialize_timestamp(buffer, pos);
3795
+ pos = kbasep_serialize_bytes(buffer,
3796
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3797
+
3798
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3799
+}
3800
+
3801
+void __kbase_tlstream_tl_kbase_csffw_fw_off(
3802
+ struct kbase_tlstream *stream,
3803
+ u64 csffw_cycle
3804
+)
3805
+{
3806
+ const u32 msg_id = KBASE_TL_KBASE_CSFFW_FW_OFF;
3807
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3808
+ + sizeof(csffw_cycle)
3809
+ ;
3810
+ char *buffer;
3811
+ unsigned long acq_flags;
3812
+ size_t pos = 0;
3813
+
3814
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3815
+
3816
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3817
+ pos = kbasep_serialize_timestamp(buffer, pos);
3818
+ pos = kbasep_serialize_bytes(buffer,
3819
+ pos, &csffw_cycle, sizeof(csffw_cycle));
3820
+
3821
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3822
+}
3823
+
31713824 void __kbase_tlstream_tl_kbase_csffw_tlstream_overflow(
31723825 struct kbase_tlstream *stream,
31733826 u64 csffw_timestamp,
3174
- u64 csffw_cycle)
3827
+ u64 csffw_cycle
3828
+)
31753829 {
31763830 const u32 msg_id = KBASE_TL_KBASE_CSFFW_TLSTREAM_OVERFLOW;
31773831 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
....@@ -3194,13 +3848,16 @@
31943848 kbase_tlstream_msgbuf_release(stream, acq_flags);
31953849 }
31963850
3197
-void __kbase_tlstream_tl_kbase_csffw_reset(
3851
+void __kbase_tlstream_aux_pm_state(
31983852 struct kbase_tlstream *stream,
3199
- u64 csffw_cycle)
3853
+ u32 core_type,
3854
+ u64 core_state_bitset
3855
+)
32003856 {
3201
- const u32 msg_id = KBASE_TL_KBASE_CSFFW_RESET;
3857
+ const u32 msg_id = KBASE_AUX_PM_STATE;
32023858 const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3203
- + sizeof(csffw_cycle)
3859
+ + sizeof(core_type)
3860
+ + sizeof(core_state_bitset)
32043861 ;
32053862 char *buffer;
32063863 unsigned long acq_flags;
....@@ -3211,7 +3868,354 @@
32113868 pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
32123869 pos = kbasep_serialize_timestamp(buffer, pos);
32133870 pos = kbasep_serialize_bytes(buffer,
3214
- pos, &csffw_cycle, sizeof(csffw_cycle));
3871
+ pos, &core_type, sizeof(core_type));
3872
+ pos = kbasep_serialize_bytes(buffer,
3873
+ pos, &core_state_bitset, sizeof(core_state_bitset));
3874
+
3875
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3876
+}
3877
+
3878
+void __kbase_tlstream_aux_pagefault(
3879
+ struct kbase_tlstream *stream,
3880
+ u32 ctx_nr,
3881
+ u32 as_nr,
3882
+ u64 page_cnt_change
3883
+)
3884
+{
3885
+ const u32 msg_id = KBASE_AUX_PAGEFAULT;
3886
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3887
+ + sizeof(ctx_nr)
3888
+ + sizeof(as_nr)
3889
+ + sizeof(page_cnt_change)
3890
+ ;
3891
+ char *buffer;
3892
+ unsigned long acq_flags;
3893
+ size_t pos = 0;
3894
+
3895
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3896
+
3897
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3898
+ pos = kbasep_serialize_timestamp(buffer, pos);
3899
+ pos = kbasep_serialize_bytes(buffer,
3900
+ pos, &ctx_nr, sizeof(ctx_nr));
3901
+ pos = kbasep_serialize_bytes(buffer,
3902
+ pos, &as_nr, sizeof(as_nr));
3903
+ pos = kbasep_serialize_bytes(buffer,
3904
+ pos, &page_cnt_change, sizeof(page_cnt_change));
3905
+
3906
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3907
+}
3908
+
3909
+void __kbase_tlstream_aux_pagesalloc(
3910
+ struct kbase_tlstream *stream,
3911
+ u32 ctx_nr,
3912
+ u64 page_cnt
3913
+)
3914
+{
3915
+ const u32 msg_id = KBASE_AUX_PAGESALLOC;
3916
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3917
+ + sizeof(ctx_nr)
3918
+ + sizeof(page_cnt)
3919
+ ;
3920
+ char *buffer;
3921
+ unsigned long acq_flags;
3922
+ size_t pos = 0;
3923
+
3924
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3925
+
3926
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3927
+ pos = kbasep_serialize_timestamp(buffer, pos);
3928
+ pos = kbasep_serialize_bytes(buffer,
3929
+ pos, &ctx_nr, sizeof(ctx_nr));
3930
+ pos = kbasep_serialize_bytes(buffer,
3931
+ pos, &page_cnt, sizeof(page_cnt));
3932
+
3933
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3934
+}
3935
+
3936
+void __kbase_tlstream_aux_devfreq_target(
3937
+ struct kbase_tlstream *stream,
3938
+ u64 target_freq
3939
+)
3940
+{
3941
+ const u32 msg_id = KBASE_AUX_DEVFREQ_TARGET;
3942
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3943
+ + sizeof(target_freq)
3944
+ ;
3945
+ char *buffer;
3946
+ unsigned long acq_flags;
3947
+ size_t pos = 0;
3948
+
3949
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3950
+
3951
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3952
+ pos = kbasep_serialize_timestamp(buffer, pos);
3953
+ pos = kbasep_serialize_bytes(buffer,
3954
+ pos, &target_freq, sizeof(target_freq));
3955
+
3956
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
3957
+}
3958
+
3959
+void __kbase_tlstream_aux_jit_stats(
3960
+ struct kbase_tlstream *stream,
3961
+ u32 ctx_nr,
3962
+ u32 bid,
3963
+ u32 max_allocs,
3964
+ u32 allocs,
3965
+ u32 va_pages,
3966
+ u32 ph_pages
3967
+)
3968
+{
3969
+ const u32 msg_id = KBASE_AUX_JIT_STATS;
3970
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
3971
+ + sizeof(ctx_nr)
3972
+ + sizeof(bid)
3973
+ + sizeof(max_allocs)
3974
+ + sizeof(allocs)
3975
+ + sizeof(va_pages)
3976
+ + sizeof(ph_pages)
3977
+ ;
3978
+ char *buffer;
3979
+ unsigned long acq_flags;
3980
+ size_t pos = 0;
3981
+
3982
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
3983
+
3984
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
3985
+ pos = kbasep_serialize_timestamp(buffer, pos);
3986
+ pos = kbasep_serialize_bytes(buffer,
3987
+ pos, &ctx_nr, sizeof(ctx_nr));
3988
+ pos = kbasep_serialize_bytes(buffer,
3989
+ pos, &bid, sizeof(bid));
3990
+ pos = kbasep_serialize_bytes(buffer,
3991
+ pos, &max_allocs, sizeof(max_allocs));
3992
+ pos = kbasep_serialize_bytes(buffer,
3993
+ pos, &allocs, sizeof(allocs));
3994
+ pos = kbasep_serialize_bytes(buffer,
3995
+ pos, &va_pages, sizeof(va_pages));
3996
+ pos = kbasep_serialize_bytes(buffer,
3997
+ pos, &ph_pages, sizeof(ph_pages));
3998
+
3999
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4000
+}
4001
+
4002
+void __kbase_tlstream_aux_tiler_heap_stats(
4003
+ struct kbase_tlstream *stream,
4004
+ u32 ctx_nr,
4005
+ u64 heap_id,
4006
+ u32 va_pages,
4007
+ u32 ph_pages,
4008
+ u32 max_chunks,
4009
+ u32 chunk_size,
4010
+ u32 chunk_count,
4011
+ u32 target_in_flight,
4012
+ u32 nr_in_flight
4013
+)
4014
+{
4015
+ const u32 msg_id = KBASE_AUX_TILER_HEAP_STATS;
4016
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4017
+ + sizeof(ctx_nr)
4018
+ + sizeof(heap_id)
4019
+ + sizeof(va_pages)
4020
+ + sizeof(ph_pages)
4021
+ + sizeof(max_chunks)
4022
+ + sizeof(chunk_size)
4023
+ + sizeof(chunk_count)
4024
+ + sizeof(target_in_flight)
4025
+ + sizeof(nr_in_flight)
4026
+ ;
4027
+ char *buffer;
4028
+ unsigned long acq_flags;
4029
+ size_t pos = 0;
4030
+
4031
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4032
+
4033
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4034
+ pos = kbasep_serialize_timestamp(buffer, pos);
4035
+ pos = kbasep_serialize_bytes(buffer,
4036
+ pos, &ctx_nr, sizeof(ctx_nr));
4037
+ pos = kbasep_serialize_bytes(buffer,
4038
+ pos, &heap_id, sizeof(heap_id));
4039
+ pos = kbasep_serialize_bytes(buffer,
4040
+ pos, &va_pages, sizeof(va_pages));
4041
+ pos = kbasep_serialize_bytes(buffer,
4042
+ pos, &ph_pages, sizeof(ph_pages));
4043
+ pos = kbasep_serialize_bytes(buffer,
4044
+ pos, &max_chunks, sizeof(max_chunks));
4045
+ pos = kbasep_serialize_bytes(buffer,
4046
+ pos, &chunk_size, sizeof(chunk_size));
4047
+ pos = kbasep_serialize_bytes(buffer,
4048
+ pos, &chunk_count, sizeof(chunk_count));
4049
+ pos = kbasep_serialize_bytes(buffer,
4050
+ pos, &target_in_flight, sizeof(target_in_flight));
4051
+ pos = kbasep_serialize_bytes(buffer,
4052
+ pos, &nr_in_flight, sizeof(nr_in_flight));
4053
+
4054
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4055
+}
4056
+
4057
+void __kbase_tlstream_aux_event_job_slot(
4058
+ struct kbase_tlstream *stream,
4059
+ const void *ctx,
4060
+ u32 slot_nr,
4061
+ u32 atom_nr,
4062
+ u32 event
4063
+)
4064
+{
4065
+ const u32 msg_id = KBASE_AUX_EVENT_JOB_SLOT;
4066
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4067
+ + sizeof(ctx)
4068
+ + sizeof(slot_nr)
4069
+ + sizeof(atom_nr)
4070
+ + sizeof(event)
4071
+ ;
4072
+ char *buffer;
4073
+ unsigned long acq_flags;
4074
+ size_t pos = 0;
4075
+
4076
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4077
+
4078
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4079
+ pos = kbasep_serialize_timestamp(buffer, pos);
4080
+ pos = kbasep_serialize_bytes(buffer,
4081
+ pos, &ctx, sizeof(ctx));
4082
+ pos = kbasep_serialize_bytes(buffer,
4083
+ pos, &slot_nr, sizeof(slot_nr));
4084
+ pos = kbasep_serialize_bytes(buffer,
4085
+ pos, &atom_nr, sizeof(atom_nr));
4086
+ pos = kbasep_serialize_bytes(buffer,
4087
+ pos, &event, sizeof(event));
4088
+
4089
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4090
+}
4091
+
4092
+void __kbase_tlstream_aux_protected_enter_start(
4093
+ struct kbase_tlstream *stream,
4094
+ const void *gpu
4095
+)
4096
+{
4097
+ const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_START;
4098
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4099
+ + sizeof(gpu)
4100
+ ;
4101
+ char *buffer;
4102
+ unsigned long acq_flags;
4103
+ size_t pos = 0;
4104
+
4105
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4106
+
4107
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4108
+ pos = kbasep_serialize_timestamp(buffer, pos);
4109
+ pos = kbasep_serialize_bytes(buffer,
4110
+ pos, &gpu, sizeof(gpu));
4111
+
4112
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4113
+}
4114
+
4115
+void __kbase_tlstream_aux_protected_enter_end(
4116
+ struct kbase_tlstream *stream,
4117
+ const void *gpu
4118
+)
4119
+{
4120
+ const u32 msg_id = KBASE_AUX_PROTECTED_ENTER_END;
4121
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4122
+ + sizeof(gpu)
4123
+ ;
4124
+ char *buffer;
4125
+ unsigned long acq_flags;
4126
+ size_t pos = 0;
4127
+
4128
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4129
+
4130
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4131
+ pos = kbasep_serialize_timestamp(buffer, pos);
4132
+ pos = kbasep_serialize_bytes(buffer,
4133
+ pos, &gpu, sizeof(gpu));
4134
+
4135
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4136
+}
4137
+
4138
+void __kbase_tlstream_aux_mmu_command(
4139
+ struct kbase_tlstream *stream,
4140
+ u32 kernel_ctx_id,
4141
+ u32 mmu_cmd_id,
4142
+ u32 mmu_synchronicity,
4143
+ u64 mmu_lock_addr,
4144
+ u32 mmu_lock_page_num
4145
+)
4146
+{
4147
+ const u32 msg_id = KBASE_AUX_MMU_COMMAND;
4148
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4149
+ + sizeof(kernel_ctx_id)
4150
+ + sizeof(mmu_cmd_id)
4151
+ + sizeof(mmu_synchronicity)
4152
+ + sizeof(mmu_lock_addr)
4153
+ + sizeof(mmu_lock_page_num)
4154
+ ;
4155
+ char *buffer;
4156
+ unsigned long acq_flags;
4157
+ size_t pos = 0;
4158
+
4159
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4160
+
4161
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4162
+ pos = kbasep_serialize_timestamp(buffer, pos);
4163
+ pos = kbasep_serialize_bytes(buffer,
4164
+ pos, &kernel_ctx_id, sizeof(kernel_ctx_id));
4165
+ pos = kbasep_serialize_bytes(buffer,
4166
+ pos, &mmu_cmd_id, sizeof(mmu_cmd_id));
4167
+ pos = kbasep_serialize_bytes(buffer,
4168
+ pos, &mmu_synchronicity, sizeof(mmu_synchronicity));
4169
+ pos = kbasep_serialize_bytes(buffer,
4170
+ pos, &mmu_lock_addr, sizeof(mmu_lock_addr));
4171
+ pos = kbasep_serialize_bytes(buffer,
4172
+ pos, &mmu_lock_page_num, sizeof(mmu_lock_page_num));
4173
+
4174
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4175
+}
4176
+
4177
+void __kbase_tlstream_aux_protected_leave_start(
4178
+ struct kbase_tlstream *stream,
4179
+ const void *gpu
4180
+)
4181
+{
4182
+ const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_START;
4183
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4184
+ + sizeof(gpu)
4185
+ ;
4186
+ char *buffer;
4187
+ unsigned long acq_flags;
4188
+ size_t pos = 0;
4189
+
4190
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4191
+
4192
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4193
+ pos = kbasep_serialize_timestamp(buffer, pos);
4194
+ pos = kbasep_serialize_bytes(buffer,
4195
+ pos, &gpu, sizeof(gpu));
4196
+
4197
+ kbase_tlstream_msgbuf_release(stream, acq_flags);
4198
+}
4199
+
4200
+void __kbase_tlstream_aux_protected_leave_end(
4201
+ struct kbase_tlstream *stream,
4202
+ const void *gpu
4203
+)
4204
+{
4205
+ const u32 msg_id = KBASE_AUX_PROTECTED_LEAVE_END;
4206
+ const size_t msg_size = sizeof(msg_id) + sizeof(u64)
4207
+ + sizeof(gpu)
4208
+ ;
4209
+ char *buffer;
4210
+ unsigned long acq_flags;
4211
+ size_t pos = 0;
4212
+
4213
+ buffer = kbase_tlstream_msgbuf_acquire(stream, msg_size, &acq_flags);
4214
+
4215
+ pos = kbasep_serialize_bytes(buffer, pos, &msg_id, sizeof(msg_id));
4216
+ pos = kbasep_serialize_timestamp(buffer, pos);
4217
+ pos = kbasep_serialize_bytes(buffer,
4218
+ pos, &gpu, sizeof(gpu));
32154219
32164220 kbase_tlstream_msgbuf_release(stream, acq_flags);
32174221 }