Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _MSM_KGSL_H
     20 #define _MSM_KGSL_H
     21 #define KGSL_VERSION_MAJOR 3
     22 #define KGSL_VERSION_MINOR 14
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define KGSL_CONTEXT_SAVE_GMEM 0x00000001
     25 #define KGSL_CONTEXT_NO_GMEM_ALLOC 0x00000002
     26 #define KGSL_CONTEXT_SUBMIT_IB_LIST 0x00000004
     27 #define KGSL_CONTEXT_CTX_SWITCH 0x00000008
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define KGSL_CONTEXT_PREAMBLE 0x00000010
     30 #define KGSL_CONTEXT_TRASH_STATE 0x00000020
     31 #define KGSL_CONTEXT_PER_CONTEXT_TS 0x00000040
     32 #define KGSL_CONTEXT_USER_GENERATED_TS 0x00000080
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define KGSL_CONTEXT_INVALID 0xffffffff
     35 #define KGSL_MEMFLAGS_GPUREADONLY 0x01000000
     36 #define KGSL_MEMTYPE_MASK 0x0000FF00
     37 #define KGSL_MEMTYPE_SHIFT 8
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define KGSL_MEMTYPE_OBJECTANY 0
     40 #define KGSL_MEMTYPE_FRAMEBUFFER 1
     41 #define KGSL_MEMTYPE_RENDERBUFFER 2
     42 #define KGSL_MEMTYPE_ARRAYBUFFER 3
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define KGSL_MEMTYPE_ELEMENTARRAYBUFFER 4
     45 #define KGSL_MEMTYPE_VERTEXARRAYBUFFER 5
     46 #define KGSL_MEMTYPE_TEXTURE 6
     47 #define KGSL_MEMTYPE_SURFACE 7
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define KGSL_MEMTYPE_EGL_SURFACE 8
     50 #define KGSL_MEMTYPE_GL 9
     51 #define KGSL_MEMTYPE_CL 10
     52 #define KGSL_MEMTYPE_CL_BUFFER_MAP 11
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define KGSL_MEMTYPE_CL_BUFFER_NOMAP 12
     55 #define KGSL_MEMTYPE_CL_IMAGE_MAP 13
     56 #define KGSL_MEMTYPE_CL_IMAGE_NOMAP 14
     57 #define KGSL_MEMTYPE_CL_KERNEL_STACK 15
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define KGSL_MEMTYPE_COMMAND 16
     60 #define KGSL_MEMTYPE_2D 17
     61 #define KGSL_MEMTYPE_EGL_IMAGE 18
     62 #define KGSL_MEMTYPE_EGL_SHADOW 19
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define KGSL_MEMTYPE_MULTISAMPLE 20
     65 #define KGSL_MEMTYPE_KERNEL 255
     66 #define KGSL_MEMALIGN_MASK 0x00FF0000
     67 #define KGSL_MEMALIGN_SHIFT 16
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define KGSL_FLAGS_NORMALMODE 0x00000000
     70 #define KGSL_FLAGS_SAFEMODE 0x00000001
     71 #define KGSL_FLAGS_INITIALIZED0 0x00000002
     72 #define KGSL_FLAGS_INITIALIZED 0x00000004
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define KGSL_FLAGS_STARTED 0x00000008
     75 #define KGSL_FLAGS_ACTIVE 0x00000010
     76 #define KGSL_FLAGS_RESERVED0 0x00000020
     77 #define KGSL_FLAGS_RESERVED1 0x00000040
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define KGSL_FLAGS_RESERVED2 0x00000080
     80 #define KGSL_FLAGS_SOFT_RESET 0x00000100
     81 #define KGSL_FLAGS_PER_CONTEXT_TIMESTAMPS 0x00000200
     82 #define KGSL_CLK_SRC 0x00000001
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define KGSL_CLK_CORE 0x00000002
     85 #define KGSL_CLK_IFACE 0x00000004
     86 #define KGSL_CLK_MEM 0x00000008
     87 #define KGSL_CLK_MEM_IFACE 0x00000010
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define KGSL_CLK_AXI 0x00000020
     90 #define KGSL_SYNCOBJ_SERVER_TIMEOUT 2000
     91 enum kgsl_ctx_reset_stat {
     92  KGSL_CTX_STAT_NO_ERROR = 0x00000000,
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT = 0x00000001,
     95  KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT = 0x00000002,
     96  KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT = 0x00000003
     97 };
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define KGSL_CONVERT_TO_MBPS(val)   (val*1000*1000U)
    100 enum kgsl_deviceid {
    101  KGSL_DEVICE_3D0 = 0x00000000,
    102  KGSL_DEVICE_2D0 = 0x00000001,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  KGSL_DEVICE_2D1 = 0x00000002,
    105  KGSL_DEVICE_MAX = 0x00000003
    106 };
    107 enum kgsl_user_mem_type {
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  KGSL_USER_MEM_TYPE_PMEM = 0x00000000,
    110  KGSL_USER_MEM_TYPE_ASHMEM = 0x00000001,
    111  KGSL_USER_MEM_TYPE_ADDR = 0x00000002,
    112  KGSL_USER_MEM_TYPE_ION = 0x00000003,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  KGSL_USER_MEM_TYPE_MAX = 0x00000004,
    115 };
    116 struct kgsl_devinfo {
    117  unsigned int device_id;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  unsigned int chip_id;
    120  unsigned int mmu_enabled;
    121  unsigned int gmem_gpubaseaddr;
    122  unsigned int gpu_id;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  unsigned int gmem_sizebytes;
    125 };
    126 struct kgsl_devmemstore {
    127  volatile unsigned int soptimestamp;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  unsigned int sbz;
    130  volatile unsigned int eoptimestamp;
    131  unsigned int sbz2;
    132  volatile unsigned int ts_cmp_enable;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  unsigned int sbz3;
    135  volatile unsigned int ref_wait_ts;
    136  unsigned int sbz4;
    137  unsigned int current_context;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  unsigned int sbz5;
    140 };
    141 #define KGSL_MEMSTORE_OFFSET(ctxt_id, field)   ((ctxt_id)*sizeof(struct kgsl_devmemstore) +   offsetof(struct kgsl_devmemstore, field))
    142 enum kgsl_timestamp_type {
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  KGSL_TIMESTAMP_CONSUMED = 0x00000001,
    145  KGSL_TIMESTAMP_RETIRED = 0x00000002,
    146  KGSL_TIMESTAMP_QUEUED = 0x00000003,
    147 };
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 enum kgsl_property_type {
    150  KGSL_PROP_DEVICE_INFO = 0x00000001,
    151  KGSL_PROP_DEVICE_SHADOW = 0x00000002,
    152  KGSL_PROP_DEVICE_POWER = 0x00000003,
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154  KGSL_PROP_SHMEM = 0x00000004,
    155  KGSL_PROP_SHMEM_APERTURES = 0x00000005,
    156  KGSL_PROP_MMU_ENABLE = 0x00000006,
    157  KGSL_PROP_INTERRUPT_WAITS = 0x00000007,
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159  KGSL_PROP_VERSION = 0x00000008,
    160  KGSL_PROP_GPU_RESET_STAT = 0x00000009,
    161  KGSL_PROP_PWRCTRL = 0x0000000E,
    162 };
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 struct kgsl_shadowprop {
    165  unsigned int gpuaddr;
    166  unsigned int size;
    167  unsigned int flags;
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 };
    170 struct kgsl_version {
    171  unsigned int drv_major;
    172  unsigned int drv_minor;
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174  unsigned int dev_major;
    175  unsigned int dev_minor;
    176 };
    177 struct kgsl_ibdesc {
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  unsigned int gpuaddr;
    180  void *hostptr;
    181  unsigned int sizedwords;
    182  unsigned int ctrl;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 };
    185 #define KGSL_IOC_TYPE 0x09
    186 struct kgsl_device_getproperty {
    187  unsigned int type;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  void *value;
    190  unsigned int sizebytes;
    191 };
    192 #define IOCTL_KGSL_DEVICE_GETPROPERTY   _IOWR(KGSL_IOC_TYPE, 0x2, struct kgsl_device_getproperty)
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 struct kgsl_device_waittimestamp {
    195  unsigned int timestamp;
    196  unsigned int timeout;
    197 };
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define IOCTL_KGSL_DEVICE_WAITTIMESTAMP   _IOW(KGSL_IOC_TYPE, 0x6, struct kgsl_device_waittimestamp)
    200 struct kgsl_device_waittimestamp_ctxtid {
    201  unsigned int context_id;
    202  unsigned int timestamp;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204  unsigned int timeout;
    205 };
    206 #define IOCTL_KGSL_DEVICE_WAITTIMESTAMP_CTXTID   _IOW(KGSL_IOC_TYPE, 0x7, struct kgsl_device_waittimestamp_ctxtid)
    207 struct kgsl_ringbuffer_issueibcmds {
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  unsigned int drawctxt_id;
    210  unsigned int ibdesc_addr;
    211  unsigned int numibs;
    212  unsigned int timestamp;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  unsigned int flags;
    215 };
    216 #define IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS   _IOWR(KGSL_IOC_TYPE, 0x10, struct kgsl_ringbuffer_issueibcmds)
    217 struct kgsl_cmdstream_readtimestamp {
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219  unsigned int type;
    220  unsigned int timestamp;
    221 };
    222 #define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_OLD   _IOR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP   _IOWR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
    225 struct kgsl_cmdstream_freememontimestamp {
    226  unsigned int gpuaddr;
    227  unsigned int type;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  unsigned int timestamp;
    230 };
    231 #define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP   _IOW(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
    232 #define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_OLD   _IOR(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 struct kgsl_drawctxt_create {
    235  unsigned int flags;
    236  unsigned int drawctxt_id;
    237 };
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 #define IOCTL_KGSL_DRAWCTXT_CREATE   _IOWR(KGSL_IOC_TYPE, 0x13, struct kgsl_drawctxt_create)
    240 struct kgsl_drawctxt_destroy {
    241  unsigned int drawctxt_id;
    242 };
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 #define IOCTL_KGSL_DRAWCTXT_DESTROY   _IOW(KGSL_IOC_TYPE, 0x14, struct kgsl_drawctxt_destroy)
    245 struct kgsl_map_user_mem {
    246  int fd;
    247  unsigned int gpuaddr;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  unsigned int len;
    250  unsigned int offset;
    251  unsigned int hostptr;
    252  enum kgsl_user_mem_type memtype;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  unsigned int flags;
    255 };
    256 #define IOCTL_KGSL_MAP_USER_MEM   _IOWR(KGSL_IOC_TYPE, 0x15, struct kgsl_map_user_mem)
    257 struct kgsl_cmdstream_readtimestamp_ctxtid {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  unsigned int context_id;
    260  unsigned int type;
    261  unsigned int timestamp;
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 #define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_CTXTID   _IOWR(KGSL_IOC_TYPE, 0x16, struct kgsl_cmdstream_readtimestamp_ctxtid)
    265 struct kgsl_cmdstream_freememontimestamp_ctxtid {
    266  unsigned int context_id;
    267  unsigned int gpuaddr;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  unsigned int type;
    270  unsigned int timestamp;
    271 };
    272 #define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID   _IOW(KGSL_IOC_TYPE, 0x17,   struct kgsl_cmdstream_freememontimestamp_ctxtid)
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 struct kgsl_sharedmem_from_pmem {
    275  int pmem_fd;
    276  unsigned int gpuaddr;
    277  unsigned int len;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  unsigned int offset;
    280 };
    281 #define IOCTL_KGSL_SHAREDMEM_FROM_PMEM   _IOWR(KGSL_IOC_TYPE, 0x20, struct kgsl_sharedmem_from_pmem)
    282 struct kgsl_sharedmem_free {
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  unsigned int gpuaddr;
    285 };
    286 #define IOCTL_KGSL_SHAREDMEM_FREE   _IOW(KGSL_IOC_TYPE, 0x21, struct kgsl_sharedmem_free)
    287 struct kgsl_cff_user_event {
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  unsigned char cff_opcode;
    290  unsigned int op1;
    291  unsigned int op2;
    292  unsigned int op3;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  unsigned int op4;
    295  unsigned int op5;
    296  unsigned int __pad[2];
    297 };
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 #define IOCTL_KGSL_CFF_USER_EVENT   _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_cff_user_event)
    300 struct kgsl_gmem_desc {
    301  unsigned int x;
    302  unsigned int y;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  unsigned int width;
    305  unsigned int height;
    306  unsigned int pitch;
    307 };
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 struct kgsl_buffer_desc {
    310  void *hostptr;
    311  unsigned int gpuaddr;
    312  int size;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  unsigned int format;
    315  unsigned int pitch;
    316  unsigned int enabled;
    317 };
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 struct kgsl_bind_gmem_shadow {
    320  unsigned int drawctxt_id;
    321  struct kgsl_gmem_desc gmem_desc;
    322  unsigned int shadow_x;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  unsigned int shadow_y;
    325  struct kgsl_buffer_desc shadow_buffer;
    326  unsigned int buffer_id;
    327 };
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 #define IOCTL_KGSL_DRAWCTXT_BIND_GMEM_SHADOW   _IOW(KGSL_IOC_TYPE, 0x22, struct kgsl_bind_gmem_shadow)
    330 struct kgsl_sharedmem_from_vmalloc {
    331  unsigned int gpuaddr;
    332  unsigned int hostptr;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  unsigned int flags;
    335 };
    336 #define IOCTL_KGSL_SHAREDMEM_FROM_VMALLOC   _IOWR(KGSL_IOC_TYPE, 0x23, struct kgsl_sharedmem_from_vmalloc)
    337 #define IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE   _IOW(KGSL_IOC_TYPE, 0x24, struct kgsl_sharedmem_free)
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 struct kgsl_drawctxt_set_bin_base_offset {
    340  unsigned int drawctxt_id;
    341  unsigned int offset;
    342 };
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 #define IOCTL_KGSL_DRAWCTXT_SET_BIN_BASE_OFFSET   _IOW(KGSL_IOC_TYPE, 0x25, struct kgsl_drawctxt_set_bin_base_offset)
    345 enum kgsl_cmdwindow_type {
    346  KGSL_CMDWINDOW_MIN = 0x00000000,
    347  KGSL_CMDWINDOW_2D = 0x00000000,
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  KGSL_CMDWINDOW_3D = 0x00000001,
    350  KGSL_CMDWINDOW_MMU = 0x00000002,
    351  KGSL_CMDWINDOW_ARBITER = 0x000000FF,
    352  KGSL_CMDWINDOW_MAX = 0x000000FF,
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354 };
    355 struct kgsl_cmdwindow_write {
    356  enum kgsl_cmdwindow_type target;
    357  unsigned int addr;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  unsigned int data;
    360 };
    361 #define IOCTL_KGSL_CMDWINDOW_WRITE   _IOW(KGSL_IOC_TYPE, 0x2e, struct kgsl_cmdwindow_write)
    362 struct kgsl_gpumem_alloc {
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  unsigned long gpuaddr;
    365  size_t size;
    366  unsigned int flags;
    367 };
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369 #define IOCTL_KGSL_GPUMEM_ALLOC   _IOWR(KGSL_IOC_TYPE, 0x2f, struct kgsl_gpumem_alloc)
    370 struct kgsl_cff_syncmem {
    371  unsigned int gpuaddr;
    372  unsigned int len;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  unsigned int __pad[2];
    375 };
    376 #define IOCTL_KGSL_CFF_SYNCMEM   _IOW(KGSL_IOC_TYPE, 0x30, struct kgsl_cff_syncmem)
    377 struct kgsl_timestamp_event {
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379  int type;
    380  unsigned int timestamp;
    381  unsigned int context_id;
    382  void *priv;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  size_t len;
    385 };
    386 #define IOCTL_KGSL_TIMESTAMP_EVENT_OLD   _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_timestamp_event)
    387 #define KGSL_TIMESTAMP_EVENT_GENLOCK 1
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389 struct kgsl_timestamp_event_genlock {
    390  int handle;
    391 };
    392 #define KGSL_TIMESTAMP_EVENT_FENCE 2
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394 struct kgsl_timestamp_event_fence {
    395  int fence_fd;
    396 };
    397 #define IOCTL_KGSL_SETPROPERTY   _IOW(KGSL_IOC_TYPE, 0x32, struct kgsl_device_getproperty)
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399 #define IOCTL_KGSL_TIMESTAMP_EVENT   _IOWR(KGSL_IOC_TYPE, 0x33, struct kgsl_timestamp_event)
    400 #endif
    401 
    402