XenevaOS
Loading...
Searching...
No Matches
v3d_drm.h
Go to the documentation of this file.
1/*
2 * Copyright © 2014-2018 Broadcom
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
21 * IN THE SOFTWARE.
22 */
23
24#ifndef _V3D_DRM_H_
25#define _V3D_DRM_H_
26
27#include "drm.h"
28
29#if defined(__cplusplus)
30extern "C" {
31#endif
32
33#define DRM_V3D_SUBMIT_CL 0x00
34#define DRM_V3D_WAIT_BO 0x01
35#define DRM_V3D_CREATE_BO 0x02
36#define DRM_V3D_MMAP_BO 0x03
37#define DRM_V3D_GET_PARAM 0x04
38#define DRM_V3D_GET_BO_OFFSET 0x05
39#define DRM_V3D_SUBMIT_TFU 0x06
40#define DRM_V3D_SUBMIT_CSD 0x07
41#define DRM_V3D_PERFMON_CREATE 0x08
42#define DRM_V3D_PERFMON_DESTROY 0x09
43#define DRM_V3D_PERFMON_GET_VALUES 0x0a
44#define DRM_V3D_SUBMIT_CPU 0x0b
45#define DRM_V3D_PERFMON_GET_COUNTER 0x0c
46#define DRM_V3D_PERFMON_SET_GLOBAL 0x0d
47
48#define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl)
49#define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo)
50#define DRM_IOCTL_V3D_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_CREATE_BO, struct drm_v3d_create_bo)
51#define DRM_IOCTL_V3D_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_MMAP_BO, struct drm_v3d_mmap_bo)
52#define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param)
53#define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset)
54#define DRM_IOCTL_V3D_SUBMIT_TFU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_TFU, struct drm_v3d_submit_tfu)
55#define DRM_IOCTL_V3D_SUBMIT_CSD DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CSD, struct drm_v3d_submit_csd)
56#define DRM_IOCTL_V3D_PERFMON_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_CREATE, \
57 struct drm_v3d_perfmon_create)
58#define DRM_IOCTL_V3D_PERFMON_DESTROY DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_DESTROY, \
59 struct drm_v3d_perfmon_destroy)
60#define DRM_IOCTL_V3D_PERFMON_GET_VALUES DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_VALUES, \
61 struct drm_v3d_perfmon_get_values)
62#define DRM_IOCTL_V3D_SUBMIT_CPU DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CPU, struct drm_v3d_submit_cpu)
63#define DRM_IOCTL_V3D_PERFMON_GET_COUNTER DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_PERFMON_GET_COUNTER, \
64 struct drm_v3d_perfmon_get_counter)
65#define DRM_IOCTL_V3D_PERFMON_SET_GLOBAL DRM_IOW(DRM_COMMAND_BASE + DRM_V3D_PERFMON_SET_GLOBAL, \
66 struct drm_v3d_perfmon_set_global)
67
68#define DRM_V3D_SUBMIT_CL_FLUSH_CACHE 0x01
69#define DRM_V3D_SUBMIT_EXTENSION 0x02
70
71/* struct drm_v3d_extension - ioctl extensions
72 *
73 * Linked-list of generic extensions where the id identify which struct is
74 * pointed by ext_data. Therefore, DRM_V3D_EXT_ID_* is used on id to identify
75 * the extension type.
76 */
80#define DRM_V3D_EXT_ID_MULTI_SYNC 0x01
81#define DRM_V3D_EXT_ID_CPU_INDIRECT_CSD 0x02
82#define DRM_V3D_EXT_ID_CPU_TIMESTAMP_QUERY 0x03
83#define DRM_V3D_EXT_ID_CPU_RESET_TIMESTAMP_QUERY 0x04
84#define DRM_V3D_EXT_ID_CPU_COPY_TIMESTAMP_QUERY 0x05
85#define DRM_V3D_EXT_ID_CPU_RESET_PERFORMANCE_QUERY 0x06
86#define DRM_V3D_EXT_ID_CPU_COPY_PERFORMANCE_QUERY 0x07
87 __u32 flags; /* mbz */
88};
89
90/* struct drm_v3d_sem - wait/signal semaphore
91 *
92 * If binary semaphore, it only takes syncobj handle and ignores flags and
93 * point fields. Point is defined for timeline syncobj feature.
94 */
96 __u32 handle; /* syncobj */
97 /* rsv below, for future uses */
99 __u64 point; /* for timeline sem support */
100 __u64 mbz[2]; /* must be zero, rsv */
101};
102
103/* Enum for each of the V3D queues. */
112
124 /* Array of wait and signal semaphores */
127
128 /* Number of entries */
131
132 /* set the stage (v3d_queue) to sync */
134
135 __u32 pad; /* mbz */
136};
137
154 /* Pointer to the binner command list.
155 *
156 * This is the first set of commands executed, which runs the
157 * coordinate shader to determine where primitives land on the screen,
158 * then writes out the state updates and draw calls necessary per tile
159 * to the tile allocation BO.
160 *
161 * This BCL will block on any previous BCL submitted on the
162 * same FD, but not on any RCL or BCLs submitted by other
163 * clients -- that is left up to the submitter to control
164 * using in_sync_bcl if necessary.
165 */
167
170
171 /* Offset of the render command list.
172 *
173 * This is the second set of commands executed, which will either
174 * execute the tiles that have been set up by the BCL, or a fixed set
175 * of tiles (in the case of RCL-only blits).
176 *
177 * This RCL will block on this submit's BCL, and any previous
178 * RCL submitted on the same FD, but not on any RCL or BCLs
179 * submitted by other clients -- that is left up to the
180 * submitter to control using in_sync_rcl if necessary.
181 */
183
186
193
194 /* Offset of the tile alloc memory
195 *
196 * This is optional on V3D 3.3 (where the CL can set the value) but
197 * required on V3D 4.1.
198 */
200
203
206
207 /* Pointer to a u32 array of the BOs that are referenced by the job.
208 */
210
211 /* Number of BO handles passed in (size is that times 4). */
213
214 /* DRM_V3D_SUBMIT_* properties */
216
217 /* ID of the perfmon to attach to this job. 0 means no perfmon. */
219
221
222 /* Pointer to an array of ioctl extensions*/
224};
225
239
261
280
300
306
316
326 /* First handle is the output BO, following are other inputs.
327 * 0 for unused.
328 */
330 /* sync object to block on before running the TFU job. Each TFU
331 * job will execute in the order submitted to its FD. Synchronization
332 * against rendering jobs requires using sync objects.
333 */
335 /* Sync object to signal when the TFU job is done. */
337
339
340 /* Pointer to an array of ioctl extensions*/
342
343 struct {
347};
348
349/* Submits a compute shader for dispatch. This job will block on any
350 * previous compute shaders submitted on this fd, and any other
351 * synchronization must be performed with in_sync/out_sync.
352 */
356
357 /* Pointer to a u32 array of the BOs that are referenced by the job.
358 */
360
361 /* Number of BO handles passed in (size is that times 4). */
363
364 /* sync object to block on before running the CSD job. Each
365 * CSD job will execute in the order submitted to its FD.
366 * Synchronization against rendering/TFU jobs or CSD from
367 * other fds requires using sync objects.
368 */
370 /* Sync object to signal when the CSD job is done. */
372
373 /* ID of the perfmon to attach to this job. 0 means no perfmon. */
375
376 /* Pointer to an array of ioctl extensions*/
378
380
382};
383
396
397 /* Indirect CSD */
399
400 /* Handle of the indirect BO, that should be also attached to the
401 * indirect CSD.
402 */
404
405 /* Offset within the BO where the workgroup counts are stored */
407
408 /* Workgroups size */
410
411 /* Indices of the uniforms with the workgroup dispatch counts
412 * in the uniform stream. If the uniform rewrite is not needed,
413 * the offset must be 0xffffffff.
414 */
416};
417
430
431 /* Array of queries' offsets within the timestamp BO for their value */
433
434 /* Array of timestamp's syncobjs to indicate its availability */
436
437 /* Number of queries */
439
440 /* mbz */
442};
443
456
457 /* Array of timestamp's syncobjs to indicate its availability */
459
460 /* Offset of the first query within the timestamp BO for its value */
462
463 /* Number of queries */
465};
466
478
479 /* Define if should write to buffer using 64 or 32 bits */
481
482 /* Define if it can write to buffer even if the query is not available */
484
485 /* Define if it should write availability bit to buffer */
487
488 /* mbz */
490
491 /* Offset of the buffer in the BO */
493
494 /* Stride of the buffer in the BO */
496
497 /* Number of queries */
499
500 /* Array of queries' offsets within the timestamp BO for their value */
502
503 /* Array of timestamp's syncobjs to indicate its availability */
505};
506
519
520 /* Array of performance queries's syncobjs to indicate its availability */
522
523 /* Number of queries */
525
526 /* Number of performance monitors */
528
529 /* Array of u64 user-pointers that point to an array of kperfmon_ids */
531};
532
544
545 /* Define if should write to buffer using 64 or 32 bits */
547
548 /* Define if it can write to buffer even if the query is not available */
550
551 /* Define if it should write availability bit to buffer */
553
554 /* mbz */
556
557 /* Offset of the buffer in the BO */
559
560 /* Stride of the buffer in the BO */
562
563 /* Number of performance monitors */
565
566 /* Number of performance counters related to this query pool */
568
569 /* Number of queries */
571
572 /* Array of performance queries's syncobjs to indicate its availability */
574
575 /* Array of u64 user-pointers that point to an array of kperfmon_ids */
577};
578
580 /* Pointer to a u32 array of the BOs that are referenced by the job.
581 *
582 * For DRM_V3D_EXT_ID_CPU_INDIRECT_CSD, it must contain only one BO,
583 * that contains the workgroup counts.
584 *
585 * For DRM_V3D_EXT_ID_TIMESTAMP_QUERY, it must contain only one BO,
586 * that will contain the timestamp.
587 *
588 * For DRM_V3D_EXT_ID_CPU_RESET_TIMESTAMP_QUERY, it must contain only
589 * one BO, that contains the timestamp.
590 *
591 * For DRM_V3D_EXT_ID_CPU_COPY_TIMESTAMP_QUERY, it must contain two
592 * BOs. The first is the BO where the timestamp queries will be written
593 * to. The second is the BO that contains the timestamp.
594 *
595 * For DRM_V3D_EXT_ID_CPU_RESET_PERFORMANCE_QUERY, it must contain no
596 * BOs.
597 *
598 * For DRM_V3D_EXT_ID_CPU_COPY_PERFORMANCE_QUERY, it must contain one
599 * BO, where the performance queries will be written.
600 */
602
603 /* Number of BO handles passed in (size is that times 4). */
605
607
608 /* Pointer to an array of ioctl extensions*/
610};
611
612/* The performance counters index represented by this enum are deprecated and
613 * must no longer be used. These counters are only valid for V3D 4.2.
614 *
615 * In order to check for performance counter information,
616 * use DRM_IOCTL_V3D_PERFMON_GET_COUNTER.
617 *
618 * Don't use V3D_PERFCNT_NUM to retrieve the maximum number of performance
619 * counters. You should use DRM_IOCTL_V3D_GET_PARAM with the following
620 * parameter: DRM_V3D_PARAM_MAX_PERF_COUNTERS.
621 */
622enum {
711};
712
713#define DRM_V3D_MAX_PERF_COUNTERS 32
714
720
724
725/*
726 * Returns the values of the performance counters tracked by this
727 * perfmon (as an array of ncounters u64 values).
728 *
729 * No implicit synchronization is performed, so the user has to
730 * guarantee that any jobs using this perfmon have already been
731 * completed (probably by blocking on the seqno returned by the
732 * last exec that used the perfmon).
733 */
739
740#define DRM_V3D_PERFCNT_MAX_NAME 64
741#define DRM_V3D_PERFCNT_MAX_CATEGORY 32
742#define DRM_V3D_PERFCNT_MAX_DESCRIPTION 256
743
753 /*
754 * Counter ID
755 *
756 * Must be smaller than the maximum number of performance counters, which
757 * can be retrieve through DRM_V3D_PARAM_MAX_PERF_COUNTERS.
758 */
760
761 /* Name of the counter */
763
764 /* Category of the counter */
766
767 /* Description of the counter */
769
770 /* mbz */
772};
773
774#define DRM_V3D_PERFMON_CLEAR_GLOBAL 0x0001
775
788
789#if defined(__cplusplus)
790}
791#endif
792
793#endif /* _V3D_DRM_H_ */
uint32_t __u32
Definition drm.h:42
uint8_t __u8
Definition drm.h:38
uint64_t __u64
Definition drm.h:44
Definition v3d_drm.h:542
__u8 do_partial
Definition v3d_drm.h:549
__u8 availability_bit
Definition v3d_drm.h:552
__u8 pad
Definition v3d_drm.h:555
__u32 count
Definition v3d_drm.h:570
__u64 syncs
Definition v3d_drm.h:573
struct drm_v3d_extension base
Definition v3d_drm.h:543
__u32 ncounters
Definition v3d_drm.h:567
__u32 stride
Definition v3d_drm.h:561
__u32 offset
Definition v3d_drm.h:558
__u8 do_64bit
Definition v3d_drm.h:546
__u32 nperfmons
Definition v3d_drm.h:564
__u64 kperfmon_ids
Definition v3d_drm.h:576
Definition v3d_drm.h:476
__u32 count
Definition v3d_drm.h:498
__u8 availability_bit
Definition v3d_drm.h:486
struct drm_v3d_extension base
Definition v3d_drm.h:477
__u8 do_64bit
Definition v3d_drm.h:480
__u64 offsets
Definition v3d_drm.h:501
__u64 syncs
Definition v3d_drm.h:504
__u8 do_partial
Definition v3d_drm.h:483
__u32 stride
Definition v3d_drm.h:495
__u8 pad
Definition v3d_drm.h:489
__u32 offset
Definition v3d_drm.h:492
Definition v3d_drm.h:246
__u32 size
Definition v3d_drm.h:247
__u32 handle
Definition v3d_drm.h:250
__u32 offset
Definition v3d_drm.h:259
__u32 flags
Definition v3d_drm.h:248
Definition v3d_drm.h:77
__u32 flags
Definition v3d_drm.h:87
__u32 id
Definition v3d_drm.h:79
__u64 next
Definition v3d_drm.h:78
Definition v3d_drm.h:312
__u32 offset
Definition v3d_drm.h:314
__u32 handle
Definition v3d_drm.h:313
Definition v3d_drm.h:301
__u64 value
Definition v3d_drm.h:304
__u32 param
Definition v3d_drm.h:302
__u32 pad
Definition v3d_drm.h:303
Definition v3d_drm.h:394
__u32 wg_uniform_offsets[3]
Definition v3d_drm.h:415
struct drm_v3d_submit_csd submit
Definition v3d_drm.h:398
__u32 wg_size
Definition v3d_drm.h:409
struct drm_v3d_extension base
Definition v3d_drm.h:395
__u32 offset
Definition v3d_drm.h:406
__u32 indirect
Definition v3d_drm.h:403
Definition v3d_drm.h:273
__u32 handle
Definition v3d_drm.h:275
__u32 flags
Definition v3d_drm.h:276
__u64 offset
Definition v3d_drm.h:278
Definition v3d_drm.h:122
__u32 wait_stage
Definition v3d_drm.h:133
__u64 out_syncs
Definition v3d_drm.h:126
__u32 out_sync_count
Definition v3d_drm.h:130
__u32 pad
Definition v3d_drm.h:135
struct drm_v3d_extension base
Definition v3d_drm.h:123
__u32 in_sync_count
Definition v3d_drm.h:129
__u64 in_syncs
Definition v3d_drm.h:125
Definition v3d_drm.h:715
__u32 id
Definition v3d_drm.h:716
__u32 ncounters
Definition v3d_drm.h:717
__u8 counters[DRM_V3D_MAX_PERF_COUNTERS]
Definition v3d_drm.h:718
Definition v3d_drm.h:721
__u32 id
Definition v3d_drm.h:722
Definition v3d_drm.h:752
__u8 reserved[7]
Definition v3d_drm.h:771
__u8 counter
Definition v3d_drm.h:759
__u8 category[DRM_V3D_PERFCNT_MAX_CATEGORY]
Definition v3d_drm.h:765
__u8 name[DRM_V3D_PERFCNT_MAX_NAME]
Definition v3d_drm.h:762
__u8 description[DRM_V3D_PERFCNT_MAX_DESCRIPTION]
Definition v3d_drm.h:768
Definition v3d_drm.h:734
__u64 values_ptr
Definition v3d_drm.h:737
__u32 id
Definition v3d_drm.h:735
__u32 pad
Definition v3d_drm.h:736
Definition v3d_drm.h:784
__u32 flags
Definition v3d_drm.h:785
__u32 id
Definition v3d_drm.h:786
Definition v3d_drm.h:517
__u32 nperfmons
Definition v3d_drm.h:527
__u64 kperfmon_ids
Definition v3d_drm.h:530
__u32 count
Definition v3d_drm.h:524
__u64 syncs
Definition v3d_drm.h:521
struct drm_v3d_extension base
Definition v3d_drm.h:518
Definition v3d_drm.h:454
__u32 count
Definition v3d_drm.h:464
struct drm_v3d_extension base
Definition v3d_drm.h:455
__u64 syncs
Definition v3d_drm.h:458
__u32 offset
Definition v3d_drm.h:461
Definition v3d_drm.h:95
__u64 point
Definition v3d_drm.h:99
__u32 handle
Definition v3d_drm.h:96
__u64 mbz[2]
Definition v3d_drm.h:100
__u32 flags
Definition v3d_drm.h:98
Definition v3d_drm.h:153
__u32 bo_handle_count
Definition v3d_drm.h:212
__u32 rcl_start
Definition v3d_drm.h:182
__u32 in_sync_rcl
Definition v3d_drm.h:190
__u64 extensions
Definition v3d_drm.h:223
__u32 pad
Definition v3d_drm.h:220
__u32 in_sync_bcl
Definition v3d_drm.h:188
__u32 bcl_end
Definition v3d_drm.h:169
__u32 qts
Definition v3d_drm.h:205
__u32 out_sync
Definition v3d_drm.h:192
__u32 flags
Definition v3d_drm.h:215
__u32 bcl_start
Definition v3d_drm.h:166
__u32 qms
Definition v3d_drm.h:202
__u32 rcl_end
Definition v3d_drm.h:185
__u64 bo_handles
Definition v3d_drm.h:209
__u32 perfmon_id
Definition v3d_drm.h:218
__u32 qma
Definition v3d_drm.h:199
Definition v3d_drm.h:579
__u64 extensions
Definition v3d_drm.h:609
__u64 bo_handles
Definition v3d_drm.h:601
__u32 flags
Definition v3d_drm.h:606
__u32 bo_handle_count
Definition v3d_drm.h:604
Definition v3d_drm.h:353
__u32 perfmon_id
Definition v3d_drm.h:374
__u32 coef[4]
Definition v3d_drm.h:355
__u32 pad
Definition v3d_drm.h:381
__u32 flags
Definition v3d_drm.h:379
__u32 bo_handle_count
Definition v3d_drm.h:362
__u32 cfg[7]
Definition v3d_drm.h:354
__u32 in_sync
Definition v3d_drm.h:369
__u64 extensions
Definition v3d_drm.h:377
__u64 bo_handles
Definition v3d_drm.h:359
__u32 out_sync
Definition v3d_drm.h:371
Definition v3d_drm.h:317
__u32 ios
Definition v3d_drm.h:324
__u32 out_sync
Definition v3d_drm.h:336
__u32 iis
Definition v3d_drm.h:320
__u32 iia
Definition v3d_drm.h:319
__u32 ica
Definition v3d_drm.h:321
__u32 ioa
Definition v3d_drm.h:323
__u32 ioc
Definition v3d_drm.h:344
__u32 flags
Definition v3d_drm.h:338
__u32 coef[4]
Definition v3d_drm.h:325
__u64 extensions
Definition v3d_drm.h:341
__u32 iua
Definition v3d_drm.h:322
__u32 bo_handles[4]
Definition v3d_drm.h:329
struct drm_v3d_submit_tfu::@242 v71
__u32 in_sync
Definition v3d_drm.h:334
__u32 icfg
Definition v3d_drm.h:318
__u32 pad
Definition v3d_drm.h:345
Definition v3d_drm.h:428
__u32 count
Definition v3d_drm.h:438
__u64 syncs
Definition v3d_drm.h:435
__u32 pad
Definition v3d_drm.h:441
struct drm_v3d_extension base
Definition v3d_drm.h:429
__u64 offsets
Definition v3d_drm.h:432
Definition v3d_drm.h:234
__u64 timeout_ns
Definition v3d_drm.h:237
__u32 handle
Definition v3d_drm.h:235
__u32 pad
Definition v3d_drm.h:236
drm_v3d_param
Definition v3d_drm.h:281
@ DRM_V3D_PARAM_SUPPORTS_SUPER_PAGES
Definition v3d_drm.h:296
@ DRM_V3D_PARAM_V3D_HUB_IDENT2
Definition v3d_drm.h:284
@ DRM_V3D_PARAM_SUPPORTS_PERFMON
Definition v3d_drm.h:292
@ DRM_V3D_PARAM_V3D_CORE0_IDENT0
Definition v3d_drm.h:286
@ DRM_V3D_PARAM_V3D_CORE0_IDENT2
Definition v3d_drm.h:288
@ DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE
Definition v3d_drm.h:294
@ DRM_V3D_PARAM_SUPPORTS_MULTISYNC_EXT
Definition v3d_drm.h:293
@ DRM_V3D_PARAM_V3D_CORE0_IDENT1
Definition v3d_drm.h:287
@ DRM_V3D_PARAM_V3D_HUB_IDENT3
Definition v3d_drm.h:285
@ DRM_V3D_PARAM_SUPPORTS_CACHE_FLUSH
Definition v3d_drm.h:291
@ DRM_V3D_PARAM_CONTEXT_RESET_COUNTER
Definition v3d_drm.h:298
@ DRM_V3D_PARAM_SUPPORTS_TFU
Definition v3d_drm.h:289
@ DRM_V3D_PARAM_GLOBAL_RESET_COUNTER
Definition v3d_drm.h:297
@ DRM_V3D_PARAM_SUPPORTS_CSD
Definition v3d_drm.h:290
@ DRM_V3D_PARAM_V3D_HUB_IDENT1
Definition v3d_drm.h:283
@ DRM_V3D_PARAM_MAX_PERF_COUNTERS
Definition v3d_drm.h:295
@ DRM_V3D_PARAM_V3D_UIFCFG
Definition v3d_drm.h:282
#define DRM_V3D_PERFCNT_MAX_DESCRIPTION
Definition v3d_drm.h:742
v3d_queue
Definition v3d_drm.h:104
@ V3D_CSD
Definition v3d_drm.h:108
@ V3D_CACHE_CLEAN
Definition v3d_drm.h:109
@ V3D_BIN
Definition v3d_drm.h:105
@ V3D_RENDER
Definition v3d_drm.h:106
@ V3D_CPU
Definition v3d_drm.h:110
@ V3D_TFU
Definition v3d_drm.h:107
#define DRM_V3D_PERFCNT_MAX_CATEGORY
Definition v3d_drm.h:741
@ V3D_PERFCNT_CLE_ACTIVE
Definition v3d_drm.h:678
@ V3D_PERFCNT_RDR_ACTIVE
Definition v3d_drm.h:652
@ V3D_PERFCNT_AXI_WRITES_WATCH_1
Definition v3d_drm.h:665
@ V3D_PERFCNT_QPU_IDLE_CYCLES
Definition v3d_drm.h:636
@ V3D_PERFCNT_L2T_TMU_WRITES
Definition v3d_drm.h:675
@ V3D_PERFCNT_PSE_R_MEM_WORDS
Definition v3d_drm.h:706
@ V3D_PERFCNT_AXI_READ_BYTES_WATCH_0
Definition v3d_drm.h:664
@ V3D_PERFCNT_AXI_WRITES_WATCH_0
Definition v3d_drm.h:659
@ V3D_PERFCNT_L2T_CLE_READS
Definition v3d_drm.h:680
@ V3D_PERFCNT_L2T_CLE_MISSES
Definition v3d_drm.h:688
@ V3D_PERFCNT_TMU_STALLED_CYCLES
Definition v3d_drm.h:677
@ V3D_PERFCNT_PSE_MEM_READS
Definition v3d_drm.h:701
@ V3D_PERFCNT_L2T_TMU_READS
Definition v3d_drm.h:679
@ V3D_PERFCNT_TLB_QUADS_NONZERO_COV
Definition v3d_drm.h:631
@ V3D_PERFCNT_VPM_VCD_STALL
Definition v3d_drm.h:650
@ V3D_PERFCNT_L2T_TMUCFG_READS
Definition v3d_drm.h:682
@ V3D_PERFCNT_FEP_EZ_NFCLIP_QUADS
Definition v3d_drm.h:625
@ V3D_PERFCNT_L2T_TMUCFG_MISSES
Definition v3d_drm.h:690
@ V3D_PERFCNT_L2T_TMU_R_MISSES
Definition v3d_drm.h:687
@ V3D_PERFCNT_QPU_IC_MISS
Definition v3d_drm.h:644
@ V3D_PERFCNT_PTB_PRIM_CLIP
Definition v3d_drm.h:634
@ V3D_PERFCNT_AXI_READ_BYTES_WATCH_1
Definition v3d_drm.h:670
@ V3D_PERFCNT_AXI_READS_WATCH_1
Definition v3d_drm.h:666
@ V3D_PERFCNT_QPU_CYCLES_STALLED_VERTEX_COORD_USER
Definition v3d_drm.h:656
@ V3D_PERFCNT_TMU_CONFIG_ACCESSES
Definition v3d_drm.h:672
@ V3D_PERFCNT_QPU_CYCLES_VALID_INSTR
Definition v3d_drm.h:639
@ V3D_PERFCNT_CYCLE_COUNT
Definition v3d_drm.h:655
@ V3D_PERFCNT_TMU_ACTIVE_CYCLES
Definition v3d_drm.h:676
@ V3D_PERFCNT_AXI_READS_WATCH_0
Definition v3d_drm.h:660
@ V3D_PERFCNT_TLB_W_MEM_WORDS
Definition v3d_drm.h:705
@ V3D_PERFCNT_L2T_SLC1_MISSES
Definition v3d_drm.h:692
@ V3D_PERFCNT_L2T_TMU_W_MISSES
Definition v3d_drm.h:686
@ V3D_PERFCNT_AXI_WRITE_STALLS_WATCH_0
Definition v3d_drm.h:661
@ V3D_PERFCNT_VPM_VDW_STALL
Definition v3d_drm.h:649
@ V3D_PERFCNT_QPU_UC_HIT
Definition v3d_drm.h:645
@ V3D_PERFCNT_PTB_PRIM_REV
Definition v3d_drm.h:635
@ V3D_PERFCNT_TMU_TCACHE_MISS
Definition v3d_drm.h:648
@ V3D_PERFCNT_QPU_CYCLES_TMU_STALL
Definition v3d_drm.h:640
@ V3D_PERFCNT_PTB_MEM_WRITES
Definition v3d_drm.h:696
@ V3D_PERFCNT_L2T_MEM_WRITES
Definition v3d_drm.h:695
@ V3D_PERFCNT_L2T_SLC2_READS
Definition v3d_drm.h:685
@ V3D_PERFCNT_PTB_PRIMS_BINNED
Definition v3d_drm.h:658
@ V3D_PERFCNT_TLB_QUADS_WRITTEN
Definition v3d_drm.h:632
@ V3D_PERFCNT_NUM
Definition v3d_drm.h:710
@ V3D_PERFCNT_AXI_WRITE_STALLS_WATCH_1
Definition v3d_drm.h:667
@ V3D_PERFCNT_TLB_MEM_READS
Definition v3d_drm.h:702
@ V3D_PERFCNT_AXI_READ_STALLS_WATCH_0
Definition v3d_drm.h:662
@ V3D_PERFCNT_QPU_ACTIVE_CYCLES_VERTEX_COORD_USER
Definition v3d_drm.h:637
@ V3D_PERFCNT_TLB_MEM_WRITES
Definition v3d_drm.h:697
@ V3D_PERFCNT_L2T_SLC2_MISSES
Definition v3d_drm.h:693
@ V3D_PERFCNT_QPU_UC_MISS
Definition v3d_drm.h:646
@ V3D_PERFCNT_L2T_SLC1_READS
Definition v3d_drm.h:684
@ V3D_PERFCNT_FEP_VALID_PRIMTS_NO_PIXELS
Definition v3d_drm.h:623
@ V3D_PERFCNT_FEP_VALID_QUADS
Definition v3d_drm.h:626
@ V3D_PERFCNT_TMU_MRU_HITS
Definition v3d_drm.h:708
@ V3D_PERFCNT_L2T_NO_ID_STALL
Definition v3d_drm.h:673
@ V3D_PERFCNT_TLB_QUADS_STENCIL_FAIL
Definition v3d_drm.h:627
@ V3D_PERFCNT_L2T_VCD_MISSES
Definition v3d_drm.h:689
@ V3D_PERFCNT_QPU_IC_HIT
Definition v3d_drm.h:643
@ V3D_PERFCNT_L2T_SLC0_MISSES
Definition v3d_drm.h:691
@ V3D_PERFCNT_CORE_MEM_WRITES
Definition v3d_drm.h:694
@ V3D_PERFCNT_L2T_SLC0_READS
Definition v3d_drm.h:683
@ V3D_PERFCNT_CORE_MEM_READS
Definition v3d_drm.h:698
@ V3D_PERFCNT_PTB_PRIM_VIEWPOINT_DISCARD
Definition v3d_drm.h:633
@ V3D_PERFCNT_QPU_CYCLES_STALLED_FRAGMENT
Definition v3d_drm.h:657
@ V3D_PERFCNT_L2T_VCD_READS
Definition v3d_drm.h:681
@ V3D_PERFCNT_L2T_COM_QUE_STALL
Definition v3d_drm.h:674
@ V3D_PERFCNT_PTB_MEM_READS
Definition v3d_drm.h:700
@ V3D_PERFCNT_GMP_MEM_READS
Definition v3d_drm.h:703
@ V3D_PERFCNT_AXI_WRITE_BYTES_WATCH_0
Definition v3d_drm.h:663
@ V3D_PERFCNT_L2T_MEM_READS
Definition v3d_drm.h:699
@ V3D_PERFCNT_QPU_ACTIVE_CYCLES_FRAG
Definition v3d_drm.h:638
@ V3D_PERFCNT_BIN_ACTIVE
Definition v3d_drm.h:651
@ V3D_PERFCNT_FEP_VALID_PRIMS
Definition v3d_drm.h:624
@ V3D_PERFCNT_QPU_CYCLES_VARYINGS_STALL
Definition v3d_drm.h:642
@ V3D_PERFCNT_L2T_HITS
Definition v3d_drm.h:653
@ V3D_PERFCNT_AXI_READ_STALLS_WATCH_1
Definition v3d_drm.h:668
@ V3D_PERFCNT_TLB_R_MEM_WORDS
Definition v3d_drm.h:707
@ V3D_PERFCNT_COMPUTE_ACTIVE
Definition v3d_drm.h:709
@ V3D_PERFCNT_TLB_PARTIAL_QUADS
Definition v3d_drm.h:671
@ V3D_PERFCNT_TLB_QUADS_STENCILZ_PASS
Definition v3d_drm.h:629
@ V3D_PERFCNT_PTB_W_MEM_WORDS
Definition v3d_drm.h:704
@ V3D_PERFCNT_L2T_MISSES
Definition v3d_drm.h:654
@ V3D_PERFCNT_TMU_TCACHE_ACCESS
Definition v3d_drm.h:647
@ V3D_PERFCNT_AXI_WRITE_BYTES_WATCH_1
Definition v3d_drm.h:669
@ V3D_PERFCNT_QPU_CYCLES_SCOREBOARD_STALL
Definition v3d_drm.h:641
@ V3D_PERFCNT_TLB_QUADS_STENCILZ_FAIL
Definition v3d_drm.h:628
@ V3D_PERFCNT_TLB_QUADS_ZERO_COV
Definition v3d_drm.h:630
#define DRM_V3D_PERFCNT_MAX_NAME
Definition v3d_drm.h:740
#define DRM_V3D_MAX_PERF_COUNTERS
Definition v3d_drm.h:713