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