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