1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef __UAPI_IVPU_DRM_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __UAPI_IVPU_DRM_H__ 9*8d67ca89SAndroid Build Coastguard Worker #include "drm.h" 10*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 11*8d67ca89SAndroid Build Coastguard Worker extern "C" { 12*8d67ca89SAndroid Build Coastguard Worker #endif 13*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_DRIVER_MAJOR 1 14*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_DRIVER_MINOR 0 15*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_GET_PARAM 0x00 16*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_SET_PARAM 0x01 17*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_CREATE 0x02 18*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_INFO 0x03 19*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_SUBMIT 0x05 20*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_WAIT 0x06 21*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_METRIC_STREAMER_START 0x07 22*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_METRIC_STREAMER_STOP 0x08 23*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_METRIC_STREAMER_GET_DATA 0x09 24*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_METRIC_STREAMER_GET_INFO 0x0a 25*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_GET_PARAM, struct drm_ivpu_param) 26*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_SET_PARAM DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_SET_PARAM, struct drm_ivpu_param) 27*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_BO_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_CREATE, struct drm_ivpu_bo_create) 28*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_BO_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_INFO, struct drm_ivpu_bo_info) 29*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_SUBMIT DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_SUBMIT, struct drm_ivpu_submit) 30*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_BO_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_BO_WAIT, struct drm_ivpu_bo_wait) 31*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_METRIC_STREAMER_START DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_START, struct drm_ivpu_metric_streamer_start) 32*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_METRIC_STREAMER_STOP DRM_IOW(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_STOP, struct drm_ivpu_metric_streamer_stop) 33*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_DATA DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_DATA, struct drm_ivpu_metric_streamer_get_data) 34*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_IVPU_METRIC_STREAMER_GET_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_IVPU_METRIC_STREAMER_GET_INFO, struct drm_ivpu_metric_streamer_get_data) 35*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_DEVICE_ID 0 36*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_DEVICE_REVISION 1 37*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_PLATFORM_TYPE 2 38*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_CORE_CLOCK_RATE 3 39*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_NUM_CONTEXTS 4 40*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_CONTEXT_BASE_ADDRESS 5 41*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_CONTEXT_PRIORITY 6 42*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_CONTEXT_ID 7 43*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_FW_API_VERSION 8 44*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_ENGINE_HEARTBEAT 9 45*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_UNIQUE_INFERENCE_ID 10 46*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_TILE_CONFIG 11 47*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_SKU 12 48*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PARAM_CAPABILITIES 13 49*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_PLATFORM_TYPE_SILICON 0 50*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CONTEXT_PRIORITY_IDLE 0 51*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CONTEXT_PRIORITY_NORMAL 1 52*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CONTEXT_PRIORITY_FOCUS 2 53*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CONTEXT_PRIORITY_REALTIME 3 54*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_PRIORITY_DEFAULT 0 55*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_PRIORITY_IDLE 1 56*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_PRIORITY_NORMAL 2 57*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_PRIORITY_FOCUS 3 58*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_PRIORITY_REALTIME 4 59*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CAP_METRIC_STREAMER 1 60*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_CAP_DMA_MEMORY_RANGE 2 61*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_param { 62*8d67ca89SAndroid Build Coastguard Worker __u32 param; 63*8d67ca89SAndroid Build Coastguard Worker __u32 index; 64*8d67ca89SAndroid Build Coastguard Worker __u64 value; 65*8d67ca89SAndroid Build Coastguard Worker }; 66*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_SHAVE_MEM 0x00000001 67*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_HIGH_MEM DRM_IVPU_BO_SHAVE_MEM 68*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_MAPPABLE 0x00000002 69*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_DMA_MEM 0x00000004 70*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_CACHED 0x00000000 71*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_UNCACHED 0x00010000 72*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_WC 0x00020000 73*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_CACHE_MASK 0x00030000 74*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_BO_FLAGS (DRM_IVPU_BO_HIGH_MEM | DRM_IVPU_BO_MAPPABLE | DRM_IVPU_BO_DMA_MEM | DRM_IVPU_BO_CACHE_MASK) 75*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_bo_create { 76*8d67ca89SAndroid Build Coastguard Worker __u64 size; 77*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 78*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 79*8d67ca89SAndroid Build Coastguard Worker __u64 vpu_addr; 80*8d67ca89SAndroid Build Coastguard Worker }; 81*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_bo_info { 82*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 83*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 84*8d67ca89SAndroid Build Coastguard Worker __u64 vpu_addr; 85*8d67ca89SAndroid Build Coastguard Worker __u64 mmap_offset; 86*8d67ca89SAndroid Build Coastguard Worker __u64 size; 87*8d67ca89SAndroid Build Coastguard Worker }; 88*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_ENGINE_COMPUTE 0 89*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_ENGINE_COPY 1 90*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_submit { 91*8d67ca89SAndroid Build Coastguard Worker __u64 buffers_ptr; 92*8d67ca89SAndroid Build Coastguard Worker __u32 buffer_count; 93*8d67ca89SAndroid Build Coastguard Worker __u32 engine; 94*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 95*8d67ca89SAndroid Build Coastguard Worker __u32 commands_offset; 96*8d67ca89SAndroid Build Coastguard Worker __u32 priority; 97*8d67ca89SAndroid Build Coastguard Worker }; 98*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_STATUS_SUCCESS 0 99*8d67ca89SAndroid Build Coastguard Worker #define DRM_IVPU_JOB_STATUS_ABORTED 256 100*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_bo_wait { 101*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 102*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 103*8d67ca89SAndroid Build Coastguard Worker __s64 timeout_ns; 104*8d67ca89SAndroid Build Coastguard Worker __u32 job_status; 105*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 106*8d67ca89SAndroid Build Coastguard Worker }; 107*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_metric_streamer_start { 108*8d67ca89SAndroid Build Coastguard Worker __u64 metric_group_mask; 109*8d67ca89SAndroid Build Coastguard Worker __u64 sampling_period_ns; 110*8d67ca89SAndroid Build Coastguard Worker __u32 read_period_samples; 111*8d67ca89SAndroid Build Coastguard Worker __u32 sample_size; 112*8d67ca89SAndroid Build Coastguard Worker __u32 max_data_size; 113*8d67ca89SAndroid Build Coastguard Worker }; 114*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_metric_streamer_get_data { 115*8d67ca89SAndroid Build Coastguard Worker __u64 metric_group_mask; 116*8d67ca89SAndroid Build Coastguard Worker __u64 buffer_ptr; 117*8d67ca89SAndroid Build Coastguard Worker __u64 buffer_size; 118*8d67ca89SAndroid Build Coastguard Worker __u64 data_size; 119*8d67ca89SAndroid Build Coastguard Worker }; 120*8d67ca89SAndroid Build Coastguard Worker struct drm_ivpu_metric_streamer_stop { 121*8d67ca89SAndroid Build Coastguard Worker __u64 metric_group_mask; 122*8d67ca89SAndroid Build Coastguard Worker }; 123*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 124*8d67ca89SAndroid Build Coastguard Worker } 125*8d67ca89SAndroid Build Coastguard Worker #endif 126*8d67ca89SAndroid Build Coastguard Worker #endif 127