1655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng/**************************************************************************** 2655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 3655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 4655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** This header was automatically generated from a Linux kernel header 5655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** of the same name, to make information necessary for userspace to 6655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** call into the kernel available to libc. It contains only constants, 7655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** structures, and macros generated from the original header, and thus, 8655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** contains no copyrightable information. 9655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 10655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** To edit the content of this header, modify the corresponding 11655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** source file (e.g. under external/kernel-headers/original/) then 12655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** run bionic/libc/kernel/tools/update_all.py 13655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 14655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** Any manual change here will be lost the next time this script will 15655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** be run. You've been warned! 16655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng *** 17655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng **************************************************************************** 18655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng ****************************************************************************/ 19655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#ifndef QXL_DRM_H 20655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_DRM_H 21106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#include "drm.h" 22106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus 23106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif 24655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_GEM_DOMAIN_CPU 0 25655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_GEM_DOMAIN_VRAM 1 26655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_GEM_DOMAIN_SURFACE 2 27106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_QXL_ALLOC 0x00 28655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_QXL_MAP 0x01 29655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_QXL_EXECBUFFER 0x02 30655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_QXL_UPDATE_AREA 0x03 31106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_QXL_GETPARAM 0x04 32655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_QXL_CLIENTCAP 0x05 33655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define DRM_QXL_ALLOC_SURF 0x06 34655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_alloc { 35106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 size; 36106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 37655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 38655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_map { 39106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 offset; 40106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 41106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 42655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 43106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define QXL_RELOC_TYPE_BO 1 44655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_RELOC_TYPE_SURF 2 45655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_reloc { 46106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 src_offset; 47106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 dst_offset; 48106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 src_handle; 49106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 dst_handle; 50106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 reloc_type; 51106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 52655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 53655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_command { 541308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris __u64 command; 551308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris __u64 relocs; 56106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 type; 57106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 command_size; 58106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 relocs_num; 59106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 60655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 61655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_execbuffer { 62106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 flags; 63106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 commands_num; 641308ad3ab33294c3abfd96da12b6df58b381ce52Christopher Ferris __u64 commands; 65655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 66655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_update_area { 67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 68106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 top; 69106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 left; 70106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 bottom; 71106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 right; 72106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 73655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 74655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng#define QXL_PARAM_NUM_SURFACES 1 75106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define QXL_PARAM_MAX_RELOCS 2 76655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_getparam { 77106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 param; 78106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 value; 79655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Cheng}; 80106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct drm_qxl_clientcap { 81106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 index; 82106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 83106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris}; 84655a7c081f83b8351ed5f11a6c6accd9458293a8Ben Chengstruct drm_qxl_alloc_surf { 85106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 format; 86106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 width; 87106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 height; 88106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __s32 stride; 89106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 handle; 90106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u32 pad; 91106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris}; 92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc) 93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_MAP DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map) 94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER, struct drm_qxl_execbuffer) 95106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define DRM_IOCTL_QXL_UPDATE_AREA DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA, struct drm_qxl_update_area) 96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM, struct drm_qxl_getparam) 97d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_CLIENTCAP DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP, struct drm_qxl_clientcap) 98d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao#define DRM_IOCTL_QXL_ALLOC_SURF DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF, struct drm_qxl_alloc_surf) 99106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#ifdef __cplusplus 100106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif 101106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#endif 102