29#if defined(__cplusplus)
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
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)
68#define DRM_V3D_SUBMIT_CL_FLUSH_CACHE 0x01
69#define DRM_V3D_SUBMIT_EXTENSION 0x02
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
713#define DRM_V3D_MAX_PERF_COUNTERS 32
740#define DRM_V3D_PERFCNT_MAX_NAME 64
741#define DRM_V3D_PERFCNT_MAX_CATEGORY 32
742#define DRM_V3D_PERFCNT_MAX_DESCRIPTION 256
774#define DRM_V3D_PERFMON_CLEAR_GLOBAL 0x0001
789#if defined(__cplusplus)
uint32_t __u32
Definition drm.h:42
uint8_t __u8
Definition drm.h:38
uint64_t __u64
Definition drm.h:44
__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
__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
__u32 flags
Definition v3d_drm.h:87
__u32 id
Definition v3d_drm.h:79
__u64 next
Definition v3d_drm.h:78
__u32 offset
Definition v3d_drm.h:314
__u32 handle
Definition v3d_drm.h:313
__u64 value
Definition v3d_drm.h:304
__u32 param
Definition v3d_drm.h:302
__u32 pad
Definition v3d_drm.h:303
__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
__u32 handle
Definition v3d_drm.h:275
__u32 flags
Definition v3d_drm.h:276
__u64 offset
Definition v3d_drm.h:278
__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
__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
__u32 id
Definition v3d_drm.h:722
__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
__u64 values_ptr
Definition v3d_drm.h:737
__u32 id
Definition v3d_drm.h:735
__u32 pad
Definition v3d_drm.h:736
__u32 flags
Definition v3d_drm.h:785
__u32 id
Definition v3d_drm.h:786
__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
__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
__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
__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
__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
__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
__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
__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