nouveau_drm.h revision 655a7c081f83b8351ed5f11a6c6accd9458293a8
1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef __NOUVEAU_DRM_H__
20#define __NOUVEAU_DRM_H__
21#define NOUVEAU_GEM_DOMAIN_CPU (1 << 0)
22#define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
25#define NOUVEAU_GEM_DOMAIN_MAPPABLE (1 << 3)
26#define NOUVEAU_GEM_TILE_COMP 0x00030000
27#define NOUVEAU_GEM_TILE_LAYOUT_MASK 0x0000ff00
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define NOUVEAU_GEM_TILE_16BPP 0x00000001
30#define NOUVEAU_GEM_TILE_32BPP 0x00000002
31#define NOUVEAU_GEM_TILE_ZETA 0x00000004
32#define NOUVEAU_GEM_TILE_NONCONTIG 0x00000008
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34struct drm_nouveau_gem_info {
35 uint32_t handle;
36 uint32_t domain;
37 uint64_t size;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 uint64_t offset;
40 uint64_t map_handle;
41 uint32_t tile_mode;
42 uint32_t tile_flags;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44};
45struct drm_nouveau_gem_new {
46 struct drm_nouveau_gem_info info;
47 uint32_t channel_hint;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 uint32_t align;
50};
51#define NOUVEAU_GEM_MAX_BUFFERS 1024
52struct drm_nouveau_gem_pushbuf_bo_presumed {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 uint32_t valid;
55 uint32_t domain;
56 uint64_t offset;
57};
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59struct drm_nouveau_gem_pushbuf_bo {
60 uint64_t user_priv;
61 uint32_t handle;
62 uint32_t read_domains;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 uint32_t write_domains;
65 uint32_t valid_domains;
66 struct drm_nouveau_gem_pushbuf_bo_presumed presumed;
67};
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define NOUVEAU_GEM_RELOC_LOW (1 << 0)
70#define NOUVEAU_GEM_RELOC_HIGH (1 << 1)
71#define NOUVEAU_GEM_RELOC_OR (1 << 2)
72#define NOUVEAU_GEM_MAX_RELOCS 1024
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74struct drm_nouveau_gem_pushbuf_reloc {
75 uint32_t reloc_bo_index;
76 uint32_t reloc_bo_offset;
77 uint32_t bo_index;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 uint32_t flags;
80 uint32_t data;
81 uint32_t vor;
82 uint32_t tor;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84};
85#define NOUVEAU_GEM_MAX_PUSH 512
86struct drm_nouveau_gem_pushbuf_push {
87 uint32_t bo_index;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 uint32_t pad;
90 uint64_t offset;
91 uint64_t length;
92};
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94struct drm_nouveau_gem_pushbuf {
95 uint32_t channel;
96 uint32_t nr_buffers;
97 uint64_t buffers;
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 uint32_t nr_relocs;
100 uint32_t nr_push;
101 uint64_t relocs;
102 uint64_t push;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 uint32_t suffix0;
105 uint32_t suffix1;
106 uint64_t vram_available;
107 uint64_t gart_available;
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109};
110#define NOUVEAU_GEM_CPU_PREP_NOWAIT 0x00000001
111#define NOUVEAU_GEM_CPU_PREP_WRITE 0x00000004
112struct drm_nouveau_gem_cpu_prep {
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 uint32_t handle;
115 uint32_t flags;
116};
117struct drm_nouveau_gem_cpu_fini {
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 uint32_t handle;
120};
121#define DRM_NOUVEAU_GETPARAM 0x00
122#define DRM_NOUVEAU_SETPARAM 0x01
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define DRM_NOUVEAU_CHANNEL_ALLOC 0x02
125#define DRM_NOUVEAU_CHANNEL_FREE 0x03
126#define DRM_NOUVEAU_GROBJ_ALLOC 0x04
127#define DRM_NOUVEAU_NOTIFIEROBJ_ALLOC 0x05
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define DRM_NOUVEAU_GPUOBJ_FREE 0x06
130#define DRM_NOUVEAU_GEM_NEW 0x40
131#define DRM_NOUVEAU_GEM_PUSHBUF 0x41
132#define DRM_NOUVEAU_GEM_CPU_PREP 0x42
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define DRM_NOUVEAU_GEM_CPU_FINI 0x43
135#define DRM_NOUVEAU_GEM_INFO 0x44
136#define DRM_IOCTL_NOUVEAU_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_NEW, struct drm_nouveau_gem_new)
137#define DRM_IOCTL_NOUVEAU_GEM_PUSHBUF DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_PUSHBUF, struct drm_nouveau_gem_pushbuf)
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define DRM_IOCTL_NOUVEAU_GEM_CPU_PREP DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_PREP, struct drm_nouveau_gem_cpu_prep)
140#define DRM_IOCTL_NOUVEAU_GEM_CPU_FINI DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_FINI, struct drm_nouveau_gem_cpu_fini)
141#define DRM_IOCTL_NOUVEAU_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_INFO, struct drm_nouveau_gem_info)
142#endif
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144