blob: 272fd57bf45288b44c652bc564614c4f26b1895d [file] [log] [blame]
Dima Zavin81fa6d52009-08-05 17:51:29 -07001/****************************************************************************
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 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** 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 ***
Dima Zavin81fa6d52009-08-05 17:51:29 -070017 ****************************************************************************
18 ****************************************************************************/
19#ifndef _MSM_KGSL_H
20#define _MSM_KGSL_H
Naseer Ahmed240b3342012-06-18 14:54:42 -070021#define KGSL_VERSION_MAJOR 3
Jeff Boody02e06782012-09-15 11:21:09 -060022#define KGSL_VERSION_MINOR 12
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070024#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_INVALID 0xffffffff
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define KGSL_MEMFLAGS_GPUREADONLY 0x01000000
Dima Zavin81fa6d52009-08-05 17:51:29 -070035#define KGSL_FLAGS_NORMALMODE 0x00000000
36#define KGSL_FLAGS_SAFEMODE 0x00000001
37#define KGSL_FLAGS_INITIALIZED0 0x00000002
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070039#define KGSL_FLAGS_INITIALIZED 0x00000004
Dima Zavin81fa6d52009-08-05 17:51:29 -070040#define KGSL_FLAGS_STARTED 0x00000008
41#define KGSL_FLAGS_ACTIVE 0x00000010
42#define KGSL_FLAGS_RESERVED0 0x00000020
Naseer Ahmed240b3342012-06-18 14:54:42 -070043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -070044#define KGSL_FLAGS_RESERVED1 0x00000040
45#define KGSL_FLAGS_RESERVED2 0x00000080
Naseer Ahmed240b3342012-06-18 14:54:42 -070046#define KGSL_FLAGS_SOFT_RESET 0x00000100
47#define KGSL_FLAGS_PER_CONTEXT_TIMESTAMPS 0x00000200
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070049#define KGSL_CLK_SRC 0x00000001
50#define KGSL_CLK_CORE 0x00000002
51#define KGSL_CLK_IFACE 0x00000004
52#define KGSL_CLK_MEM 0x00000008
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define KGSL_CLK_MEM_IFACE 0x00000010
55#define KGSL_CLK_AXI 0x00000020
56enum kgsl_ctx_reset_stat {
57 KGSL_CTX_STAT_NO_ERROR = 0x00000000,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT = 0x00000001,
60 KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT = 0x00000002,
61 KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT = 0x00000003
62};
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070064#define KGSL_CONVERT_TO_MBPS(val) (val*1000*1000U)
65enum kgsl_deviceid {
66 KGSL_DEVICE_3D0 = 0x00000000,
Naseer Ahmed240b3342012-06-18 14:54:42 -070067 KGSL_DEVICE_2D0 = 0x00000001,
Jeff Boody02e06782012-09-15 11:21:09 -060068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070069 KGSL_DEVICE_2D1 = 0x00000002,
70 KGSL_DEVICE_MAX = 0x00000003
71};
Naseer Ahmed240b3342012-06-18 14:54:42 -070072enum kgsl_user_mem_type {
Jeff Boody02e06782012-09-15 11:21:09 -060073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070074 KGSL_USER_MEM_TYPE_PMEM = 0x00000000,
75 KGSL_USER_MEM_TYPE_ASHMEM = 0x00000001,
76 KGSL_USER_MEM_TYPE_ADDR = 0x00000002,
Naseer Ahmed240b3342012-06-18 14:54:42 -070077 KGSL_USER_MEM_TYPE_ION = 0x00000003,
Jeff Boody02e06782012-09-15 11:21:09 -060078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -070079 KGSL_USER_MEM_TYPE_MAX = 0x00000004,
Dima Zavin81fa6d52009-08-05 17:51:29 -070080};
Dima Zavin81fa6d52009-08-05 17:51:29 -070081struct kgsl_devinfo {
Dima Zavin81fa6d52009-08-05 17:51:29 -070082 unsigned int device_id;
Jeff Boody02e06782012-09-15 11:21:09 -060083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -070084 unsigned int chip_id;
85 unsigned int mmu_enabled;
86 unsigned int gmem_gpubaseaddr;
Naseer Ahmed240b3342012-06-18 14:54:42 -070087 unsigned int gpu_id;
Jeff Boody02e06782012-09-15 11:21:09 -060088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -070089 unsigned int gmem_sizebytes;
90};
Dima Zavin81fa6d52009-08-05 17:51:29 -070091struct kgsl_devmemstore {
92 volatile unsigned int soptimestamp;
Jeff Boody02e06782012-09-15 11:21:09 -060093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -070094 unsigned int sbz;
95 volatile unsigned int eoptimestamp;
96 unsigned int sbz2;
Dima Zavin4e383b82010-03-08 17:34:52 -080097 volatile unsigned int ts_cmp_enable;
Jeff Boody02e06782012-09-15 11:21:09 -060098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin4e383b82010-03-08 17:34:52 -080099 unsigned int sbz3;
100 volatile unsigned int ref_wait_ts;
101 unsigned int sbz4;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700102 unsigned int current_context;
Jeff Boody02e06782012-09-15 11:21:09 -0600103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700104 unsigned int sbz5;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700105};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700106#define KGSL_MEMSTORE_OFFSET(ctxt_id, field) ((ctxt_id)*sizeof(struct kgsl_devmemstore) + offsetof(struct kgsl_devmemstore, field))
Dima Zavin81fa6d52009-08-05 17:51:29 -0700107enum kgsl_timestamp_type {
Jeff Boody02e06782012-09-15 11:21:09 -0600108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700109 KGSL_TIMESTAMP_CONSUMED = 0x00000001,
110 KGSL_TIMESTAMP_RETIRED = 0x00000002,
Naseer Ahmed240b3342012-06-18 14:54:42 -0700111 KGSL_TIMESTAMP_QUEUED = 0x00000003,
Dima Zavin81fa6d52009-08-05 17:51:29 -0700112};
Jeff Boody02e06782012-09-15 11:21:09 -0600113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700114enum kgsl_property_type {
115 KGSL_PROP_DEVICE_INFO = 0x00000001,
116 KGSL_PROP_DEVICE_SHADOW = 0x00000002,
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700117 KGSL_PROP_DEVICE_POWER = 0x00000003,
Jeff Boody02e06782012-09-15 11:21:09 -0600118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700119 KGSL_PROP_SHMEM = 0x00000004,
120 KGSL_PROP_SHMEM_APERTURES = 0x00000005,
Dima Zavin4e383b82010-03-08 17:34:52 -0800121 KGSL_PROP_MMU_ENABLE = 0x00000006,
Naseer Ahmed240b3342012-06-18 14:54:42 -0700122 KGSL_PROP_INTERRUPT_WAITS = 0x00000007,
Jeff Boody02e06782012-09-15 11:21:09 -0600123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700124 KGSL_PROP_VERSION = 0x00000008,
125 KGSL_PROP_GPU_RESET_STAT = 0x00000009,
126 KGSL_PROP_PWRCTRL = 0x0000000E,
Naseer Ahmed240b3342012-06-18 14:54:42 -0700127};
Jeff Boody02e06782012-09-15 11:21:09 -0600128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700129struct kgsl_shadowprop {
130 unsigned int gpuaddr;
131 unsigned int size;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700132 unsigned int flags;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700134};
135struct kgsl_version {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700136 unsigned int drv_major;
137 unsigned int drv_minor;
Jeff Boody02e06782012-09-15 11:21:09 -0600138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700139 unsigned int dev_major;
140 unsigned int dev_minor;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700141};
142struct kgsl_ibdesc {
Jeff Boody02e06782012-09-15 11:21:09 -0600143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700144 unsigned int gpuaddr;
145 void *hostptr;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700146 unsigned int sizedwords;
147 unsigned int ctrl;
Jeff Boody02e06782012-09-15 11:21:09 -0600148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700149};
Dima Zavin81fa6d52009-08-05 17:51:29 -0700150#define KGSL_IOC_TYPE 0x09
Dima Zavin81fa6d52009-08-05 17:51:29 -0700151struct kgsl_device_getproperty {
152 unsigned int type;
Jeff Boody02e06782012-09-15 11:21:09 -0600153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700154 void *value;
155 unsigned int sizebytes;
156};
Dima Zavin81fa6d52009-08-05 17:51:29 -0700157#define IOCTL_KGSL_DEVICE_GETPROPERTY _IOWR(KGSL_IOC_TYPE, 0x2, struct kgsl_device_getproperty)
Jeff Boody02e06782012-09-15 11:21:09 -0600158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700159struct kgsl_device_waittimestamp {
160 unsigned int timestamp;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700161 unsigned int timeout;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700162};
Jeff Boody02e06782012-09-15 11:21:09 -0600163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700164#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x6, struct kgsl_device_waittimestamp)
Naseer Ahmed240b3342012-06-18 14:54:42 -0700165struct kgsl_device_waittimestamp_ctxtid {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700166 unsigned int context_id;
167 unsigned int timestamp;
Jeff Boody02e06782012-09-15 11:21:09 -0600168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700169 unsigned int timeout;
170};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700171#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x7, struct kgsl_device_waittimestamp_ctxtid)
Dima Zavin81fa6d52009-08-05 17:51:29 -0700172struct kgsl_ringbuffer_issueibcmds {
Jeff Boody02e06782012-09-15 11:21:09 -0600173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700174 unsigned int drawctxt_id;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700175 unsigned int ibdesc_addr;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700176 unsigned int numibs;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700177 unsigned int timestamp;
Jeff Boody02e06782012-09-15 11:21:09 -0600178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700179 unsigned int flags;
180};
Dima Zavin81fa6d52009-08-05 17:51:29 -0700181#define IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS _IOWR(KGSL_IOC_TYPE, 0x10, struct kgsl_ringbuffer_issueibcmds)
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700182struct kgsl_cmdstream_readtimestamp {
Jeff Boody02e06782012-09-15 11:21:09 -0600183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700184 unsigned int type;
185 unsigned int timestamp;
186};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700187#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
Jeff Boody02e06782012-09-15 11:21:09 -0600188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700189#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP _IOWR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700190struct kgsl_cmdstream_freememontimestamp {
Dima Zavin81fa6d52009-08-05 17:51:29 -0700191 unsigned int gpuaddr;
192 unsigned int type;
Jeff Boody02e06782012-09-15 11:21:09 -0600193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700194 unsigned int timestamp;
195};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700196#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
197#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
Jeff Boody02e06782012-09-15 11:21:09 -0600198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700199struct kgsl_drawctxt_create {
200 unsigned int flags;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700201 unsigned int drawctxt_id;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700202};
Jeff Boody02e06782012-09-15 11:21:09 -0600203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700204#define IOCTL_KGSL_DRAWCTXT_CREATE _IOWR(KGSL_IOC_TYPE, 0x13, struct kgsl_drawctxt_create)
Dima Zavin81fa6d52009-08-05 17:51:29 -0700205struct kgsl_drawctxt_destroy {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700206 unsigned int drawctxt_id;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700207};
Jeff Boody02e06782012-09-15 11:21:09 -0600208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700209#define IOCTL_KGSL_DRAWCTXT_DESTROY _IOW(KGSL_IOC_TYPE, 0x14, struct kgsl_drawctxt_destroy)
Naseer Ahmed240b3342012-06-18 14:54:42 -0700210struct kgsl_map_user_mem {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700211 int fd;
212 unsigned int gpuaddr;
Jeff Boody02e06782012-09-15 11:21:09 -0600213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700214 unsigned int len;
215 unsigned int offset;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700216 unsigned int hostptr;
217 enum kgsl_user_mem_type memtype;
Jeff Boody02e06782012-09-15 11:21:09 -0600218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700219 unsigned int reserved;
220};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700221#define IOCTL_KGSL_MAP_USER_MEM _IOWR(KGSL_IOC_TYPE, 0x15, struct kgsl_map_user_mem)
222struct kgsl_cmdstream_readtimestamp_ctxtid {
Jeff Boody02e06782012-09-15 11:21:09 -0600223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700224 unsigned int context_id;
225 unsigned int type;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700226 unsigned int timestamp;
227};
Jeff Boody02e06782012-09-15 11:21:09 -0600228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700229#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_CTXTID _IOWR(KGSL_IOC_TYPE, 0x16, struct kgsl_cmdstream_readtimestamp_ctxtid)
230struct kgsl_cmdstream_freememontimestamp_ctxtid {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700231 unsigned int context_id;
232 unsigned int gpuaddr;
Jeff Boody02e06782012-09-15 11:21:09 -0600233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700234 unsigned int type;
235 unsigned int timestamp;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700236};
237#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x17, struct kgsl_cmdstream_freememontimestamp_ctxtid)
Jeff Boody02e06782012-09-15 11:21:09 -0600238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700239struct kgsl_sharedmem_from_pmem {
240 int pmem_fd;
241 unsigned int gpuaddr;
Dima Zavin7b12b4a2009-11-19 09:55:56 -0800242 unsigned int len;
Jeff Boody02e06782012-09-15 11:21:09 -0600243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin7b12b4a2009-11-19 09:55:56 -0800244 unsigned int offset;
Dima Zavin81fa6d52009-08-05 17:51:29 -0700245};
Dima Zavin81fa6d52009-08-05 17:51:29 -0700246#define IOCTL_KGSL_SHAREDMEM_FROM_PMEM _IOWR(KGSL_IOC_TYPE, 0x20, struct kgsl_sharedmem_from_pmem)
Dima Zavin81fa6d52009-08-05 17:51:29 -0700247struct kgsl_sharedmem_free {
Jeff Boody02e06782012-09-15 11:21:09 -0600248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin81fa6d52009-08-05 17:51:29 -0700249 unsigned int gpuaddr;
250};
Dima Zavin81fa6d52009-08-05 17:51:29 -0700251#define IOCTL_KGSL_SHAREDMEM_FREE _IOW(KGSL_IOC_TYPE, 0x21, struct kgsl_sharedmem_free)
Naseer Ahmed240b3342012-06-18 14:54:42 -0700252struct kgsl_cff_user_event {
Jeff Boody02e06782012-09-15 11:21:09 -0600253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700254 unsigned char cff_opcode;
255 unsigned int op1;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700256 unsigned int op2;
257 unsigned int op3;
Jeff Boody02e06782012-09-15 11:21:09 -0600258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700259 unsigned int op4;
260 unsigned int op5;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700261 unsigned int __pad[2];
262};
Jeff Boody02e06782012-09-15 11:21:09 -0600263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700264#define IOCTL_KGSL_CFF_USER_EVENT _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_cff_user_event)
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700265struct kgsl_gmem_desc {
266 unsigned int x;
267 unsigned int y;
Jeff Boody02e06782012-09-15 11:21:09 -0600268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700269 unsigned int width;
270 unsigned int height;
271 unsigned int pitch;
272};
Jeff Boody02e06782012-09-15 11:21:09 -0600273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700274struct kgsl_buffer_desc {
275 void *hostptr;
276 unsigned int gpuaddr;
277 int size;
Jeff Boody02e06782012-09-15 11:21:09 -0600278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700279 unsigned int format;
280 unsigned int pitch;
281 unsigned int enabled;
282};
Jeff Boody02e06782012-09-15 11:21:09 -0600283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700284struct kgsl_bind_gmem_shadow {
285 unsigned int drawctxt_id;
286 struct kgsl_gmem_desc gmem_desc;
287 unsigned int shadow_x;
Jeff Boody02e06782012-09-15 11:21:09 -0600288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700289 unsigned int shadow_y;
290 struct kgsl_buffer_desc shadow_buffer;
291 unsigned int buffer_id;
292};
Jeff Boody02e06782012-09-15 11:21:09 -0600293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700294#define IOCTL_KGSL_DRAWCTXT_BIND_GMEM_SHADOW _IOW(KGSL_IOC_TYPE, 0x22, struct kgsl_bind_gmem_shadow)
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700295struct kgsl_sharedmem_from_vmalloc {
296 unsigned int gpuaddr;
297 unsigned int hostptr;
Jeff Boody02e06782012-09-15 11:21:09 -0600298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700299 unsigned int flags;
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700300};
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700301#define IOCTL_KGSL_SHAREDMEM_FROM_VMALLOC _IOWR(KGSL_IOC_TYPE, 0x23, struct kgsl_sharedmem_from_vmalloc)
Dima Zavin9a96aaa2009-10-03 16:38:49 -0700302#define IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE _IOW(KGSL_IOC_TYPE, 0x24, struct kgsl_sharedmem_free)
Jeff Boody02e06782012-09-15 11:21:09 -0600303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin110044b2009-11-13 02:29:17 -0800304struct kgsl_drawctxt_set_bin_base_offset {
305 unsigned int drawctxt_id;
306 unsigned int offset;
307};
Jeff Boody02e06782012-09-15 11:21:09 -0600308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Dima Zavin110044b2009-11-13 02:29:17 -0800309#define IOCTL_KGSL_DRAWCTXT_SET_BIN_BASE_OFFSET _IOW(KGSL_IOC_TYPE, 0x25, struct kgsl_drawctxt_set_bin_base_offset)
Naseer Ahmed240b3342012-06-18 14:54:42 -0700310enum kgsl_cmdwindow_type {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700311 KGSL_CMDWINDOW_MIN = 0x00000000,
312 KGSL_CMDWINDOW_2D = 0x00000000,
Jeff Boody02e06782012-09-15 11:21:09 -0600313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700314 KGSL_CMDWINDOW_3D = 0x00000001,
315 KGSL_CMDWINDOW_MMU = 0x00000002,
Naseer Ahmed240b3342012-06-18 14:54:42 -0700316 KGSL_CMDWINDOW_ARBITER = 0x000000FF,
317 KGSL_CMDWINDOW_MAX = 0x000000FF,
Jeff Boody02e06782012-09-15 11:21:09 -0600318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700319};
320struct kgsl_cmdwindow_write {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700321 enum kgsl_cmdwindow_type target;
322 unsigned int addr;
Jeff Boody02e06782012-09-15 11:21:09 -0600323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700324 unsigned int data;
325};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700326#define IOCTL_KGSL_CMDWINDOW_WRITE _IOW(KGSL_IOC_TYPE, 0x2e, struct kgsl_cmdwindow_write)
327struct kgsl_gpumem_alloc {
Jeff Boody02e06782012-09-15 11:21:09 -0600328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700329 unsigned long gpuaddr;
330 size_t size;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700331 unsigned int flags;
332};
Jeff Boody02e06782012-09-15 11:21:09 -0600333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700334#define IOCTL_KGSL_GPUMEM_ALLOC _IOWR(KGSL_IOC_TYPE, 0x2f, struct kgsl_gpumem_alloc)
335struct kgsl_cff_syncmem {
Naseer Ahmed240b3342012-06-18 14:54:42 -0700336 unsigned int gpuaddr;
337 unsigned int len;
Jeff Boody02e06782012-09-15 11:21:09 -0600338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700339 unsigned int __pad[2];
340};
Naseer Ahmed240b3342012-06-18 14:54:42 -0700341#define IOCTL_KGSL_CFF_SYNCMEM _IOW(KGSL_IOC_TYPE, 0x30, struct kgsl_cff_syncmem)
342struct kgsl_timestamp_event {
Jeff Boody02e06782012-09-15 11:21:09 -0600343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700344 int type;
345 unsigned int timestamp;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700346 unsigned int context_id;
347 void *priv;
Jeff Boody02e06782012-09-15 11:21:09 -0600348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700349 size_t len;
350};
Jeff Boody02e06782012-09-15 11:21:09 -0600351#define IOCTL_KGSL_TIMESTAMP_EVENT_OLD _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_timestamp_event)
Naseer Ahmed240b3342012-06-18 14:54:42 -0700352#define KGSL_TIMESTAMP_EVENT_GENLOCK 1
Jeff Boody02e06782012-09-15 11:21:09 -0600353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Naseer Ahmed240b3342012-06-18 14:54:42 -0700354struct kgsl_timestamp_event_genlock {
355 int handle;
Jeff Boody02e06782012-09-15 11:21:09 -0600356};
357#define KGSL_TIMESTAMP_EVENT_FENCE 2
Naseer Ahmed240b3342012-06-18 14:54:42 -0700358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
Jeff Boody02e06782012-09-15 11:21:09 -0600359struct kgsl_timestamp_event_fence {
360 int fence_fd;
Naseer Ahmed240b3342012-06-18 14:54:42 -0700361};
362#define IOCTL_KGSL_SETPROPERTY _IOW(KGSL_IOC_TYPE, 0x32, struct kgsl_device_getproperty)
Jeff Boody02e06782012-09-15 11:21:09 -0600363/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364#define IOCTL_KGSL_TIMESTAMP_EVENT _IOWR(KGSL_IOC_TYPE, 0x33, struct kgsl_timestamp_event)
Dima Zavin81fa6d52009-08-05 17:51:29 -0700365#endif