1/* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6#ifndef _V3D_DRM_H_ 7#define _V3D_DRM_H_ 8#include "drm.h" 9#if defined(__cplusplus) 10extern "C" { 11#endif 12#define DRM_V3D_SUBMIT_CL 0x00 13#define DRM_V3D_WAIT_BO 0x01 14#define DRM_V3D_CREATE_BO 0x02 15#define DRM_V3D_MMAP_BO 0x03 16#define DRM_V3D_GET_PARAM 0x04 17#define DRM_V3D_GET_BO_OFFSET 0x05 18#define DRM_IOCTL_V3D_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_SUBMIT_CL, struct drm_v3d_submit_cl) 19#define DRM_IOCTL_V3D_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_WAIT_BO, struct drm_v3d_wait_bo) 20#define DRM_IOCTL_V3D_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_CREATE_BO, struct drm_v3d_create_bo) 21#define DRM_IOCTL_V3D_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_MMAP_BO, struct drm_v3d_mmap_bo) 22#define DRM_IOCTL_V3D_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_PARAM, struct drm_v3d_get_param) 23#define DRM_IOCTL_V3D_GET_BO_OFFSET DRM_IOWR(DRM_COMMAND_BASE + DRM_V3D_GET_BO_OFFSET, struct drm_v3d_get_bo_offset) 24struct drm_v3d_submit_cl { 25 26 __u32 bcl_start; 27 28 __u32 bcl_end; 29 30 __u32 rcl_start; 31 32 __u32 rcl_end; 33 34 __u32 in_sync_bcl; 35 36 __u32 in_sync_rcl; 37 38 __u32 out_sync; 39 40 __u32 qma; 41 42 __u32 qms; 43 44 __u32 qts; 45 46 __u64 bo_handles; 47 48 __u32 bo_handle_count; 49 50 __u32 pad; 51}; 52struct drm_v3d_wait_bo { 53 __u32 handle; 54 __u32 pad; 55 __u64 timeout_ns; 56}; 57struct drm_v3d_create_bo { 58 __u32 size; 59 __u32 flags; 60 61 __u32 handle; 62 63 __u32 offset; 64}; 65struct drm_v3d_mmap_bo { 66 67 __u32 handle; 68 __u32 flags; 69 70 __u64 offset; 71}; 72enum drm_v3d_param { 73 DRM_V3D_PARAM_V3D_UIFCFG, 74 DRM_V3D_PARAM_V3D_HUB_IDENT1, 75 DRM_V3D_PARAM_V3D_HUB_IDENT2, 76 DRM_V3D_PARAM_V3D_HUB_IDENT3, 77 DRM_V3D_PARAM_V3D_CORE0_IDENT0, 78 DRM_V3D_PARAM_V3D_CORE0_IDENT1, 79 DRM_V3D_PARAM_V3D_CORE0_IDENT2, 80}; 81struct drm_v3d_get_param { 82 __u32 param; 83 __u32 pad; 84 __u64 value; 85}; 86struct drm_v3d_get_bo_offset { 87 __u32 handle; 88 __u32 offset; 89}; 90#if defined(__cplusplus) 91} 92#endif 93#endif 94