122851890Sopenharmony_ci/* 222851890Sopenharmony_ci * This header was generated from the Linux kernel headers by update_headers.py, 322851890Sopenharmony_ci * to provide necessary information from kernel to userspace, such as constants, 422851890Sopenharmony_ci * structures, and macros, and thus, contains no copyrightable information. 522851890Sopenharmony_ci */ 622851890Sopenharmony_ci#ifndef QXL_DRM_H 722851890Sopenharmony_ci#define QXL_DRM_H 822851890Sopenharmony_ci#include "drm.h" 922851890Sopenharmony_ci#if defined(__cplusplus) 1022851890Sopenharmony_ciextern "C" { 1122851890Sopenharmony_ci#endif 1222851890Sopenharmony_ci#define QXL_GEM_DOMAIN_CPU 0 1322851890Sopenharmony_ci#define QXL_GEM_DOMAIN_VRAM 1 1422851890Sopenharmony_ci#define QXL_GEM_DOMAIN_SURFACE 2 1522851890Sopenharmony_ci#define DRM_QXL_ALLOC 0x00 1622851890Sopenharmony_ci#define DRM_QXL_MAP 0x01 1722851890Sopenharmony_ci#define DRM_QXL_EXECBUFFER 0x02 1822851890Sopenharmony_ci#define DRM_QXL_UPDATE_AREA 0x03 1922851890Sopenharmony_ci#define DRM_QXL_GETPARAM 0x04 2022851890Sopenharmony_ci#define DRM_QXL_CLIENTCAP 0x05 2122851890Sopenharmony_ci#define DRM_QXL_ALLOC_SURF 0x06 2222851890Sopenharmony_cistruct drm_qxl_alloc { 2322851890Sopenharmony_ci __u32 size; 2422851890Sopenharmony_ci __u32 handle; 2522851890Sopenharmony_ci}; 2622851890Sopenharmony_cistruct drm_qxl_map { 2722851890Sopenharmony_ci __u64 offset; 2822851890Sopenharmony_ci __u32 handle; 2922851890Sopenharmony_ci __u32 pad; 3022851890Sopenharmony_ci}; 3122851890Sopenharmony_ci#define QXL_RELOC_TYPE_BO 1 3222851890Sopenharmony_ci#define QXL_RELOC_TYPE_SURF 2 3322851890Sopenharmony_cistruct drm_qxl_reloc { 3422851890Sopenharmony_ci __u64 src_offset; 3522851890Sopenharmony_ci __u64 dst_offset; 3622851890Sopenharmony_ci __u32 src_handle; 3722851890Sopenharmony_ci __u32 dst_handle; 3822851890Sopenharmony_ci __u32 reloc_type; 3922851890Sopenharmony_ci __u32 pad; 4022851890Sopenharmony_ci}; 4122851890Sopenharmony_cistruct drm_qxl_command { 4222851890Sopenharmony_ci __u64 command; 4322851890Sopenharmony_ci __u64 relocs; 4422851890Sopenharmony_ci __u32 type; 4522851890Sopenharmony_ci __u32 command_size; 4622851890Sopenharmony_ci __u32 relocs_num; 4722851890Sopenharmony_ci __u32 pad; 4822851890Sopenharmony_ci}; 4922851890Sopenharmony_cistruct drm_qxl_execbuffer { 5022851890Sopenharmony_ci __u32 flags; 5122851890Sopenharmony_ci __u32 commands_num; 5222851890Sopenharmony_ci __u64 commands; 5322851890Sopenharmony_ci}; 5422851890Sopenharmony_cistruct drm_qxl_update_area { 5522851890Sopenharmony_ci __u32 handle; 5622851890Sopenharmony_ci __u32 top; 5722851890Sopenharmony_ci __u32 left; 5822851890Sopenharmony_ci __u32 bottom; 5922851890Sopenharmony_ci __u32 right; 6022851890Sopenharmony_ci __u32 pad; 6122851890Sopenharmony_ci}; 6222851890Sopenharmony_ci#define QXL_PARAM_NUM_SURFACES 1 6322851890Sopenharmony_ci#define QXL_PARAM_MAX_RELOCS 2 6422851890Sopenharmony_cistruct drm_qxl_getparam { 6522851890Sopenharmony_ci __u64 param; 6622851890Sopenharmony_ci __u64 value; 6722851890Sopenharmony_ci}; 6822851890Sopenharmony_cistruct drm_qxl_clientcap { 6922851890Sopenharmony_ci __u32 index; 7022851890Sopenharmony_ci __u32 pad; 7122851890Sopenharmony_ci}; 7222851890Sopenharmony_cistruct drm_qxl_alloc_surf { 7322851890Sopenharmony_ci __u32 format; 7422851890Sopenharmony_ci __u32 width; 7522851890Sopenharmony_ci __u32 height; 7622851890Sopenharmony_ci __s32 stride; 7722851890Sopenharmony_ci __u32 handle; 7822851890Sopenharmony_ci __u32 pad; 7922851890Sopenharmony_ci}; 8022851890Sopenharmony_ci#define DRM_IOCTL_QXL_ALLOC \ 8122851890Sopenharmony_ci DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc) 8222851890Sopenharmony_ci#define DRM_IOCTL_QXL_MAP \ 8322851890Sopenharmony_ci DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map) 8422851890Sopenharmony_ci#define DRM_IOCTL_QXL_EXECBUFFER \ 8522851890Sopenharmony_ci DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER,\ 8622851890Sopenharmony_ci struct drm_qxl_execbuffer) 8722851890Sopenharmony_ci#define DRM_IOCTL_QXL_UPDATE_AREA \ 8822851890Sopenharmony_ci DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA,\ 8922851890Sopenharmony_ci struct drm_qxl_update_area) 9022851890Sopenharmony_ci#define DRM_IOCTL_QXL_GETPARAM \ 9122851890Sopenharmony_ci DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM,\ 9222851890Sopenharmony_ci struct drm_qxl_getparam) 9322851890Sopenharmony_ci#define DRM_IOCTL_QXL_CLIENTCAP \ 9422851890Sopenharmony_ci DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP,\ 9522851890Sopenharmony_ci struct drm_qxl_clientcap) 9622851890Sopenharmony_ci#define DRM_IOCTL_QXL_ALLOC_SURF \ 9722851890Sopenharmony_ci DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF,\ 9822851890Sopenharmony_ci struct drm_qxl_alloc_surf) 9922851890Sopenharmony_ci#if defined(__cplusplus) 10022851890Sopenharmony_ci} 10122851890Sopenharmony_ci#endif 10222851890Sopenharmony_ci#endif 103