1eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/****************************************************************************
2eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ****************************************************************************
3eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***
4eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   This header was automatically generated from a Linux kernel header
5eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   of the same name, to make information necessary for userspace to
6eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   call into the kernel available to libc.  It contains only constants,
7eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   structures, and macros generated from the original header, and thus,
8eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   contains no copyrightable information.
9eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***
10eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   To edit the content of this header, modify the corresponding
11eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   source file (e.g. under external/kernel-headers/original/) then
12eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   run bionic/libc/kernel/tools/update_all.py
13eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***
14eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   Any manual change here will be lost the next time this script will
15eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***   be run. You've been warned!
16eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ***
17eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ****************************************************************************
18eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel ****************************************************************************/
19eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#ifndef _MSM_KGSL_H
20eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define _MSM_KGSL_H
21eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#include <linux/types.h>
22eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#include <linux/ioctl.h>
23eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_VERSION_MAJOR 3
25eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_VERSION_MINOR 14
26eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_SAVE_GMEM 0x00000001
27eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_NO_GMEM_ALLOC 0x00000002
28eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_SUBMIT_IB_LIST 0x00000004
30eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_CTX_SWITCH 0x00000008
31eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREAMBLE 0x00000010
32eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TRASH_STATE 0x00000020
33eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PER_CONTEXT_TS 0x00000040
35eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_USER_GENERATED_TS 0x00000080
36eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_END_OF_FRAME 0x00000100
37eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_NO_FAULT_TOLERANCE 0x00000200
38eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_SYNC 0x00000400
40eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PWR_CONSTRAINT 0x00000800
41eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PRIORITY_MASK 0x0000F000
42eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PRIORITY_SHIFT 12
43eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PRIORITY_UNDEF 0
45eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_IFH_NOP 0x00010000
46eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_SECURE 0x00020000
47eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_NO_SNAPSHOT 0x00040000
48eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_SPARSE 0x00080000
50eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREEMPT_STYLE_MASK 0x0E000000
51eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREEMPT_STYLE_SHIFT 25
52eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREEMPT_STYLE_DEFAULT 0x0
53eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREEMPT_STYLE_RINGBUFFER 0x1
55eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_PREEMPT_STYLE_FINEGRAIN 0x2
56eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_MASK 0x01F00000
57eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_SHIFT 20
58eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_ANY 0
60eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_GL 1
61eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_CL 2
62eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_C2D 3
63eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_RS 4
65eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_TYPE_UNKNOWN 0x1E
66203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CONTEXT_INVALIDATE_ON_FAULT 0x10000000
67eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONTEXT_INVALID 0xffffffff
68eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CMDBATCH_MEMLIST 0x00000001
70eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_MARKER 0x00000002
71eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_SUBMIT_IB_LIST KGSL_CONTEXT_SUBMIT_IB_LIST
72eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_CTX_SWITCH KGSL_CONTEXT_CTX_SWITCH
73eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CMDBATCH_PROFILING 0x00000010
75eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_PROFILING_KTIME 0x00000020
76eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_END_OF_FRAME KGSL_CONTEXT_END_OF_FRAME
77eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_SYNC KGSL_CONTEXT_SYNC
78eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CMDBATCH_PWR_CONSTRAINT KGSL_CONTEXT_PWR_CONSTRAINT
80eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDBATCH_SPARSE 0x1000
81eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDLIST_IB 0x00000001U
82eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMDLIST_CTXTSWITCH_PREAMBLE 0x00000002U
83eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CMDLIST_IB_PREAMBLE 0x00000004U
85eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_OBJLIST_MEMOBJ 0x00000008U
86eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_OBJLIST_PROFILE 0x00000010U
87eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CMD_SYNCPOINT_TYPE_TIMESTAMP 0
88eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CMD_SYNCPOINT_TYPE_FENCE 1
90eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_SECURE 0x00000008ULL
91eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_GPUREADONLY 0x01000000U
92eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_GPUWRITEONLY 0x02000000U
93eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMFLAGS_FORCE_32BIT 0x100000000ULL
95eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_SPARSE_BIND_MULTIPLE_TO_PHYS 0x400000000ULL
96eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_SPARSE_BIND 0x1ULL
97eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_SPARSE_UNBIND 0x2ULL
98eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CACHEMODE_MASK 0x0C000000U
100eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CACHEMODE_SHIFT 26
101eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CACHEMODE_WRITECOMBINE 0
102eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CACHEMODE_UNCACHED 1
103eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CACHEMODE_WRITETHROUGH 2
105eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CACHEMODE_WRITEBACK 3
106eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_USE_CPU_MAP 0x10000000ULL
107eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_SPARSE_PHYS 0x20000000ULL
108eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMFLAGS_SPARSE_VIRT 0x40000000ULL
110eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_MASK 0x0000FF00
111eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_SHIFT 8
112eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_OBJECTANY 0
113eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_FRAMEBUFFER 1
115eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_RENDERBUFFER 2
116eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_ARRAYBUFFER 3
117eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_ELEMENTARRAYBUFFER 4
118eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_VERTEXARRAYBUFFER 5
120eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_TEXTURE 6
121eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_SURFACE 7
122eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_EGL_SURFACE 8
123eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_GL 9
125eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_CL 10
126eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_CL_BUFFER_MAP 11
127eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_CL_BUFFER_NOMAP 12
128eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_CL_IMAGE_MAP 13
130eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_CL_IMAGE_NOMAP 14
131eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_CL_KERNEL_STACK 15
132eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_COMMAND 16
133eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_2D 17
135eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_EGL_IMAGE 18
136eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_EGL_SHADOW 19
137eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMTYPE_MULTISAMPLE 20
138eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMTYPE_KERNEL 255
140eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMALIGN_MASK 0x00FF0000
141eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMALIGN_SHIFT 16
142eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelenum kgsl_user_mem_type {
143eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_USER_MEM_TYPE_PMEM = 0x00000000,
145eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_USER_MEM_TYPE_ASHMEM = 0x00000001,
146eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_USER_MEM_TYPE_ADDR = 0x00000002,
147eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_USER_MEM_TYPE_ION = 0x00000003,
148eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_USER_MEM_TYPE_DMABUF = 0x00000003,
150eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_USER_MEM_TYPE_MAX = 0x00000007,
151eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
152eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_USERMEM_MASK 0x000000e0
153eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMFLAGS_USERMEM_SHIFT 5
155eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_USERMEM_FLAG(x) (((x) + 1) << KGSL_MEMFLAGS_USERMEM_SHIFT)
156eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_NOT_USERMEM 0
157eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_USERMEM_PMEM KGSL_USERMEM_FLAG(KGSL_USER_MEM_TYPE_PMEM)
158eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_MEMFLAGS_USERMEM_ASHMEM KGSL_USERMEM_FLAG(KGSL_USER_MEM_TYPE_ASHMEM)
160eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_USERMEM_ADDR KGSL_USERMEM_FLAG(KGSL_USER_MEM_TYPE_ADDR)
161eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMFLAGS_USERMEM_ION KGSL_USERMEM_FLAG(KGSL_USER_MEM_TYPE_ION)
162eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_NORMALMODE 0x00000000
163eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_FLAGS_SAFEMODE 0x00000001
165eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_INITIALIZED0 0x00000002
166eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_INITIALIZED 0x00000004
167eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_STARTED 0x00000008
168eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_FLAGS_ACTIVE 0x00000010
170eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_RESERVED0 0x00000020
171eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_RESERVED1 0x00000040
172eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_RESERVED2 0x00000080
173eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_FLAGS_SOFT_RESET 0x00000100
175eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_FLAGS_PER_CONTEXT_TIMESTAMPS 0x00000200
176eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_SYNCOBJ_SERVER_TIMEOUT 2000
177eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelenum kgsl_ctx_reset_stat {
178eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_CTX_STAT_NO_ERROR = 0x00000000,
180eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_CTX_STAT_GUILTY_CONTEXT_RESET_EXT = 0x00000001,
181eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_CTX_STAT_INNOCENT_CONTEXT_RESET_EXT = 0x00000002,
182eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_CTX_STAT_UNKNOWN_CONTEXT_RESET_EXT = 0x00000003
183eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
185eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONVERT_TO_MBPS(val) (val * 1000 * 1000U)
186eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelenum kgsl_deviceid {
187eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_DEVICE_3D0 = 0x00000000,
188eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_DEVICE_MAX
190eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
191eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_devinfo {
192eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int device_id;
193eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int chip_id;
195eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int mmu_enabled;
196eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long gmem_gpubaseaddr;
197eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int gpu_id;
198eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  size_t gmem_sizebytes;
200eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
201eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_devmemstore {
202eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  __volatile__ unsigned int soptimestamp;
203eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int sbz;
205eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  __volatile__ unsigned int eoptimestamp;
206eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int sbz2;
207eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  __volatile__ unsigned int preempted;
208eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int sbz3;
210eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  __volatile__ unsigned int ref_wait_ts;
211eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int sbz4;
212eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int current_context;
213eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int sbz5;
215eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
216eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_MEMSTORE_OFFSET(ctxt_id,field) ((ctxt_id) * sizeof(struct kgsl_devmemstore) + offsetof(struct kgsl_devmemstore, field))
217eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelenum kgsl_timestamp_type {
218eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_TIMESTAMP_CONSUMED = 0x00000001,
220eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_TIMESTAMP_RETIRED = 0x00000002,
221eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_TIMESTAMP_QUEUED = 0x00000003,
222eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
223eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PROP_DEVICE_INFO 0x1
225eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_DEVICE_SHADOW 0x2
226eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_DEVICE_POWER 0x3
227eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_SHMEM 0x4
228eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PROP_SHMEM_APERTURES 0x5
230eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_MMU_ENABLE 0x6
231eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_INTERRUPT_WAITS 0x7
232eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_VERSION 0x8
233eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PROP_GPU_RESET_STAT 0x9
235eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_PWRCTRL 0xE
236eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_PWR_CONSTRAINT 0x12
237eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_UCHE_GMEM_VADDR 0x13
238eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PROP_SP_GENERIC_MEM 0x14
240eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_UCODE_VERSION 0x15
241eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_GPMU_VERSION 0x16
242eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_HIGHEST_BANK_BIT 0x17
243eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PROP_DEVICE_BITNESS 0x18
245eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PROP_DEVICE_QDSS_STM 0x19
24631c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PROP_DEVICE_QTIMER 0x20
247eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_shadowprop {
248eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
25031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  size_t size;
251eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
252eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
25331c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_qdss_stm_prop {
255eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t gpuaddr;
25631c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t size;
25731c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
258eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_qtimer_prop {
26031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t gpuaddr;
261eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t size;
262eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
263eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_version {
26531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int drv_major;
266eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int drv_minor;
267eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int dev_major;
268eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int dev_minor;
27031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
271eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sp_generic_mem {
272eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t local;
273eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t pvt;
27531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
276eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_ucode_version {
277eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int pfp;
278eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int pm4;
28031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
281eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpmu_version {
282eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int major;
283eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int minor;
28531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int features;
286eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
287eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_CP 0x0
288eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_RBBM 0x1
29031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_PC 0x2
291eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_VFD 0x3
292eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_HLSQ 0x4
293eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_VPC 0x5
29531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_TSE 0x6
296eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_RAS 0x7
297eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_UCHE 0x8
298eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_TP 0x9
30031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_SP 0xA
301eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_RB 0xB
302eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_PWR 0xC
303eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_VBIF 0xD
30531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_VBIF_PWR 0xE
306eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_MH 0xF
307eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_PA_SU 0x10
308eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_SQ 0x11
31031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_SX 0x12
311eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_TCF 0x13
312eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_TCM 0x14
313eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_TCR 0x15
31531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_L2 0x16
316eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_VSC 0x17
317eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_CCU 0x18
318eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_LRZ 0x19
32031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_CMP 0x1A
321eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_ALWAYSON 0x1B
322eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_SP_PWR 0x1C
323eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_TP_PWR 0x1D
32531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_RB_PWR 0x1E
326eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_CCU_PWR 0x1F
327eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_UCHE_PWR 0x20
328eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_GROUP_CP_PWR 0x21
33031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_GROUP_GPMU_PWR 0x22
331eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_ALWAYSON_PWR 0x23
332eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_PERFCOUNTER_GROUP_MAX 0x24
333eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_PERFCOUNTER_NOT_USED 0xFFFFFFFF
33531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_PERFCOUNTER_BROKEN 0xFFFFFFFE
336eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_ibdesc {
337eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long gpuaddr;
338eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long __pad;
34031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  size_t sizedwords;
341eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int ctrl;
342eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
343eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_cmdbatch_profiling_buffer {
34531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t wall_clock_s;
346eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t wall_clock_ns;
347eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t gpu_ticks_queued;
348eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t gpu_ticks_submitted;
35031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t gpu_ticks_retired;
351eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
352eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_IOC_TYPE 0x09
353eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_device_getproperty {
35531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int type;
356eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  void * value;
357eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t sizebytes;
358eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
36031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_DEVICE_GETPROPERTY _IOWR(KGSL_IOC_TYPE, 0x2, struct kgsl_device_getproperty)
361eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_device_waittimestamp {
362eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
363eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
364203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int timeout;
36531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
366eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x6, struct kgsl_device_waittimestamp)
367eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_device_waittimestamp_ctxtid {
368eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
369203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
37031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int timestamp;
371eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timeout;
372eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
373eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
374203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_DEVICE_WAITTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x7, struct kgsl_device_waittimestamp_ctxtid)
37531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_ringbuffer_issueibcmds {
376eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int drawctxt_id;
377eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long ibdesc_addr;
378eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
379203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int numibs;
38031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int timestamp;
381eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
382eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
383eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
384203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_RINGBUFFER_ISSUEIBCMDS _IOWR(KGSL_IOC_TYPE, 0x10, struct kgsl_ringbuffer_issueibcmds)
38531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cmdstream_readtimestamp {
386eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int type;
387eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
388eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
389203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
39031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
391eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP _IOWR(KGSL_IOC_TYPE, 0x11, struct kgsl_cmdstream_readtimestamp)
392eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_cmdstream_freememontimestamp {
393eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
39531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int type;
396eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
397eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
398eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
399203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP _IOW(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
40031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_OLD _IOR(KGSL_IOC_TYPE, 0x12, struct kgsl_cmdstream_freememontimestamp)
401eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_drawctxt_create {
402eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
403eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
404203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int drawctxt_id;
40531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
406eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_DRAWCTXT_CREATE _IOWR(KGSL_IOC_TYPE, 0x13, struct kgsl_drawctxt_create)
407eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_drawctxt_destroy {
408eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
409203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int drawctxt_id;
41031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
411eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_DRAWCTXT_DESTROY _IOW(KGSL_IOC_TYPE, 0x14, struct kgsl_drawctxt_destroy)
412eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_map_user_mem {
413eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
414203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  int fd;
41531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned long gpuaddr;
416eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t len;
417eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t offset;
418eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
419203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long hostptr;
42031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  enum kgsl_user_mem_type memtype;
421eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
422eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
423eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
424203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_MAP_USER_MEM _IOWR(KGSL_IOC_TYPE, 0x15, struct kgsl_map_user_mem)
42531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cmdstream_readtimestamp_ctxtid {
426eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int context_id;
427eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int type;
428eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
429203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int timestamp;
43031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
431eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_CMDSTREAM_READTIMESTAMP_CTXTID _IOWR(KGSL_IOC_TYPE, 0x16, struct kgsl_cmdstream_readtimestamp_ctxtid)
432eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_cmdstream_freememontimestamp_ctxtid {
433eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
434203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
43531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned long gpuaddr;
436eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int type;
437eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
438eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
439203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
44031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_CMDSTREAM_FREEMEMONTIMESTAMP_CTXTID _IOW(KGSL_IOC_TYPE, 0x17, struct kgsl_cmdstream_freememontimestamp_ctxtid)
441eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sharedmem_from_pmem {
442eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int pmem_fd;
443eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
44531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int len;
446eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int offset;
447eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
448eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
449203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_SHAREDMEM_FROM_PMEM _IOWR(KGSL_IOC_TYPE, 0x20, struct kgsl_sharedmem_from_pmem)
45031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_sharedmem_free {
451eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long gpuaddr;
452eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
453eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
454203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_SHAREDMEM_FREE _IOW(KGSL_IOC_TYPE, 0x21, struct kgsl_sharedmem_free)
45531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cff_user_event {
456eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned char cff_opcode;
457eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int op1;
458eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
459203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int op2;
46031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int op3;
461eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int op4;
462eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int op5;
463eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
464203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int __pad[2];
46531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
466eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_CFF_USER_EVENT _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_cff_user_event)
467eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gmem_desc {
468eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
469203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int x;
47031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int y;
471eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int width;
472eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int height;
473eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
474203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int pitch;
47531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
476eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_buffer_desc {
477eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  void * hostptr;
478eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
479203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
48031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  int size;
481eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int format;
482eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int pitch;
483eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
484203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int enabled;
48531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
486eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_bind_gmem_shadow {
487eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int drawctxt_id;
488eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
489203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  struct kgsl_gmem_desc gmem_desc;
49031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int shadow_x;
491eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int shadow_y;
492eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  struct kgsl_buffer_desc shadow_buffer;
493eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int buffer_id;
49531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
496eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_DRAWCTXT_BIND_GMEM_SHADOW _IOW(KGSL_IOC_TYPE, 0x22, struct kgsl_bind_gmem_shadow)
497eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sharedmem_from_vmalloc {
498eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
499203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
50031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int hostptr;
501eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
502eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
503eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
504203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_SHAREDMEM_FROM_VMALLOC _IOWR(KGSL_IOC_TYPE, 0x23, struct kgsl_sharedmem_from_vmalloc)
50531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SHAREDMEM_FLUSH_CACHE _IOW(KGSL_IOC_TYPE, 0x24, struct kgsl_sharedmem_free)
506eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_drawctxt_set_bin_base_offset {
507eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int drawctxt_id;
508eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
509203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int offset;
51031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
511eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_DRAWCTXT_SET_BIN_BASE_OFFSET _IOW(KGSL_IOC_TYPE, 0x25, struct kgsl_drawctxt_set_bin_base_offset)
512eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelenum kgsl_cmdwindow_type {
513eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
514203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_CMDWINDOW_MIN = 0x00000000,
51531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  KGSL_CMDWINDOW_2D = 0x00000000,
516eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_CMDWINDOW_3D = 0x00000001,
517eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  KGSL_CMDWINDOW_MMU = 0x00000002,
518eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
519203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  KGSL_CMDWINDOW_ARBITER = 0x000000FF,
52031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  KGSL_CMDWINDOW_MAX = 0x000000FF,
521eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
522eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_cmdwindow_write {
523eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
524203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  enum kgsl_cmdwindow_type target;
52531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int addr;
526eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int data;
527eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
528eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
529203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_CMDWINDOW_WRITE _IOW(KGSL_IOC_TYPE, 0x2e, struct kgsl_cmdwindow_write)
53031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_gpumem_alloc {
531eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long gpuaddr;
532eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t size;
533eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
534203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int flags;
53531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
536eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUMEM_ALLOC _IOWR(KGSL_IOC_TYPE, 0x2f, struct kgsl_gpumem_alloc)
537eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_cff_syncmem {
538eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
539203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
54031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  size_t len;
541eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[2];
542eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
543eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_CFF_SYNCMEM _IOW(KGSL_IOC_TYPE, 0x30, struct kgsl_cff_syncmem)
54531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_timestamp_event {
546eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int type;
547eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
548eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
549203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
55031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  void * priv;
551eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t len;
552eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
553eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
554203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_TIMESTAMP_EVENT_OLD _IOW(KGSL_IOC_TYPE, 0x31, struct kgsl_timestamp_event)
55531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_TIMESTAMP_EVENT_GENLOCK 1
556eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_timestamp_event_genlock {
557eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int handle;
558eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
559203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
56031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_TIMESTAMP_EVENT_FENCE 2
561eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_timestamp_event_fence {
562eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int fence_fd;
563eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
564203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
56531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SETPROPERTY _IOW(KGSL_IOC_TYPE, 0x32, struct kgsl_device_getproperty)
566eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_TIMESTAMP_EVENT _IOWR(KGSL_IOC_TYPE, 0x33, struct kgsl_timestamp_event)
567eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpumem_alloc_id {
568eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
569203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
57031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int flags;
571eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t size;
572eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t mmapsize;
573eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
574203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
57531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned long __pad[2];
576eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
577eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUMEM_ALLOC_ID _IOWR(KGSL_IOC_TYPE, 0x34, struct kgsl_gpumem_alloc_id)
578eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
579203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpumem_free_id {
58031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int id;
581eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad;
582eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
583eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
584203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_GPUMEM_FREE_ID _IOWR(KGSL_IOC_TYPE, 0x35, struct kgsl_gpumem_free_id)
58531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_gpumem_get_info {
586eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long gpuaddr;
587eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
588eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
589203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int flags;
59031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  size_t size;
591eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t mmapsize;
592eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long useraddr;
593eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long __pad[4];
59531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
596eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUMEM_GET_INFO _IOWR(KGSL_IOC_TYPE, 0x36, struct kgsl_gpumem_get_info)
597eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpumem_sync_cache {
598eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
599203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned long gpuaddr;
60031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int id;
601eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int op;
602eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t offset;
603eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
604203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  size_t length;
60531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
606eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPUMEM_CACHE_CLEAN (1 << 0)
607eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPUMEM_CACHE_TO_GPU KGSL_GPUMEM_CACHE_CLEAN
608eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
609203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_GPUMEM_CACHE_INV (1 << 1)
61031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_GPUMEM_CACHE_FROM_GPU KGSL_GPUMEM_CACHE_INV
611eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPUMEM_CACHE_FLUSH (KGSL_GPUMEM_CACHE_CLEAN | KGSL_GPUMEM_CACHE_INV)
612eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPUMEM_CACHE_RANGE (1 << 31U)
613eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
614203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_GPUMEM_SYNC_CACHE _IOW(KGSL_IOC_TYPE, 0x37, struct kgsl_gpumem_sync_cache)
61531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_perfcounter_get {
616eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int groupid;
617eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int countable;
618eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
619203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int offset;
62031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int offset_hi;
621eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad;
622eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
623eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
624203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_PERFCOUNTER_GET _IOWR(KGSL_IOC_TYPE, 0x38, struct kgsl_perfcounter_get)
62531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_perfcounter_put {
626eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int groupid;
627eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int countable;
628eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
629203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int __pad[2];
63031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
631eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_PERFCOUNTER_PUT _IOW(KGSL_IOC_TYPE, 0x39, struct kgsl_perfcounter_put)
632eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_perfcounter_query {
633eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
634203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int groupid;
63531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int * countables;
636eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int count;
637eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int max_counters;
638eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
639203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int __pad[2];
64031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
641eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_PERFCOUNTER_QUERY _IOWR(KGSL_IOC_TYPE, 0x3A, struct kgsl_perfcounter_query)
642eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_perfcounter_read_group {
643eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int groupid;
64531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int countable;
646eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned long long value;
647eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
648eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
649203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_perfcounter_read {
65031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  struct kgsl_perfcounter_read_group * reads;
651eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int count;
652eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[2];
653eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
654203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
65531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_PERFCOUNTER_READ _IOWR(KGSL_IOC_TYPE, 0x3B, struct kgsl_perfcounter_read)
656eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpumem_sync_cache_bulk {
657eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int * id_list;
658eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
659203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int count;
66031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int op;
661eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[2];
662eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
663eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
664203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_GPUMEM_SYNC_CACHE_BULK _IOWR(KGSL_IOC_TYPE, 0x3C, struct kgsl_gpumem_sync_cache_bulk)
66531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cmd_syncpoint_timestamp {
666eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int context_id;
667eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
668eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
669203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
67031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cmd_syncpoint_fence {
671eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int fd;
672eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
673eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
674203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_cmd_syncpoint {
67531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  int type;
676eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  void * priv;
677eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t size;
678eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
679203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
68031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_IBDESC_MEMLIST 0x1
681eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_IBDESC_PROFILING_BUFFER 0x2
682eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_submit_commands {
683eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
684203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
68531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int flags;
686eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  struct kgsl_ibdesc * cmdlist;
687eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int numcmds;
688eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
689203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  struct kgsl_cmd_syncpoint * synclist;
69031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int numsyncs;
691eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
692eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[4];
693eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
69531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SUBMIT_COMMANDS _IOWR(KGSL_IOC_TYPE, 0x3D, struct kgsl_submit_commands)
696eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_device_constraint {
697eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int type;
698eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
699203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
70031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  void * data;
701eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  size_t size;
702eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
703eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
704203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_CONSTRAINT_NONE 0
70531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_CONSTRAINT_PWRLEVEL 1
706eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONSTRAINT_PWR_MIN 0
707eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_CONSTRAINT_PWR_MAX 1
708eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
709203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_device_constraint_pwrlevel {
71031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int level;
711eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
712eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_syncsource_create {
713eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
714203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
71531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int __pad[3];
716eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
717eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_SYNCSOURCE_CREATE _IOWR(KGSL_IOC_TYPE, 0x40, struct kgsl_syncsource_create)
718eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
719203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_syncsource_destroy {
72031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int id;
721eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[3];
722eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
723eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
724203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_SYNCSOURCE_DESTROY _IOWR(KGSL_IOC_TYPE, 0x41, struct kgsl_syncsource_destroy)
72531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_syncsource_create_fence {
726eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
727eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  int fence_fd;
728eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
729203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int __pad[4];
73031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
731eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_SYNCSOURCE_CREATE_FENCE _IOWR(KGSL_IOC_TYPE, 0x42, struct kgsl_syncsource_create_fence)
732eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_syncsource_signal_fence {
733eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
734203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
73531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  int fence_fd;
736eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int __pad[4];
737eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
738eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
739203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_SYNCSOURCE_SIGNAL_FENCE _IOWR(KGSL_IOC_TYPE, 0x43, struct kgsl_syncsource_signal_fence)
74031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_cff_sync_gpuobj {
741eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t offset;
742eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t length;
743eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
74531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
746eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_CFF_SYNC_GPUOBJ _IOW(KGSL_IOC_TYPE, 0x44, struct kgsl_cff_sync_gpuobj)
747eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpuobj_alloc {
748eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
749203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t size;
75031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t flags;
751eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t va_len;
752eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t mmapsize;
753eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
754203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
75531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int metadata_len;
756eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t metadata;
757eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
758eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
759203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define KGSL_GPUOBJ_ALLOC_METADATA_MAX 64
76031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_GPUOBJ_ALLOC _IOWR(KGSL_IOC_TYPE, 0x45, struct kgsl_gpuobj_alloc)
761eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpuobj_free {
762eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t flags;
763eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
764203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t priv;
76531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int id;
766eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int type;
767eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int len;
768eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
769203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
77031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_GPUOBJ_FREE_ON_EVENT 1
771eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPU_EVENT_TIMESTAMP 1
772eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPU_EVENT_FENCE 2
773eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
774203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpu_event_timestamp {
77531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int context_id;
776eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
777eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
778eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
779203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpu_event_fence {
78031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  int fd;
781eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
782eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUOBJ_FREE _IOW(KGSL_IOC_TYPE, 0x46, struct kgsl_gpuobj_free)
783eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
784203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpuobj_info {
78531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t gpuaddr;
786eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t flags;
787eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t size;
788eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
789203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t va_len;
79031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t va_addr;
791eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
792eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
793eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_GPUOBJ_INFO _IOWR(KGSL_IOC_TYPE, 0x47, struct kgsl_gpuobj_info)
79531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_gpuobj_import {
796eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t priv;
797eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t priv_len;
798eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
799203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t flags;
80031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int type;
801eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
802eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
803eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
804203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpuobj_import_dma_buf {
80531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  int fd;
806eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
807eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpuobj_import_useraddr {
808eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
809203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t virtaddr;
81031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
811eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUOBJ_IMPORT _IOWR(KGSL_IOC_TYPE, 0x48, struct kgsl_gpuobj_import)
812eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpuobj_sync_obj {
813eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
814203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t offset;
81531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t length;
816eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
817eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int op;
818eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
819203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
82031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_gpuobj_sync {
821eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t objs;
822eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int obj_len;
823eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
824203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int count;
82531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
826eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUOBJ_SYNC _IOW(KGSL_IOC_TYPE, 0x49, struct kgsl_gpuobj_sync)
827eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_command_object {
828eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
829203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t offset;
83031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t gpuaddr;
831eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t size;
832eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int flags;
833eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
834203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int id;
83531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
836eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_command_syncpoint {
837eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t priv;
838eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
839203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t size;
84031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int type;
841eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
842eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpu_command {
843eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t flags;
84531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t cmdlist;
846eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int cmdsize;
847eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int numcmds;
848eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
849203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t objlist;
85031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int objsize;
851eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int numobjs;
852eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t synclist;
853eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
854203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int syncsize;
85531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int numsyncs;
856eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int context_id;
857eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int timestamp;
858eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
859203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
86031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_GPU_COMMAND _IOWR(KGSL_IOC_TYPE, 0x4A, struct kgsl_gpu_command)
861eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_preemption_counters_query {
862eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t counters;
863eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
864203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int size_user;
86531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int size_priority_level;
866eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int max_priority_level;
867eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
868eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
869203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_PREEMPTIONCOUNTER_QUERY _IOWR(KGSL_IOC_TYPE, 0x4B, struct kgsl_preemption_counters_query)
87031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define KGSL_GPUOBJ_SET_INFO_METADATA (1 << 0)
871eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define KGSL_GPUOBJ_SET_INFO_TYPE (1 << 1)
872eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_gpuobj_set_info {
873eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
874203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t flags;
87531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t metadata;
876eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
877eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int metadata_len;
878eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
879203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int type;
88031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel};
881eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_GPUOBJ_SET_INFO _IOW(KGSL_IOC_TYPE, 0x4C, struct kgsl_gpuobj_set_info)
882eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sparse_phys_alloc {
883eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
884203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t size;
88531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t pagesize;
886eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t flags;
887eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
888eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
889203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
89031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SPARSE_PHYS_ALLOC _IOWR(KGSL_IOC_TYPE, 0x50, struct kgsl_sparse_phys_alloc)
891eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sparse_phys_free {
892eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
893eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
89531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SPARSE_PHYS_FREE _IOW(KGSL_IOC_TYPE, 0x51, struct kgsl_sparse_phys_free)
896eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sparse_virt_alloc {
897eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t size;
898eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
899203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t pagesize;
90031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t flags;
901eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t gpuaddr;
902eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
903eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
904203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
90531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SPARSE_VIRT_ALLOC _IOWR(KGSL_IOC_TYPE, 0x52, struct kgsl_sparse_virt_alloc)
906eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sparse_virt_free {
907eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
908eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
909203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
91031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#define IOCTL_KGSL_SPARSE_VIRT_FREE _IOW(KGSL_IOC_TYPE, 0x53, struct kgsl_sparse_virt_free)
911eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudelstruct kgsl_sparse_binding_object {
912eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t virtoffset;
913eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
914203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  uint64_t physoffset;
91531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t size;
916eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t flags;
917eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
918eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
919203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel};
92031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudelstruct kgsl_sparse_bind {
921eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t list;
922eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
923eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
924203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int size;
92531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int count;
926eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
927eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel#define IOCTL_KGSL_SPARSE_BIND _IOW(KGSL_IOC_TYPE, 0x54, struct kgsl_sparse_bind)
928eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
929203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudelstruct kgsl_gpu_sparse_command {
93031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  uint64_t flags;
931eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t sparselist;
932eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  uint64_t synclist;
933eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
934203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int sparsesize;
93531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int numsparse;
936eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int syncsize;
937eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int numsyncs;
938eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
939203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel  unsigned int context_id;
94031c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel  unsigned int timestamp;
941eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel  unsigned int id;
942eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel};
943eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944203194d7eb6c14621882b043e28839e6045f9dbfThierry Strudel#define IOCTL_KGSL_GPU_SPARSE_COMMAND _IOWR(KGSL_IOC_TYPE, 0x55, struct kgsl_gpu_sparse_command)
94531c96166ed82efe27caf9bf4ff6683b69d8e40b8Thierry Strudel#endif
946eaaae07f42deb6723ff2804e87964da172b94e6bThierry Strudel
947