• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 "drm.h"
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 #define QXL_GEM_DOMAIN_CPU 0
26 #define QXL_GEM_DOMAIN_VRAM 1
27 #define QXL_GEM_DOMAIN_SURFACE 2
28 #define DRM_QXL_ALLOC 0x00
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 #define DRM_QXL_CLIENTCAP 0x05
34 #define DRM_QXL_ALLOC_SURF 0x06
35 struct drm_qxl_alloc {
36   __u32 size;
37   __u32 handle;
38 };
39 struct drm_qxl_map {
40   __u64 offset;
41   __u32 handle;
42   __u32 pad;
43 };
44 #define QXL_RELOC_TYPE_BO 1
45 #define QXL_RELOC_TYPE_SURF 2
46 struct drm_qxl_reloc {
47   __u64 src_offset;
48   __u64 dst_offset;
49   __u32 src_handle;
50   __u32 dst_handle;
51   __u32 reloc_type;
52   __u32 pad;
53 };
54 struct drm_qxl_command {
55   __u64 command;
56   __u64 relocs;
57   __u32 type;
58   __u32 command_size;
59   __u32 relocs_num;
60   __u32 pad;
61 };
62 struct drm_qxl_execbuffer {
63   __u32 flags;
64   __u32 commands_num;
65   __u64 commands;
66 };
67 struct drm_qxl_update_area {
68   __u32 handle;
69   __u32 top;
70   __u32 left;
71   __u32 bottom;
72   __u32 right;
73   __u32 pad;
74 };
75 #define QXL_PARAM_NUM_SURFACES 1
76 #define QXL_PARAM_MAX_RELOCS 2
77 struct drm_qxl_getparam {
78   __u64 param;
79   __u64 value;
80 };
81 struct drm_qxl_clientcap {
82   __u32 index;
83   __u32 pad;
84 };
85 struct drm_qxl_alloc_surf {
86   __u32 format;
87   __u32 width;
88   __u32 height;
89   __s32 stride;
90   __u32 handle;
91   __u32 pad;
92 };
93 #define DRM_IOCTL_QXL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc)
94 #define DRM_IOCTL_QXL_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map)
95 #define DRM_IOCTL_QXL_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER, struct drm_qxl_execbuffer)
96 #define DRM_IOCTL_QXL_UPDATE_AREA DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA, struct drm_qxl_update_area)
97 #define DRM_IOCTL_QXL_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM, struct drm_qxl_getparam)
98 #define DRM_IOCTL_QXL_CLIENTCAP DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP, struct drm_qxl_clientcap)
99 #define DRM_IOCTL_QXL_ALLOC_SURF DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF, struct drm_qxl_alloc_surf)
100 #ifdef __cplusplus
101 }
102 #endif
103 #endif
104