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 QXL_DRM_H
20 #define QXL_DRM_H
21 #include <stddef.h>
22 #include "drm/drm.h"
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #define QXL_GEM_DOMAIN_CPU 0
25 #define QXL_GEM_DOMAIN_VRAM 1
26 #define QXL_GEM_DOMAIN_SURFACE 2
27 #define DRM_QXL_ALLOC 0x00
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #define DRM_QXL_MAP 0x01
30 #define DRM_QXL_EXECBUFFER 0x02
31 #define DRM_QXL_UPDATE_AREA 0x03
32 #define DRM_QXL_GETPARAM 0x04
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 #define DRM_QXL_CLIENTCAP 0x05
35 #define DRM_QXL_ALLOC_SURF 0x06
36 struct drm_qxl_alloc {
37   uint32_t size;
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39   uint32_t handle;
40 };
41 struct drm_qxl_map {
42   uint64_t offset;
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44   uint32_t handle;
45   uint32_t pad;
46 };
47 #define QXL_RELOC_TYPE_BO 1
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 #define QXL_RELOC_TYPE_SURF 2
50 struct drm_qxl_reloc {
51   uint64_t src_offset;
52   uint64_t dst_offset;
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54   uint32_t src_handle;
55   uint32_t dst_handle;
56   uint32_t reloc_type;
57   uint32_t pad;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 };
60 struct drm_qxl_command {
61   uint64_t __user command;
62   uint64_t __user relocs;
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64   uint32_t type;
65   uint32_t command_size;
66   uint32_t relocs_num;
67   uint32_t pad;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 };
70 struct drm_qxl_execbuffer {
71   uint32_t flags;
72   uint32_t commands_num;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   uint64_t __user commands;
75 };
76 struct drm_qxl_update_area {
77   uint32_t handle;
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79   uint32_t top;
80   uint32_t left;
81   uint32_t bottom;
82   uint32_t right;
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84   uint32_t pad;
85 };
86 #define QXL_PARAM_NUM_SURFACES 1
87 #define QXL_PARAM_MAX_RELOCS 2
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 struct drm_qxl_getparam {
90   uint64_t param;
91   uint64_t value;
92 };
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 struct drm_qxl_clientcap {
95   uint32_t index;
96   uint32_t pad;
97 };
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 struct drm_qxl_alloc_surf {
100   uint32_t format;
101   uint32_t width;
102   uint32_t height;
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104   int32_t stride;
105   uint32_t handle;
106   uint32_t pad;
107 };
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define DRM_IOCTL_QXL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc)
110 #define DRM_IOCTL_QXL_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map)
111 #define DRM_IOCTL_QXL_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER, struct drm_qxl_execbuffer)
112 #define DRM_IOCTL_QXL_UPDATE_AREA DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA, struct drm_qxl_update_area)
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #define DRM_IOCTL_QXL_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM, struct drm_qxl_getparam)
115 #define DRM_IOCTL_QXL_CLIENTCAP DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP, struct drm_qxl_clientcap)
116 #define DRM_IOCTL_QXL_ALLOC_SURF DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF, struct drm_qxl_alloc_surf)
117 #endif
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119