.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ |
---|
2 | 2 | /* |
---|
3 | 3 | * |
---|
4 | | - * (C) COPYRIGHT 2017-2021 ARM Limited. All rights reserved. |
---|
| 4 | + * (C) COPYRIGHT 2017-2022 ARM Limited. All rights reserved. |
---|
5 | 5 | * |
---|
6 | 6 | * This program is free software and is provided to you under the terms of the |
---|
7 | 7 | * GNU General Public License version 2 as published by the Free Software |
---|
.. | .. |
---|
46 | 46 | __u32 create_flags; |
---|
47 | 47 | }; |
---|
48 | 48 | |
---|
49 | | -#define KBASE_IOCTL_SET_FLAGS \ |
---|
50 | | - _IOW(KBASE_IOCTL_TYPE, 1, struct kbase_ioctl_set_flags) |
---|
| 49 | +#define KBASE_IOCTL_SET_FLAGS _IOW(KBASE_IOCTL_TYPE, 1, struct kbase_ioctl_set_flags) |
---|
51 | 50 | |
---|
52 | 51 | /** |
---|
53 | 52 | * struct kbase_ioctl_get_gpuprops - Read GPU properties from the kernel |
---|
.. | .. |
---|
81 | 80 | __u32 flags; |
---|
82 | 81 | }; |
---|
83 | 82 | |
---|
84 | | -#define KBASE_IOCTL_GET_GPUPROPS \ |
---|
85 | | - _IOW(KBASE_IOCTL_TYPE, 3, struct kbase_ioctl_get_gpuprops) |
---|
| 83 | +#define KBASE_IOCTL_GET_GPUPROPS _IOW(KBASE_IOCTL_TYPE, 3, struct kbase_ioctl_get_gpuprops) |
---|
86 | 84 | |
---|
87 | 85 | /** |
---|
88 | 86 | * union kbase_ioctl_mem_alloc - Allocate memory on the GPU |
---|
.. | .. |
---|
108 | 106 | } out; |
---|
109 | 107 | }; |
---|
110 | 108 | |
---|
111 | | -#define KBASE_IOCTL_MEM_ALLOC \ |
---|
112 | | - _IOWR(KBASE_IOCTL_TYPE, 5, union kbase_ioctl_mem_alloc) |
---|
| 109 | +#define KBASE_IOCTL_MEM_ALLOC _IOWR(KBASE_IOCTL_TYPE, 5, union kbase_ioctl_mem_alloc) |
---|
113 | 110 | |
---|
114 | 111 | /** |
---|
115 | 112 | * struct kbase_ioctl_mem_query - Query properties of a GPU memory region |
---|
.. | .. |
---|
131 | 128 | } out; |
---|
132 | 129 | }; |
---|
133 | 130 | |
---|
134 | | -#define KBASE_IOCTL_MEM_QUERY \ |
---|
135 | | - _IOWR(KBASE_IOCTL_TYPE, 6, union kbase_ioctl_mem_query) |
---|
| 131 | +#define KBASE_IOCTL_MEM_QUERY _IOWR(KBASE_IOCTL_TYPE, 6, union kbase_ioctl_mem_query) |
---|
136 | 132 | |
---|
137 | | -#define KBASE_MEM_QUERY_COMMIT_SIZE ((__u64)1) |
---|
138 | | -#define KBASE_MEM_QUERY_VA_SIZE ((__u64)2) |
---|
139 | | -#define KBASE_MEM_QUERY_FLAGS ((__u64)3) |
---|
| 133 | +#define KBASE_MEM_QUERY_COMMIT_SIZE ((__u64)1) |
---|
| 134 | +#define KBASE_MEM_QUERY_VA_SIZE ((__u64)2) |
---|
| 135 | +#define KBASE_MEM_QUERY_FLAGS ((__u64)3) |
---|
140 | 136 | |
---|
141 | 137 | /** |
---|
142 | 138 | * struct kbase_ioctl_mem_free - Free a memory region |
---|
.. | .. |
---|
146 | 142 | __u64 gpu_addr; |
---|
147 | 143 | }; |
---|
148 | 144 | |
---|
149 | | -#define KBASE_IOCTL_MEM_FREE \ |
---|
150 | | - _IOW(KBASE_IOCTL_TYPE, 7, struct kbase_ioctl_mem_free) |
---|
| 145 | +#define KBASE_IOCTL_MEM_FREE _IOW(KBASE_IOCTL_TYPE, 7, struct kbase_ioctl_mem_free) |
---|
151 | 146 | |
---|
152 | 147 | /** |
---|
153 | 148 | * struct kbase_ioctl_hwcnt_reader_setup - Setup HWC dumper/reader |
---|
.. | .. |
---|
167 | 162 | __u32 mmu_l2_bm; |
---|
168 | 163 | }; |
---|
169 | 164 | |
---|
170 | | -#define KBASE_IOCTL_HWCNT_READER_SETUP \ |
---|
| 165 | +#define KBASE_IOCTL_HWCNT_READER_SETUP \ |
---|
171 | 166 | _IOW(KBASE_IOCTL_TYPE, 8, struct kbase_ioctl_hwcnt_reader_setup) |
---|
172 | | - |
---|
173 | | -/** |
---|
174 | | - * struct kbase_ioctl_hwcnt_enable - Enable hardware counter collection |
---|
175 | | - * @dump_buffer: GPU address to write counters to |
---|
176 | | - * @fe_bm: counters selection bitmask (Front end) |
---|
177 | | - * @shader_bm: counters selection bitmask (Shader) |
---|
178 | | - * @tiler_bm: counters selection bitmask (Tiler) |
---|
179 | | - * @mmu_l2_bm: counters selection bitmask (MMU_L2) |
---|
180 | | - */ |
---|
181 | | -struct kbase_ioctl_hwcnt_enable { |
---|
182 | | - __u64 dump_buffer; |
---|
183 | | - __u32 fe_bm; |
---|
184 | | - __u32 shader_bm; |
---|
185 | | - __u32 tiler_bm; |
---|
186 | | - __u32 mmu_l2_bm; |
---|
187 | | -}; |
---|
188 | | - |
---|
189 | | -#define KBASE_IOCTL_HWCNT_ENABLE \ |
---|
190 | | - _IOW(KBASE_IOCTL_TYPE, 9, struct kbase_ioctl_hwcnt_enable) |
---|
191 | | - |
---|
192 | | -#define KBASE_IOCTL_HWCNT_DUMP \ |
---|
193 | | - _IO(KBASE_IOCTL_TYPE, 10) |
---|
194 | | - |
---|
195 | | -#define KBASE_IOCTL_HWCNT_CLEAR \ |
---|
196 | | - _IO(KBASE_IOCTL_TYPE, 11) |
---|
197 | 167 | |
---|
198 | 168 | /** |
---|
199 | 169 | * struct kbase_ioctl_hwcnt_values - Values to set dummy the dummy counters to. |
---|
.. | .. |
---|
207 | 177 | __u32 padding; |
---|
208 | 178 | }; |
---|
209 | 179 | |
---|
210 | | -#define KBASE_IOCTL_HWCNT_SET \ |
---|
211 | | - _IOW(KBASE_IOCTL_TYPE, 32, struct kbase_ioctl_hwcnt_values) |
---|
| 180 | +#define KBASE_IOCTL_HWCNT_SET _IOW(KBASE_IOCTL_TYPE, 32, struct kbase_ioctl_hwcnt_values) |
---|
212 | 181 | |
---|
213 | 182 | /** |
---|
214 | 183 | * struct kbase_ioctl_disjoint_query - Query the disjoint counter |
---|
.. | .. |
---|
218 | 187 | __u32 counter; |
---|
219 | 188 | }; |
---|
220 | 189 | |
---|
221 | | -#define KBASE_IOCTL_DISJOINT_QUERY \ |
---|
222 | | - _IOR(KBASE_IOCTL_TYPE, 12, struct kbase_ioctl_disjoint_query) |
---|
| 190 | +#define KBASE_IOCTL_DISJOINT_QUERY _IOR(KBASE_IOCTL_TYPE, 12, struct kbase_ioctl_disjoint_query) |
---|
223 | 191 | |
---|
224 | 192 | /** |
---|
225 | 193 | * struct kbase_ioctl_get_ddk_version - Query the kernel version |
---|
.. | .. |
---|
240 | 208 | __u32 padding; |
---|
241 | 209 | }; |
---|
242 | 210 | |
---|
243 | | -#define KBASE_IOCTL_GET_DDK_VERSION \ |
---|
244 | | - _IOW(KBASE_IOCTL_TYPE, 13, struct kbase_ioctl_get_ddk_version) |
---|
245 | | - |
---|
246 | | -/** |
---|
247 | | - * struct kbase_ioctl_mem_jit_init_10_2 - Initialize the just-in-time memory |
---|
248 | | - * allocator (between kernel driver |
---|
249 | | - * version 10.2--11.4) |
---|
250 | | - * @va_pages: Number of VA pages to reserve for JIT |
---|
251 | | - * |
---|
252 | | - * Note that depending on the VA size of the application and GPU, the value |
---|
253 | | - * specified in @va_pages may be ignored. |
---|
254 | | - * |
---|
255 | | - * New code should use KBASE_IOCTL_MEM_JIT_INIT instead, this is kept for |
---|
256 | | - * backwards compatibility. |
---|
257 | | - */ |
---|
258 | | -struct kbase_ioctl_mem_jit_init_10_2 { |
---|
259 | | - __u64 va_pages; |
---|
260 | | -}; |
---|
261 | | - |
---|
262 | | -#define KBASE_IOCTL_MEM_JIT_INIT_10_2 \ |
---|
263 | | - _IOW(KBASE_IOCTL_TYPE, 14, struct kbase_ioctl_mem_jit_init_10_2) |
---|
264 | | - |
---|
265 | | -/** |
---|
266 | | - * struct kbase_ioctl_mem_jit_init_11_5 - Initialize the just-in-time memory |
---|
267 | | - * allocator (between kernel driver |
---|
268 | | - * version 11.5--11.19) |
---|
269 | | - * @va_pages: Number of VA pages to reserve for JIT |
---|
270 | | - * @max_allocations: Maximum number of concurrent allocations |
---|
271 | | - * @trim_level: Level of JIT allocation trimming to perform on free (0 - 100%) |
---|
272 | | - * @group_id: Group ID to be used for physical allocations |
---|
273 | | - * @padding: Currently unused, must be zero |
---|
274 | | - * |
---|
275 | | - * Note that depending on the VA size of the application and GPU, the value |
---|
276 | | - * specified in @va_pages may be ignored. |
---|
277 | | - * |
---|
278 | | - * New code should use KBASE_IOCTL_MEM_JIT_INIT instead, this is kept for |
---|
279 | | - * backwards compatibility. |
---|
280 | | - */ |
---|
281 | | -struct kbase_ioctl_mem_jit_init_11_5 { |
---|
282 | | - __u64 va_pages; |
---|
283 | | - __u8 max_allocations; |
---|
284 | | - __u8 trim_level; |
---|
285 | | - __u8 group_id; |
---|
286 | | - __u8 padding[5]; |
---|
287 | | -}; |
---|
288 | | - |
---|
289 | | -#define KBASE_IOCTL_MEM_JIT_INIT_11_5 \ |
---|
290 | | - _IOW(KBASE_IOCTL_TYPE, 14, struct kbase_ioctl_mem_jit_init_11_5) |
---|
| 211 | +#define KBASE_IOCTL_GET_DDK_VERSION _IOW(KBASE_IOCTL_TYPE, 13, struct kbase_ioctl_get_ddk_version) |
---|
291 | 212 | |
---|
292 | 213 | /** |
---|
293 | 214 | * struct kbase_ioctl_mem_jit_init - Initialize the just-in-time memory |
---|
.. | .. |
---|
312 | 233 | __u64 phys_pages; |
---|
313 | 234 | }; |
---|
314 | 235 | |
---|
315 | | -#define KBASE_IOCTL_MEM_JIT_INIT \ |
---|
316 | | - _IOW(KBASE_IOCTL_TYPE, 14, struct kbase_ioctl_mem_jit_init) |
---|
| 236 | +#define KBASE_IOCTL_MEM_JIT_INIT _IOW(KBASE_IOCTL_TYPE, 14, struct kbase_ioctl_mem_jit_init) |
---|
317 | 237 | |
---|
318 | 238 | /** |
---|
319 | 239 | * struct kbase_ioctl_mem_sync - Perform cache maintenance on memory |
---|
.. | .. |
---|
333 | 253 | __u8 padding[7]; |
---|
334 | 254 | }; |
---|
335 | 255 | |
---|
336 | | -#define KBASE_IOCTL_MEM_SYNC \ |
---|
337 | | - _IOW(KBASE_IOCTL_TYPE, 15, struct kbase_ioctl_mem_sync) |
---|
| 256 | +#define KBASE_IOCTL_MEM_SYNC _IOW(KBASE_IOCTL_TYPE, 15, struct kbase_ioctl_mem_sync) |
---|
338 | 257 | |
---|
339 | 258 | /** |
---|
340 | 259 | * union kbase_ioctl_mem_find_cpu_offset - Find the offset of a CPU pointer |
---|
.. | .. |
---|
357 | 276 | } out; |
---|
358 | 277 | }; |
---|
359 | 278 | |
---|
360 | | -#define KBASE_IOCTL_MEM_FIND_CPU_OFFSET \ |
---|
| 279 | +#define KBASE_IOCTL_MEM_FIND_CPU_OFFSET \ |
---|
361 | 280 | _IOWR(KBASE_IOCTL_TYPE, 16, union kbase_ioctl_mem_find_cpu_offset) |
---|
362 | 281 | |
---|
363 | 282 | /** |
---|
.. | .. |
---|
369 | 288 | __u32 id; |
---|
370 | 289 | }; |
---|
371 | 290 | |
---|
372 | | -#define KBASE_IOCTL_GET_CONTEXT_ID \ |
---|
373 | | - _IOR(KBASE_IOCTL_TYPE, 17, struct kbase_ioctl_get_context_id) |
---|
| 291 | +#define KBASE_IOCTL_GET_CONTEXT_ID _IOR(KBASE_IOCTL_TYPE, 17, struct kbase_ioctl_get_context_id) |
---|
374 | 292 | |
---|
375 | 293 | /** |
---|
376 | 294 | * struct kbase_ioctl_tlstream_acquire - Acquire a tlstream fd |
---|
.. | .. |
---|
383 | 301 | __u32 flags; |
---|
384 | 302 | }; |
---|
385 | 303 | |
---|
386 | | -#define KBASE_IOCTL_TLSTREAM_ACQUIRE \ |
---|
387 | | - _IOW(KBASE_IOCTL_TYPE, 18, struct kbase_ioctl_tlstream_acquire) |
---|
| 304 | +#define KBASE_IOCTL_TLSTREAM_ACQUIRE _IOW(KBASE_IOCTL_TYPE, 18, struct kbase_ioctl_tlstream_acquire) |
---|
388 | 305 | |
---|
389 | | -#define KBASE_IOCTL_TLSTREAM_FLUSH \ |
---|
390 | | - _IO(KBASE_IOCTL_TYPE, 19) |
---|
| 306 | +#define KBASE_IOCTL_TLSTREAM_FLUSH _IO(KBASE_IOCTL_TYPE, 19) |
---|
391 | 307 | |
---|
392 | 308 | /** |
---|
393 | 309 | * struct kbase_ioctl_mem_commit - Change the amount of memory backing a region |
---|
.. | .. |
---|
404 | 320 | __u64 pages; |
---|
405 | 321 | }; |
---|
406 | 322 | |
---|
407 | | -#define KBASE_IOCTL_MEM_COMMIT \ |
---|
408 | | - _IOW(KBASE_IOCTL_TYPE, 20, struct kbase_ioctl_mem_commit) |
---|
| 323 | +#define KBASE_IOCTL_MEM_COMMIT _IOW(KBASE_IOCTL_TYPE, 20, struct kbase_ioctl_mem_commit) |
---|
409 | 324 | |
---|
410 | 325 | /** |
---|
411 | 326 | * union kbase_ioctl_mem_alias - Create an alias of memory regions |
---|
.. | .. |
---|
433 | 348 | } out; |
---|
434 | 349 | }; |
---|
435 | 350 | |
---|
436 | | -#define KBASE_IOCTL_MEM_ALIAS \ |
---|
437 | | - _IOWR(KBASE_IOCTL_TYPE, 21, union kbase_ioctl_mem_alias) |
---|
| 351 | +#define KBASE_IOCTL_MEM_ALIAS _IOWR(KBASE_IOCTL_TYPE, 21, union kbase_ioctl_mem_alias) |
---|
438 | 352 | |
---|
439 | 353 | /** |
---|
440 | 354 | * union kbase_ioctl_mem_import - Import memory for use by the GPU |
---|
.. | .. |
---|
462 | 376 | } out; |
---|
463 | 377 | }; |
---|
464 | 378 | |
---|
465 | | -#define KBASE_IOCTL_MEM_IMPORT \ |
---|
466 | | - _IOWR(KBASE_IOCTL_TYPE, 22, union kbase_ioctl_mem_import) |
---|
| 379 | +#define KBASE_IOCTL_MEM_IMPORT _IOWR(KBASE_IOCTL_TYPE, 22, union kbase_ioctl_mem_import) |
---|
467 | 380 | |
---|
468 | 381 | /** |
---|
469 | 382 | * struct kbase_ioctl_mem_flags_change - Change the flags for a memory region |
---|
.. | .. |
---|
477 | 390 | __u64 mask; |
---|
478 | 391 | }; |
---|
479 | 392 | |
---|
480 | | -#define KBASE_IOCTL_MEM_FLAGS_CHANGE \ |
---|
481 | | - _IOW(KBASE_IOCTL_TYPE, 23, struct kbase_ioctl_mem_flags_change) |
---|
| 393 | +#define KBASE_IOCTL_MEM_FLAGS_CHANGE _IOW(KBASE_IOCTL_TYPE, 23, struct kbase_ioctl_mem_flags_change) |
---|
482 | 394 | |
---|
483 | 395 | /** |
---|
484 | 396 | * struct kbase_ioctl_stream_create - Create a synchronisation stream |
---|
.. | .. |
---|
495 | 407 | char name[32]; |
---|
496 | 408 | }; |
---|
497 | 409 | |
---|
498 | | -#define KBASE_IOCTL_STREAM_CREATE \ |
---|
499 | | - _IOW(KBASE_IOCTL_TYPE, 24, struct kbase_ioctl_stream_create) |
---|
| 410 | +#define KBASE_IOCTL_STREAM_CREATE _IOW(KBASE_IOCTL_TYPE, 24, struct kbase_ioctl_stream_create) |
---|
500 | 411 | |
---|
501 | 412 | /** |
---|
502 | 413 | * struct kbase_ioctl_fence_validate - Validate a fd refers to a fence |
---|
.. | .. |
---|
506 | 417 | int fd; |
---|
507 | 418 | }; |
---|
508 | 419 | |
---|
509 | | -#define KBASE_IOCTL_FENCE_VALIDATE \ |
---|
510 | | - _IOW(KBASE_IOCTL_TYPE, 25, struct kbase_ioctl_fence_validate) |
---|
| 420 | +#define KBASE_IOCTL_FENCE_VALIDATE _IOW(KBASE_IOCTL_TYPE, 25, struct kbase_ioctl_fence_validate) |
---|
511 | 421 | |
---|
512 | 422 | /** |
---|
513 | 423 | * struct kbase_ioctl_mem_profile_add - Provide profiling information to kernel |
---|
.. | .. |
---|
523 | 433 | __u32 padding; |
---|
524 | 434 | }; |
---|
525 | 435 | |
---|
526 | | -#define KBASE_IOCTL_MEM_PROFILE_ADD \ |
---|
527 | | - _IOW(KBASE_IOCTL_TYPE, 27, struct kbase_ioctl_mem_profile_add) |
---|
| 436 | +#define KBASE_IOCTL_MEM_PROFILE_ADD _IOW(KBASE_IOCTL_TYPE, 27, struct kbase_ioctl_mem_profile_add) |
---|
528 | 437 | |
---|
529 | 438 | /** |
---|
530 | 439 | * struct kbase_ioctl_sticky_resource_map - Permanently map an external resource |
---|
.. | .. |
---|
536 | 445 | __u64 address; |
---|
537 | 446 | }; |
---|
538 | 447 | |
---|
539 | | -#define KBASE_IOCTL_STICKY_RESOURCE_MAP \ |
---|
| 448 | +#define KBASE_IOCTL_STICKY_RESOURCE_MAP \ |
---|
540 | 449 | _IOW(KBASE_IOCTL_TYPE, 29, struct kbase_ioctl_sticky_resource_map) |
---|
541 | 450 | |
---|
542 | 451 | /** |
---|
543 | | - * struct kbase_ioctl_sticky_resource_map - Unmap a resource mapped which was |
---|
| 452 | + * struct kbase_ioctl_sticky_resource_unmap - Unmap a resource mapped which was |
---|
544 | 453 | * previously permanently mapped |
---|
545 | 454 | * @count: Number of resources |
---|
546 | 455 | * @address: Array of __u64 GPU addresses of the external resources to unmap |
---|
.. | .. |
---|
550 | 459 | __u64 address; |
---|
551 | 460 | }; |
---|
552 | 461 | |
---|
553 | | -#define KBASE_IOCTL_STICKY_RESOURCE_UNMAP \ |
---|
| 462 | +#define KBASE_IOCTL_STICKY_RESOURCE_UNMAP \ |
---|
554 | 463 | _IOW(KBASE_IOCTL_TYPE, 30, struct kbase_ioctl_sticky_resource_unmap) |
---|
555 | 464 | |
---|
556 | 465 | /** |
---|
.. | .. |
---|
578 | 487 | } out; |
---|
579 | 488 | }; |
---|
580 | 489 | |
---|
581 | | -#define KBASE_IOCTL_MEM_FIND_GPU_START_AND_OFFSET \ |
---|
| 490 | +#define KBASE_IOCTL_MEM_FIND_GPU_START_AND_OFFSET \ |
---|
582 | 491 | _IOWR(KBASE_IOCTL_TYPE, 31, union kbase_ioctl_mem_find_gpu_start_and_offset) |
---|
583 | 492 | |
---|
584 | | -#define KBASE_IOCTL_CINSTR_GWT_START \ |
---|
585 | | - _IO(KBASE_IOCTL_TYPE, 33) |
---|
| 493 | +#define KBASE_IOCTL_CINSTR_GWT_START _IO(KBASE_IOCTL_TYPE, 33) |
---|
586 | 494 | |
---|
587 | | -#define KBASE_IOCTL_CINSTR_GWT_STOP \ |
---|
588 | | - _IO(KBASE_IOCTL_TYPE, 34) |
---|
| 495 | +#define KBASE_IOCTL_CINSTR_GWT_STOP _IO(KBASE_IOCTL_TYPE, 34) |
---|
589 | 496 | |
---|
590 | 497 | /** |
---|
591 | | - * union kbase_ioctl_gwt_dump - Used to collect all GPU write fault addresses. |
---|
| 498 | + * union kbase_ioctl_cinstr_gwt_dump - Used to collect all GPU write fault |
---|
| 499 | + * addresses. |
---|
592 | 500 | * @in: Input parameters |
---|
593 | 501 | * @in.addr_buffer: Address of buffer to hold addresses of gpu modified areas. |
---|
594 | 502 | * @in.size_buffer: Address of buffer to hold size of modified areas (in pages) |
---|
.. | .. |
---|
617 | 525 | } out; |
---|
618 | 526 | }; |
---|
619 | 527 | |
---|
620 | | -#define KBASE_IOCTL_CINSTR_GWT_DUMP \ |
---|
621 | | - _IOWR(KBASE_IOCTL_TYPE, 35, union kbase_ioctl_cinstr_gwt_dump) |
---|
| 528 | +#define KBASE_IOCTL_CINSTR_GWT_DUMP _IOWR(KBASE_IOCTL_TYPE, 35, union kbase_ioctl_cinstr_gwt_dump) |
---|
622 | 529 | |
---|
623 | 530 | /** |
---|
624 | 531 | * struct kbase_ioctl_mem_exec_init - Initialise the EXEC_VA memory zone |
---|
.. | .. |
---|
629 | 536 | __u64 va_pages; |
---|
630 | 537 | }; |
---|
631 | 538 | |
---|
632 | | -#define KBASE_IOCTL_MEM_EXEC_INIT \ |
---|
633 | | - _IOW(KBASE_IOCTL_TYPE, 38, struct kbase_ioctl_mem_exec_init) |
---|
| 539 | +#define KBASE_IOCTL_MEM_EXEC_INIT _IOW(KBASE_IOCTL_TYPE, 38, struct kbase_ioctl_mem_exec_init) |
---|
634 | 540 | |
---|
635 | 541 | /** |
---|
636 | 542 | * union kbase_ioctl_get_cpu_gpu_timeinfo - Request zero or more types of |
---|
.. | .. |
---|
659 | 565 | } out; |
---|
660 | 566 | }; |
---|
661 | 567 | |
---|
662 | | -#define KBASE_IOCTL_GET_CPU_GPU_TIMEINFO \ |
---|
| 568 | +#define KBASE_IOCTL_GET_CPU_GPU_TIMEINFO \ |
---|
663 | 569 | _IOWR(KBASE_IOCTL_TYPE, 50, union kbase_ioctl_get_cpu_gpu_timeinfo) |
---|
664 | 570 | |
---|
665 | 571 | /** |
---|
.. | .. |
---|
671 | 577 | __u8 priority; |
---|
672 | 578 | }; |
---|
673 | 579 | |
---|
674 | | -#define KBASE_IOCTL_CONTEXT_PRIORITY_CHECK \ |
---|
| 580 | +#define KBASE_IOCTL_CONTEXT_PRIORITY_CHECK \ |
---|
675 | 581 | _IOWR(KBASE_IOCTL_TYPE, 54, struct kbase_ioctl_context_priority_check) |
---|
676 | 582 | |
---|
677 | 583 | /** |
---|
.. | .. |
---|
683 | 589 | __u8 max_core_count; |
---|
684 | 590 | }; |
---|
685 | 591 | |
---|
686 | | -#define KBASE_IOCTL_SET_LIMITED_CORE_COUNT \ |
---|
| 592 | +#define KBASE_IOCTL_SET_LIMITED_CORE_COUNT \ |
---|
687 | 593 | _IOW(KBASE_IOCTL_TYPE, 55, struct kbase_ioctl_set_limited_core_count) |
---|
688 | 594 | |
---|
| 595 | +/** |
---|
| 596 | + * struct kbase_ioctl_kinstr_prfcnt_enum_info - Enum Performance counter |
---|
| 597 | + * information |
---|
| 598 | + * @info_item_size: Performance counter item size in bytes. |
---|
| 599 | + * @info_item_count: Performance counter item count in the info_list_ptr. |
---|
| 600 | + * @info_list_ptr: Performance counter item list pointer which points to a |
---|
| 601 | + * list with info_item_count of items. |
---|
| 602 | + * |
---|
| 603 | + * On success: returns info_item_size and info_item_count if info_list_ptr is |
---|
| 604 | + * NULL, returns performance counter information if info_list_ptr is not NULL. |
---|
| 605 | + * On error: returns a negative error code. |
---|
| 606 | + */ |
---|
| 607 | +struct kbase_ioctl_kinstr_prfcnt_enum_info { |
---|
| 608 | + __u32 info_item_size; |
---|
| 609 | + __u32 info_item_count; |
---|
| 610 | + __u64 info_list_ptr; |
---|
| 611 | +}; |
---|
| 612 | + |
---|
| 613 | +#define KBASE_IOCTL_KINSTR_PRFCNT_ENUM_INFO \ |
---|
| 614 | + _IOWR(KBASE_IOCTL_TYPE, 56, struct kbase_ioctl_kinstr_prfcnt_enum_info) |
---|
| 615 | + |
---|
| 616 | +/** |
---|
| 617 | + * struct kbase_ioctl_kinstr_prfcnt_setup - Setup HWC dumper/reader |
---|
| 618 | + * @in: input parameters. |
---|
| 619 | + * @in.request_item_count: Number of requests in the requests array. |
---|
| 620 | + * @in.request_item_size: Size in bytes of each request in the requests array. |
---|
| 621 | + * @in.requests_ptr: Pointer to the requests array. |
---|
| 622 | + * @out: output parameters. |
---|
| 623 | + * @out.prfcnt_metadata_item_size: Size of each item in the metadata array for |
---|
| 624 | + * each sample. |
---|
| 625 | + * @out.prfcnt_mmap_size_bytes: Size in bytes that user-space should mmap |
---|
| 626 | + * for reading performance counter samples. |
---|
| 627 | + * |
---|
| 628 | + * A fd is returned from the ioctl if successful, or a negative value on error. |
---|
| 629 | + */ |
---|
| 630 | +union kbase_ioctl_kinstr_prfcnt_setup { |
---|
| 631 | + struct { |
---|
| 632 | + __u32 request_item_count; |
---|
| 633 | + __u32 request_item_size; |
---|
| 634 | + __u64 requests_ptr; |
---|
| 635 | + } in; |
---|
| 636 | + struct { |
---|
| 637 | + __u32 prfcnt_metadata_item_size; |
---|
| 638 | + __u32 prfcnt_mmap_size_bytes; |
---|
| 639 | + } out; |
---|
| 640 | +}; |
---|
| 641 | + |
---|
| 642 | +#define KBASE_IOCTL_KINSTR_PRFCNT_SETUP \ |
---|
| 643 | + _IOWR(KBASE_IOCTL_TYPE, 57, union kbase_ioctl_kinstr_prfcnt_setup) |
---|
689 | 644 | |
---|
690 | 645 | /*************** |
---|
691 | 646 | * test ioctls * |
---|
.. | .. |
---|
708 | 663 | __u32 bytes_generated; |
---|
709 | 664 | }; |
---|
710 | 665 | |
---|
711 | | -#define KBASE_IOCTL_TLSTREAM_STATS \ |
---|
712 | | - _IOR(KBASE_IOCTL_TEST_TYPE, 2, struct kbase_ioctl_tlstream_stats) |
---|
| 666 | +#define KBASE_IOCTL_TLSTREAM_STATS _IOR(KBASE_IOCTL_TEST_TYPE, 2, struct kbase_ioctl_tlstream_stats) |
---|
713 | 667 | |
---|
714 | 668 | #endif /* MALI_UNIT_TEST */ |
---|
715 | 669 | |
---|
.. | .. |
---|
727 | 681 | * _IOWR(KBASE_IOCTL_EXTRA_TYPE, 0, struct my_ioctl_args) |
---|
728 | 682 | */ |
---|
729 | 683 | |
---|
730 | | - |
---|
731 | 684 | /********************************** |
---|
732 | 685 | * Definitions for GPU properties * |
---|
733 | 686 | **********************************/ |
---|
734 | | -#define KBASE_GPUPROP_VALUE_SIZE_U8 (0x0) |
---|
735 | | -#define KBASE_GPUPROP_VALUE_SIZE_U16 (0x1) |
---|
736 | | -#define KBASE_GPUPROP_VALUE_SIZE_U32 (0x2) |
---|
737 | | -#define KBASE_GPUPROP_VALUE_SIZE_U64 (0x3) |
---|
| 687 | +#define KBASE_GPUPROP_VALUE_SIZE_U8 (0x0) |
---|
| 688 | +#define KBASE_GPUPROP_VALUE_SIZE_U16 (0x1) |
---|
| 689 | +#define KBASE_GPUPROP_VALUE_SIZE_U32 (0x2) |
---|
| 690 | +#define KBASE_GPUPROP_VALUE_SIZE_U64 (0x3) |
---|
738 | 691 | |
---|
739 | | -#define KBASE_GPUPROP_PRODUCT_ID 1 |
---|
740 | | -#define KBASE_GPUPROP_VERSION_STATUS 2 |
---|
741 | | -#define KBASE_GPUPROP_MINOR_REVISION 3 |
---|
742 | | -#define KBASE_GPUPROP_MAJOR_REVISION 4 |
---|
| 692 | +#define KBASE_GPUPROP_PRODUCT_ID 1 |
---|
| 693 | +#define KBASE_GPUPROP_VERSION_STATUS 2 |
---|
| 694 | +#define KBASE_GPUPROP_MINOR_REVISION 3 |
---|
| 695 | +#define KBASE_GPUPROP_MAJOR_REVISION 4 |
---|
743 | 696 | /* 5 previously used for GPU speed */ |
---|
744 | | -#define KBASE_GPUPROP_GPU_FREQ_KHZ_MAX 6 |
---|
| 697 | +#define KBASE_GPUPROP_GPU_FREQ_KHZ_MAX 6 |
---|
745 | 698 | /* 7 previously used for minimum GPU speed */ |
---|
746 | | -#define KBASE_GPUPROP_LOG2_PROGRAM_COUNTER_SIZE 8 |
---|
747 | | -#define KBASE_GPUPROP_TEXTURE_FEATURES_0 9 |
---|
748 | | -#define KBASE_GPUPROP_TEXTURE_FEATURES_1 10 |
---|
749 | | -#define KBASE_GPUPROP_TEXTURE_FEATURES_2 11 |
---|
750 | | -#define KBASE_GPUPROP_GPU_AVAILABLE_MEMORY_SIZE 12 |
---|
| 699 | +#define KBASE_GPUPROP_LOG2_PROGRAM_COUNTER_SIZE 8 |
---|
| 700 | +#define KBASE_GPUPROP_TEXTURE_FEATURES_0 9 |
---|
| 701 | +#define KBASE_GPUPROP_TEXTURE_FEATURES_1 10 |
---|
| 702 | +#define KBASE_GPUPROP_TEXTURE_FEATURES_2 11 |
---|
| 703 | +#define KBASE_GPUPROP_GPU_AVAILABLE_MEMORY_SIZE 12 |
---|
751 | 704 | |
---|
752 | | -#define KBASE_GPUPROP_L2_LOG2_LINE_SIZE 13 |
---|
753 | | -#define KBASE_GPUPROP_L2_LOG2_CACHE_SIZE 14 |
---|
754 | | -#define KBASE_GPUPROP_L2_NUM_L2_SLICES 15 |
---|
| 705 | +#define KBASE_GPUPROP_L2_LOG2_LINE_SIZE 13 |
---|
| 706 | +#define KBASE_GPUPROP_L2_LOG2_CACHE_SIZE 14 |
---|
| 707 | +#define KBASE_GPUPROP_L2_NUM_L2_SLICES 15 |
---|
755 | 708 | |
---|
756 | | -#define KBASE_GPUPROP_TILER_BIN_SIZE_BYTES 16 |
---|
757 | | -#define KBASE_GPUPROP_TILER_MAX_ACTIVE_LEVELS 17 |
---|
| 709 | +#define KBASE_GPUPROP_TILER_BIN_SIZE_BYTES 16 |
---|
| 710 | +#define KBASE_GPUPROP_TILER_MAX_ACTIVE_LEVELS 17 |
---|
758 | 711 | |
---|
759 | | -#define KBASE_GPUPROP_MAX_THREADS 18 |
---|
760 | | -#define KBASE_GPUPROP_MAX_WORKGROUP_SIZE 19 |
---|
761 | | -#define KBASE_GPUPROP_MAX_BARRIER_SIZE 20 |
---|
762 | | -#define KBASE_GPUPROP_MAX_REGISTERS 21 |
---|
763 | | -#define KBASE_GPUPROP_MAX_TASK_QUEUE 22 |
---|
764 | | -#define KBASE_GPUPROP_MAX_THREAD_GROUP_SPLIT 23 |
---|
765 | | -#define KBASE_GPUPROP_IMPL_TECH 24 |
---|
| 712 | +#define KBASE_GPUPROP_MAX_THREADS 18 |
---|
| 713 | +#define KBASE_GPUPROP_MAX_WORKGROUP_SIZE 19 |
---|
| 714 | +#define KBASE_GPUPROP_MAX_BARRIER_SIZE 20 |
---|
| 715 | +#define KBASE_GPUPROP_MAX_REGISTERS 21 |
---|
| 716 | +#define KBASE_GPUPROP_MAX_TASK_QUEUE 22 |
---|
| 717 | +#define KBASE_GPUPROP_MAX_THREAD_GROUP_SPLIT 23 |
---|
| 718 | +#define KBASE_GPUPROP_IMPL_TECH 24 |
---|
766 | 719 | |
---|
767 | | -#define KBASE_GPUPROP_RAW_SHADER_PRESENT 25 |
---|
768 | | -#define KBASE_GPUPROP_RAW_TILER_PRESENT 26 |
---|
769 | | -#define KBASE_GPUPROP_RAW_L2_PRESENT 27 |
---|
770 | | -#define KBASE_GPUPROP_RAW_STACK_PRESENT 28 |
---|
771 | | -#define KBASE_GPUPROP_RAW_L2_FEATURES 29 |
---|
772 | | -#define KBASE_GPUPROP_RAW_CORE_FEATURES 30 |
---|
773 | | -#define KBASE_GPUPROP_RAW_MEM_FEATURES 31 |
---|
774 | | -#define KBASE_GPUPROP_RAW_MMU_FEATURES 32 |
---|
775 | | -#define KBASE_GPUPROP_RAW_AS_PRESENT 33 |
---|
776 | | -#define KBASE_GPUPROP_RAW_JS_PRESENT 34 |
---|
777 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_0 35 |
---|
778 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_1 36 |
---|
779 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_2 37 |
---|
780 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_3 38 |
---|
781 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_4 39 |
---|
782 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_5 40 |
---|
783 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_6 41 |
---|
784 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_7 42 |
---|
785 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_8 43 |
---|
786 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_9 44 |
---|
787 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_10 45 |
---|
788 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_11 46 |
---|
789 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_12 47 |
---|
790 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_13 48 |
---|
791 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_14 49 |
---|
792 | | -#define KBASE_GPUPROP_RAW_JS_FEATURES_15 50 |
---|
793 | | -#define KBASE_GPUPROP_RAW_TILER_FEATURES 51 |
---|
794 | | -#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_0 52 |
---|
795 | | -#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_1 53 |
---|
796 | | -#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_2 54 |
---|
797 | | -#define KBASE_GPUPROP_RAW_GPU_ID 55 |
---|
798 | | -#define KBASE_GPUPROP_RAW_THREAD_MAX_THREADS 56 |
---|
799 | | -#define KBASE_GPUPROP_RAW_THREAD_MAX_WORKGROUP_SIZE 57 |
---|
800 | | -#define KBASE_GPUPROP_RAW_THREAD_MAX_BARRIER_SIZE 58 |
---|
801 | | -#define KBASE_GPUPROP_RAW_THREAD_FEATURES 59 |
---|
802 | | -#define KBASE_GPUPROP_RAW_COHERENCY_MODE 60 |
---|
| 720 | +#define KBASE_GPUPROP_RAW_SHADER_PRESENT 25 |
---|
| 721 | +#define KBASE_GPUPROP_RAW_TILER_PRESENT 26 |
---|
| 722 | +#define KBASE_GPUPROP_RAW_L2_PRESENT 27 |
---|
| 723 | +#define KBASE_GPUPROP_RAW_STACK_PRESENT 28 |
---|
| 724 | +#define KBASE_GPUPROP_RAW_L2_FEATURES 29 |
---|
| 725 | +#define KBASE_GPUPROP_RAW_CORE_FEATURES 30 |
---|
| 726 | +#define KBASE_GPUPROP_RAW_MEM_FEATURES 31 |
---|
| 727 | +#define KBASE_GPUPROP_RAW_MMU_FEATURES 32 |
---|
| 728 | +#define KBASE_GPUPROP_RAW_AS_PRESENT 33 |
---|
| 729 | +#define KBASE_GPUPROP_RAW_JS_PRESENT 34 |
---|
| 730 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_0 35 |
---|
| 731 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_1 36 |
---|
| 732 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_2 37 |
---|
| 733 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_3 38 |
---|
| 734 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_4 39 |
---|
| 735 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_5 40 |
---|
| 736 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_6 41 |
---|
| 737 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_7 42 |
---|
| 738 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_8 43 |
---|
| 739 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_9 44 |
---|
| 740 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_10 45 |
---|
| 741 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_11 46 |
---|
| 742 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_12 47 |
---|
| 743 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_13 48 |
---|
| 744 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_14 49 |
---|
| 745 | +#define KBASE_GPUPROP_RAW_JS_FEATURES_15 50 |
---|
| 746 | +#define KBASE_GPUPROP_RAW_TILER_FEATURES 51 |
---|
| 747 | +#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_0 52 |
---|
| 748 | +#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_1 53 |
---|
| 749 | +#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_2 54 |
---|
| 750 | +#define KBASE_GPUPROP_RAW_GPU_ID 55 |
---|
| 751 | +#define KBASE_GPUPROP_RAW_THREAD_MAX_THREADS 56 |
---|
| 752 | +#define KBASE_GPUPROP_RAW_THREAD_MAX_WORKGROUP_SIZE 57 |
---|
| 753 | +#define KBASE_GPUPROP_RAW_THREAD_MAX_BARRIER_SIZE 58 |
---|
| 754 | +#define KBASE_GPUPROP_RAW_THREAD_FEATURES 59 |
---|
| 755 | +#define KBASE_GPUPROP_RAW_COHERENCY_MODE 60 |
---|
803 | 756 | |
---|
804 | | -#define KBASE_GPUPROP_COHERENCY_NUM_GROUPS 61 |
---|
805 | | -#define KBASE_GPUPROP_COHERENCY_NUM_CORE_GROUPS 62 |
---|
806 | | -#define KBASE_GPUPROP_COHERENCY_COHERENCY 63 |
---|
807 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_0 64 |
---|
808 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_1 65 |
---|
809 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_2 66 |
---|
810 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_3 67 |
---|
811 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_4 68 |
---|
812 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_5 69 |
---|
813 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_6 70 |
---|
814 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_7 71 |
---|
815 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_8 72 |
---|
816 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_9 73 |
---|
817 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_10 74 |
---|
818 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_11 75 |
---|
819 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_12 76 |
---|
820 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_13 77 |
---|
821 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_14 78 |
---|
822 | | -#define KBASE_GPUPROP_COHERENCY_GROUP_15 79 |
---|
| 757 | +#define KBASE_GPUPROP_COHERENCY_NUM_GROUPS 61 |
---|
| 758 | +#define KBASE_GPUPROP_COHERENCY_NUM_CORE_GROUPS 62 |
---|
| 759 | +#define KBASE_GPUPROP_COHERENCY_COHERENCY 63 |
---|
| 760 | +#define KBASE_GPUPROP_COHERENCY_GROUP_0 64 |
---|
| 761 | +#define KBASE_GPUPROP_COHERENCY_GROUP_1 65 |
---|
| 762 | +#define KBASE_GPUPROP_COHERENCY_GROUP_2 66 |
---|
| 763 | +#define KBASE_GPUPROP_COHERENCY_GROUP_3 67 |
---|
| 764 | +#define KBASE_GPUPROP_COHERENCY_GROUP_4 68 |
---|
| 765 | +#define KBASE_GPUPROP_COHERENCY_GROUP_5 69 |
---|
| 766 | +#define KBASE_GPUPROP_COHERENCY_GROUP_6 70 |
---|
| 767 | +#define KBASE_GPUPROP_COHERENCY_GROUP_7 71 |
---|
| 768 | +#define KBASE_GPUPROP_COHERENCY_GROUP_8 72 |
---|
| 769 | +#define KBASE_GPUPROP_COHERENCY_GROUP_9 73 |
---|
| 770 | +#define KBASE_GPUPROP_COHERENCY_GROUP_10 74 |
---|
| 771 | +#define KBASE_GPUPROP_COHERENCY_GROUP_11 75 |
---|
| 772 | +#define KBASE_GPUPROP_COHERENCY_GROUP_12 76 |
---|
| 773 | +#define KBASE_GPUPROP_COHERENCY_GROUP_13 77 |
---|
| 774 | +#define KBASE_GPUPROP_COHERENCY_GROUP_14 78 |
---|
| 775 | +#define KBASE_GPUPROP_COHERENCY_GROUP_15 79 |
---|
823 | 776 | |
---|
824 | | -#define KBASE_GPUPROP_TEXTURE_FEATURES_3 80 |
---|
825 | | -#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_3 81 |
---|
| 777 | +#define KBASE_GPUPROP_TEXTURE_FEATURES_3 80 |
---|
| 778 | +#define KBASE_GPUPROP_RAW_TEXTURE_FEATURES_3 81 |
---|
826 | 779 | |
---|
827 | | -#define KBASE_GPUPROP_NUM_EXEC_ENGINES 82 |
---|
| 780 | +#define KBASE_GPUPROP_NUM_EXEC_ENGINES 82 |
---|
828 | 781 | |
---|
829 | | -#define KBASE_GPUPROP_RAW_THREAD_TLS_ALLOC 83 |
---|
830 | | -#define KBASE_GPUPROP_TLS_ALLOC 84 |
---|
831 | | -#define KBASE_GPUPROP_RAW_GPU_FEATURES 85 |
---|
| 782 | +#define KBASE_GPUPROP_RAW_THREAD_TLS_ALLOC 83 |
---|
| 783 | +#define KBASE_GPUPROP_TLS_ALLOC 84 |
---|
| 784 | +#define KBASE_GPUPROP_RAW_GPU_FEATURES 85 |
---|
832 | 785 | #ifdef __cpluscplus |
---|
833 | 786 | } |
---|
834 | 787 | #endif |
---|