xref: /aosp_15_r20/bionic/libc/kernel/uapi/drm/etnaviv_drm.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __ETNAVIV_DRM_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __ETNAVIV_DRM_H__
9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h"
10*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
11*8d67ca89SAndroid Build Coastguard Worker extern "C" {
12*8d67ca89SAndroid Build Coastguard Worker #endif
13*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_timespec {
14*8d67ca89SAndroid Build Coastguard Worker   __s64 tv_sec;
15*8d67ca89SAndroid Build Coastguard Worker   __s64 tv_nsec;
16*8d67ca89SAndroid Build Coastguard Worker };
17*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_MODEL 0x01
18*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_REVISION 0x02
19*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_0 0x03
20*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_1 0x04
21*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_2 0x05
22*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_3 0x06
23*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_4 0x07
24*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_5 0x08
25*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_6 0x09
26*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_7 0x0a
27*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_8 0x0b
28*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_9 0x0c
29*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_10 0x0d
30*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_11 0x0e
31*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_FEATURES_12 0x0f
32*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_STREAM_COUNT 0x10
33*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_REGISTER_MAX 0x11
34*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_THREAD_COUNT 0x12
35*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_VERTEX_CACHE_SIZE 0x13
36*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_SHADER_CORE_COUNT 0x14
37*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_PIXEL_PIPES 0x15
38*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_VERTEX_OUTPUT_BUFFER_SIZE 0x16
39*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_BUFFER_SIZE 0x17
40*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_INSTRUCTION_COUNT 0x18
41*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_NUM_CONSTANTS 0x19
42*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_NUM_VARYINGS 0x1a
43*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_SOFTPIN_START_ADDR 0x1b
44*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_PRODUCT_ID 0x1c
45*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_CUSTOMER_ID 0x1d
46*8d67ca89SAndroid Build Coastguard Worker #define ETNAVIV_PARAM_GPU_ECO_ID 0x1e
47*8d67ca89SAndroid Build Coastguard Worker #define ETNA_MAX_PIPES 4
48*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_param {
49*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 param;
51*8d67ca89SAndroid Build Coastguard Worker   __u64 value;
52*8d67ca89SAndroid Build Coastguard Worker };
53*8d67ca89SAndroid Build Coastguard Worker #define ETNA_BO_CACHE_MASK 0x000f0000
54*8d67ca89SAndroid Build Coastguard Worker #define ETNA_BO_CACHED 0x00010000
55*8d67ca89SAndroid Build Coastguard Worker #define ETNA_BO_WC 0x00020000
56*8d67ca89SAndroid Build Coastguard Worker #define ETNA_BO_UNCACHED 0x00040000
57*8d67ca89SAndroid Build Coastguard Worker #define ETNA_BO_FORCE_MMU 0x00100000
58*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_new {
59*8d67ca89SAndroid Build Coastguard Worker   __u64 size;
60*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
61*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
62*8d67ca89SAndroid Build Coastguard Worker };
63*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_info {
64*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
65*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
66*8d67ca89SAndroid Build Coastguard Worker   __u64 offset;
67*8d67ca89SAndroid Build Coastguard Worker };
68*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PREP_READ 0x01
69*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PREP_WRITE 0x02
70*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PREP_NOSYNC 0x04
71*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_cpu_prep {
72*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
73*8d67ca89SAndroid Build Coastguard Worker   __u32 op;
74*8d67ca89SAndroid Build Coastguard Worker   struct drm_etnaviv_timespec timeout;
75*8d67ca89SAndroid Build Coastguard Worker };
76*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_cpu_fini {
77*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
78*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
79*8d67ca89SAndroid Build Coastguard Worker };
80*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_submit_reloc {
81*8d67ca89SAndroid Build Coastguard Worker   __u32 submit_offset;
82*8d67ca89SAndroid Build Coastguard Worker   __u32 reloc_idx;
83*8d67ca89SAndroid Build Coastguard Worker   __u64 reloc_offset;
84*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
85*8d67ca89SAndroid Build Coastguard Worker };
86*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_BO_READ 0x0001
87*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_BO_WRITE 0x0002
88*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_submit_bo {
89*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
91*8d67ca89SAndroid Build Coastguard Worker   __u64 presumed;
92*8d67ca89SAndroid Build Coastguard Worker };
93*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PM_PROCESS_PRE 0x0001
94*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PM_PROCESS_POST 0x0002
95*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_submit_pmr {
96*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
97*8d67ca89SAndroid Build Coastguard Worker   __u8 domain;
98*8d67ca89SAndroid Build Coastguard Worker   __u8 pad;
99*8d67ca89SAndroid Build Coastguard Worker   __u16 signal;
100*8d67ca89SAndroid Build Coastguard Worker   __u32 sequence;
101*8d67ca89SAndroid Build Coastguard Worker   __u32 read_offset;
102*8d67ca89SAndroid Build Coastguard Worker   __u32 read_idx;
103*8d67ca89SAndroid Build Coastguard Worker };
104*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_NO_IMPLICIT 0x0001
105*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_FENCE_FD_IN 0x0002
106*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_FENCE_FD_OUT 0x0004
107*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_SOFTPIN 0x0008
108*8d67ca89SAndroid Build Coastguard Worker #define ETNA_SUBMIT_FLAGS (ETNA_SUBMIT_NO_IMPLICIT | ETNA_SUBMIT_FENCE_FD_IN | ETNA_SUBMIT_FENCE_FD_OUT | ETNA_SUBMIT_SOFTPIN)
109*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PIPE_3D 0x00
110*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PIPE_2D 0x01
111*8d67ca89SAndroid Build Coastguard Worker #define ETNA_PIPE_VG 0x02
112*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_submit {
113*8d67ca89SAndroid Build Coastguard Worker   __u32 fence;
114*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
115*8d67ca89SAndroid Build Coastguard Worker   __u32 exec_state;
116*8d67ca89SAndroid Build Coastguard Worker   __u32 nr_bos;
117*8d67ca89SAndroid Build Coastguard Worker   __u32 nr_relocs;
118*8d67ca89SAndroid Build Coastguard Worker   __u32 stream_size;
119*8d67ca89SAndroid Build Coastguard Worker   __u64 bos;
120*8d67ca89SAndroid Build Coastguard Worker   __u64 relocs;
121*8d67ca89SAndroid Build Coastguard Worker   __u64 stream;
122*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
123*8d67ca89SAndroid Build Coastguard Worker   __s32 fence_fd;
124*8d67ca89SAndroid Build Coastguard Worker   __u64 pmrs;
125*8d67ca89SAndroid Build Coastguard Worker   __u32 nr_pmrs;
126*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
127*8d67ca89SAndroid Build Coastguard Worker };
128*8d67ca89SAndroid Build Coastguard Worker #define ETNA_WAIT_NONBLOCK 0x01
129*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_wait_fence {
130*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
131*8d67ca89SAndroid Build Coastguard Worker   __u32 fence;
132*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
133*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
134*8d67ca89SAndroid Build Coastguard Worker   struct drm_etnaviv_timespec timeout;
135*8d67ca89SAndroid Build Coastguard Worker };
136*8d67ca89SAndroid Build Coastguard Worker #define ETNA_USERPTR_READ 0x01
137*8d67ca89SAndroid Build Coastguard Worker #define ETNA_USERPTR_WRITE 0x02
138*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_userptr {
139*8d67ca89SAndroid Build Coastguard Worker   __u64 user_ptr;
140*8d67ca89SAndroid Build Coastguard Worker   __u64 user_size;
141*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
142*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
143*8d67ca89SAndroid Build Coastguard Worker };
144*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_gem_wait {
145*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
146*8d67ca89SAndroid Build Coastguard Worker   __u32 handle;
147*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
148*8d67ca89SAndroid Build Coastguard Worker   __u32 pad;
149*8d67ca89SAndroid Build Coastguard Worker   struct drm_etnaviv_timespec timeout;
150*8d67ca89SAndroid Build Coastguard Worker };
151*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_pm_domain {
152*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
153*8d67ca89SAndroid Build Coastguard Worker   __u8 iter;
154*8d67ca89SAndroid Build Coastguard Worker   __u8 id;
155*8d67ca89SAndroid Build Coastguard Worker   __u16 nr_signals;
156*8d67ca89SAndroid Build Coastguard Worker   char name[64];
157*8d67ca89SAndroid Build Coastguard Worker };
158*8d67ca89SAndroid Build Coastguard Worker struct drm_etnaviv_pm_signal {
159*8d67ca89SAndroid Build Coastguard Worker   __u32 pipe;
160*8d67ca89SAndroid Build Coastguard Worker   __u8 domain;
161*8d67ca89SAndroid Build Coastguard Worker   __u8 pad;
162*8d67ca89SAndroid Build Coastguard Worker   __u16 iter;
163*8d67ca89SAndroid Build Coastguard Worker   __u16 id;
164*8d67ca89SAndroid Build Coastguard Worker   char name[64];
165*8d67ca89SAndroid Build Coastguard Worker };
166*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GET_PARAM 0x00
167*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_NEW 0x02
168*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_INFO 0x03
169*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_CPU_PREP 0x04
170*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_CPU_FINI 0x05
171*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_SUBMIT 0x06
172*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_WAIT_FENCE 0x07
173*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_USERPTR 0x08
174*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_GEM_WAIT 0x09
175*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_PM_QUERY_DOM 0x0a
176*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_PM_QUERY_SIG 0x0b
177*8d67ca89SAndroid Build Coastguard Worker #define DRM_ETNAVIV_NUM_IOCTLS 0x0c
178*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GET_PARAM, struct drm_etnaviv_param)
179*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_NEW, struct drm_etnaviv_gem_new)
180*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_INFO, struct drm_etnaviv_gem_info)
181*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_CPU_PREP DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_CPU_PREP, struct drm_etnaviv_gem_cpu_prep)
182*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_CPU_FINI DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_CPU_FINI, struct drm_etnaviv_gem_cpu_fini)
183*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_SUBMIT, struct drm_etnaviv_gem_submit)
184*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_WAIT_FENCE DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_WAIT_FENCE, struct drm_etnaviv_wait_fence)
185*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_USERPTR, struct drm_etnaviv_gem_userptr)
186*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_GEM_WAIT DRM_IOW(DRM_COMMAND_BASE + DRM_ETNAVIV_GEM_WAIT, struct drm_etnaviv_gem_wait)
187*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_PM_QUERY_DOM DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_PM_QUERY_DOM, struct drm_etnaviv_pm_domain)
188*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_ETNAVIV_PM_QUERY_SIG DRM_IOWR(DRM_COMMAND_BASE + DRM_ETNAVIV_PM_QUERY_SIG, struct drm_etnaviv_pm_signal)
189*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus
190*8d67ca89SAndroid Build Coastguard Worker }
191*8d67ca89SAndroid Build Coastguard Worker #endif
192*8d67ca89SAndroid Build Coastguard Worker #endif
193