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 __AMDGPU_DRM_H__ 8*8d67ca89SAndroid Build Coastguard Worker #define __AMDGPU_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_AMDGPU_GEM_CREATE 0x00 14*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_MMAP 0x01 15*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_CTX 0x02 16*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_BO_LIST 0x03 17*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_CS 0x04 18*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_INFO 0x05 19*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_METADATA 0x06 20*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_WAIT_IDLE 0x07 21*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_VA 0x08 22*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_WAIT_CS 0x09 23*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_OP 0x10 24*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_GEM_USERPTR 0x11 25*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_WAIT_FENCES 0x12 26*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_VM 0x13 27*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_FENCE_TO_HANDLE 0x14 28*8d67ca89SAndroid Build Coastguard Worker #define DRM_AMDGPU_SCHED 0x15 29*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create) 30*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_MMAP, union drm_amdgpu_gem_mmap) 31*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_CTX DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CTX, union drm_amdgpu_ctx) 32*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_BO_LIST DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_BO_LIST, union drm_amdgpu_bo_list) 33*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CS, union drm_amdgpu_cs) 34*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_INFO DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_INFO, struct drm_amdgpu_info) 35*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_METADATA DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_METADATA, struct drm_amdgpu_gem_metadata) 36*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_WAIT_IDLE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_WAIT_IDLE, union drm_amdgpu_gem_wait_idle) 37*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_VA DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_VA, struct drm_amdgpu_gem_va) 38*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_WAIT_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_CS, union drm_amdgpu_wait_cs) 39*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op) 40*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr) 41*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_WAIT_FENCES DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_FENCES, union drm_amdgpu_wait_fences) 42*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_VM DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_VM, union drm_amdgpu_vm) 43*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_FENCE_TO_HANDLE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_FENCE_TO_HANDLE, union drm_amdgpu_fence_to_handle) 44*8d67ca89SAndroid Build Coastguard Worker #define DRM_IOCTL_AMDGPU_SCHED DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_SCHED, union drm_amdgpu_sched) 45*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_CPU 0x1 46*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_GTT 0x2 47*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_VRAM 0x4 48*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_GDS 0x8 49*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_GWS 0x10 50*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_OA 0x20 51*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_DOORBELL 0x40 52*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_DOMAIN_MASK (AMDGPU_GEM_DOMAIN_CPU | AMDGPU_GEM_DOMAIN_GTT | AMDGPU_GEM_DOMAIN_VRAM | AMDGPU_GEM_DOMAIN_GDS | AMDGPU_GEM_DOMAIN_GWS | AMDGPU_GEM_DOMAIN_OA | AMDGPU_GEM_DOMAIN_DOORBELL) 53*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED (1 << 0) 54*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_NO_CPU_ACCESS (1 << 1) 55*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_CPU_GTT_USWC (1 << 2) 56*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_VRAM_CLEARED (1 << 3) 57*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS (1 << 5) 58*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_VM_ALWAYS_VALID (1 << 6) 59*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_EXPLICIT_SYNC (1 << 7) 60*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_CP_MQD_GFX9 (1 << 8) 61*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_VRAM_WIPE_ON_RELEASE (1 << 9) 62*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_ENCRYPTED (1 << 10) 63*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_PREEMPTIBLE (1 << 11) 64*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_DISCARDABLE (1 << 12) 65*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_COHERENT (1 << 13) 66*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_UNCACHED (1 << 14) 67*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_EXT_COHERENT (1 << 15) 68*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_CREATE_GFX12_DCC (1 << 16) 69*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_create_in { 70*8d67ca89SAndroid Build Coastguard Worker __u64 bo_size; 71*8d67ca89SAndroid Build Coastguard Worker __u64 alignment; 72*8d67ca89SAndroid Build Coastguard Worker __u64 domains; 73*8d67ca89SAndroid Build Coastguard Worker __u64 domain_flags; 74*8d67ca89SAndroid Build Coastguard Worker }; 75*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_create_out { 76*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 77*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 78*8d67ca89SAndroid Build Coastguard Worker }; 79*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_gem_create { 80*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_create_in in; 81*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_create_out out; 82*8d67ca89SAndroid Build Coastguard Worker }; 83*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_BO_LIST_OP_CREATE 0 84*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_BO_LIST_OP_DESTROY 1 85*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_BO_LIST_OP_UPDATE 2 86*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_bo_list_in { 87*8d67ca89SAndroid Build Coastguard Worker __u32 operation; 88*8d67ca89SAndroid Build Coastguard Worker __u32 list_handle; 89*8d67ca89SAndroid Build Coastguard Worker __u32 bo_number; 90*8d67ca89SAndroid Build Coastguard Worker __u32 bo_info_size; 91*8d67ca89SAndroid Build Coastguard Worker __u64 bo_info_ptr; 92*8d67ca89SAndroid Build Coastguard Worker }; 93*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_bo_list_entry { 94*8d67ca89SAndroid Build Coastguard Worker __u32 bo_handle; 95*8d67ca89SAndroid Build Coastguard Worker __u32 bo_priority; 96*8d67ca89SAndroid Build Coastguard Worker }; 97*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_bo_list_out { 98*8d67ca89SAndroid Build Coastguard Worker __u32 list_handle; 99*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 100*8d67ca89SAndroid Build Coastguard Worker }; 101*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_bo_list { 102*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_bo_list_in in; 103*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_bo_list_out out; 104*8d67ca89SAndroid Build Coastguard Worker }; 105*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_ALLOC_CTX 1 106*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_FREE_CTX 2 107*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_QUERY_STATE 3 108*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_QUERY_STATE2 4 109*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_GET_STABLE_PSTATE 5 110*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_OP_SET_STABLE_PSTATE 6 111*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_NO_RESET 0 112*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_GUILTY_RESET 1 113*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_INNOCENT_RESET 2 114*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_UNKNOWN_RESET 3 115*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_RESET (1 << 0) 116*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_VRAMLOST (1 << 1) 117*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_GUILTY (1 << 2) 118*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_RAS_CE (1 << 3) 119*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_RAS_UE (1 << 4) 120*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_QUERY2_FLAGS_RESET_IN_PROGRESS (1 << 5) 121*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_UNSET - 2048 122*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_VERY_LOW - 1023 123*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_LOW - 512 124*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_NORMAL 0 125*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_HIGH 512 126*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_PRIORITY_VERY_HIGH 1023 127*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_FLAGS_MASK 0xf 128*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_NONE 0 129*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_STANDARD 1 130*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_MIN_SCLK 2 131*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_MIN_MCLK 3 132*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CTX_STABLE_PSTATE_PEAK 4 133*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_ctx_in { 134*8d67ca89SAndroid Build Coastguard Worker __u32 op; 135*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 136*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 137*8d67ca89SAndroid Build Coastguard Worker __s32 priority; 138*8d67ca89SAndroid Build Coastguard Worker }; 139*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_ctx_out { 140*8d67ca89SAndroid Build Coastguard Worker struct { 141*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 142*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 143*8d67ca89SAndroid Build Coastguard Worker } alloc; 144*8d67ca89SAndroid Build Coastguard Worker struct { 145*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 146*8d67ca89SAndroid Build Coastguard Worker __u32 hangs; 147*8d67ca89SAndroid Build Coastguard Worker __u32 reset_status; 148*8d67ca89SAndroid Build Coastguard Worker } state; 149*8d67ca89SAndroid Build Coastguard Worker struct { 150*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 151*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 152*8d67ca89SAndroid Build Coastguard Worker } pstate; 153*8d67ca89SAndroid Build Coastguard Worker }; 154*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_ctx { 155*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_ctx_in in; 156*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_ctx_out out; 157*8d67ca89SAndroid Build Coastguard Worker }; 158*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_OP_RESERVE_VMID 1 159*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_OP_UNRESERVE_VMID 2 160*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_vm_in { 161*8d67ca89SAndroid Build Coastguard Worker __u32 op; 162*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 163*8d67ca89SAndroid Build Coastguard Worker }; 164*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_vm_out { 165*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 166*8d67ca89SAndroid Build Coastguard Worker }; 167*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_vm { 168*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_vm_in in; 169*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_vm_out out; 170*8d67ca89SAndroid Build Coastguard Worker }; 171*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_SCHED_OP_PROCESS_PRIORITY_OVERRIDE 1 172*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_SCHED_OP_CONTEXT_PRIORITY_OVERRIDE 2 173*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_sched_in { 174*8d67ca89SAndroid Build Coastguard Worker __u32 op; 175*8d67ca89SAndroid Build Coastguard Worker __u32 fd; 176*8d67ca89SAndroid Build Coastguard Worker __s32 priority; 177*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 178*8d67ca89SAndroid Build Coastguard Worker }; 179*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_sched { 180*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_sched_in in; 181*8d67ca89SAndroid Build Coastguard Worker }; 182*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_USERPTR_READONLY (1 << 0) 183*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_USERPTR_ANONONLY (1 << 1) 184*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_USERPTR_VALIDATE (1 << 2) 185*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_USERPTR_REGISTER (1 << 3) 186*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_userptr { 187*8d67ca89SAndroid Build Coastguard Worker __u64 addr; 188*8d67ca89SAndroid Build Coastguard Worker __u64 size; 189*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 190*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 191*8d67ca89SAndroid Build Coastguard Worker }; 192*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_ARRAY_MODE_SHIFT 0 193*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_ARRAY_MODE_MASK 0xf 194*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_PIPE_CONFIG_SHIFT 4 195*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_PIPE_CONFIG_MASK 0x1f 196*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_TILE_SPLIT_SHIFT 9 197*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_TILE_SPLIT_MASK 0x7 198*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_MICRO_TILE_MODE_SHIFT 12 199*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_MICRO_TILE_MODE_MASK 0x7 200*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_BANK_WIDTH_SHIFT 15 201*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_BANK_WIDTH_MASK 0x3 202*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_BANK_HEIGHT_SHIFT 17 203*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_BANK_HEIGHT_MASK 0x3 204*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_MACRO_TILE_ASPECT_SHIFT 19 205*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_MACRO_TILE_ASPECT_MASK 0x3 206*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_NUM_BANKS_SHIFT 21 207*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_NUM_BANKS_MASK 0x3 208*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_SWIZZLE_MODE_SHIFT 0 209*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_SWIZZLE_MODE_MASK 0x1f 210*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_OFFSET_256B_SHIFT 5 211*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_OFFSET_256B_MASK 0xFFFFFF 212*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_PITCH_MAX_SHIFT 29 213*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_PITCH_MAX_MASK 0x3FFF 214*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_INDEPENDENT_64B_SHIFT 43 215*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_INDEPENDENT_64B_MASK 0x1 216*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_INDEPENDENT_128B_SHIFT 44 217*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_DCC_INDEPENDENT_128B_MASK 0x1 218*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_SCANOUT_SHIFT 63 219*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_SCANOUT_MASK 0x1 220*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_SWIZZLE_MODE_SHIFT 0 221*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_SWIZZLE_MODE_MASK 0x7 222*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_SHIFT 3 223*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_MAX_COMPRESSED_BLOCK_MASK 0x3 224*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_SHIFT 5 225*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_NUMBER_TYPE_MASK 0x7 226*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_SHIFT 8 227*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GFX12_DCC_DATA_FORMAT_MASK 0x3f 228*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_SET(field,value) (((__u64) (value) & AMDGPU_TILING_ ##field ##_MASK) << AMDGPU_TILING_ ##field ##_SHIFT) 229*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_TILING_GET(value,field) (((__u64) (value) >> AMDGPU_TILING_ ##field ##_SHIFT) & AMDGPU_TILING_ ##field ##_MASK) 230*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_METADATA_OP_SET_METADATA 1 231*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_METADATA_OP_GET_METADATA 2 232*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_metadata { 233*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 234*8d67ca89SAndroid Build Coastguard Worker __u32 op; 235*8d67ca89SAndroid Build Coastguard Worker struct { 236*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 237*8d67ca89SAndroid Build Coastguard Worker __u64 tiling_info; 238*8d67ca89SAndroid Build Coastguard Worker __u32 data_size_bytes; 239*8d67ca89SAndroid Build Coastguard Worker __u32 data[64]; 240*8d67ca89SAndroid Build Coastguard Worker } data; 241*8d67ca89SAndroid Build Coastguard Worker }; 242*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_mmap_in { 243*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 244*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 245*8d67ca89SAndroid Build Coastguard Worker }; 246*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_mmap_out { 247*8d67ca89SAndroid Build Coastguard Worker __u64 addr_ptr; 248*8d67ca89SAndroid Build Coastguard Worker }; 249*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_gem_mmap { 250*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_mmap_in in; 251*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_mmap_out out; 252*8d67ca89SAndroid Build Coastguard Worker }; 253*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_wait_idle_in { 254*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 255*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 256*8d67ca89SAndroid Build Coastguard Worker __u64 timeout; 257*8d67ca89SAndroid Build Coastguard Worker }; 258*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_wait_idle_out { 259*8d67ca89SAndroid Build Coastguard Worker __u32 status; 260*8d67ca89SAndroid Build Coastguard Worker __u32 domain; 261*8d67ca89SAndroid Build Coastguard Worker }; 262*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_gem_wait_idle { 263*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_wait_idle_in in; 264*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_wait_idle_out out; 265*8d67ca89SAndroid Build Coastguard Worker }; 266*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_cs_in { 267*8d67ca89SAndroid Build Coastguard Worker __u64 handle; 268*8d67ca89SAndroid Build Coastguard Worker __u64 timeout; 269*8d67ca89SAndroid Build Coastguard Worker __u32 ip_type; 270*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 271*8d67ca89SAndroid Build Coastguard Worker __u32 ring; 272*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 273*8d67ca89SAndroid Build Coastguard Worker }; 274*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_cs_out { 275*8d67ca89SAndroid Build Coastguard Worker __u64 status; 276*8d67ca89SAndroid Build Coastguard Worker }; 277*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_wait_cs { 278*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_cs_in in; 279*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_cs_out out; 280*8d67ca89SAndroid Build Coastguard Worker }; 281*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_fence { 282*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 283*8d67ca89SAndroid Build Coastguard Worker __u32 ip_type; 284*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 285*8d67ca89SAndroid Build Coastguard Worker __u32 ring; 286*8d67ca89SAndroid Build Coastguard Worker __u64 seq_no; 287*8d67ca89SAndroid Build Coastguard Worker }; 288*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_fences_in { 289*8d67ca89SAndroid Build Coastguard Worker __u64 fences; 290*8d67ca89SAndroid Build Coastguard Worker __u32 fence_count; 291*8d67ca89SAndroid Build Coastguard Worker __u32 wait_all; 292*8d67ca89SAndroid Build Coastguard Worker __u64 timeout_ns; 293*8d67ca89SAndroid Build Coastguard Worker }; 294*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_fences_out { 295*8d67ca89SAndroid Build Coastguard Worker __u32 status; 296*8d67ca89SAndroid Build Coastguard Worker __u32 first_signaled; 297*8d67ca89SAndroid Build Coastguard Worker }; 298*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_wait_fences { 299*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_fences_in in; 300*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_wait_fences_out out; 301*8d67ca89SAndroid Build Coastguard Worker }; 302*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_OP_GET_GEM_CREATE_INFO 0 303*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_GEM_OP_SET_PLACEMENT 1 304*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_op { 305*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 306*8d67ca89SAndroid Build Coastguard Worker __u32 op; 307*8d67ca89SAndroid Build Coastguard Worker __u64 value; 308*8d67ca89SAndroid Build Coastguard Worker }; 309*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VA_OP_MAP 1 310*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VA_OP_UNMAP 2 311*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VA_OP_CLEAR 3 312*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VA_OP_REPLACE 4 313*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_DELAY_UPDATE (1 << 0) 314*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_PAGE_READABLE (1 << 1) 315*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_PAGE_WRITEABLE (1 << 2) 316*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_PAGE_EXECUTABLE (1 << 3) 317*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_PAGE_PRT (1 << 4) 318*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_MASK (0xf << 5) 319*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_DEFAULT (0 << 5) 320*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_NC (1 << 5) 321*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_WC (2 << 5) 322*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_CC (3 << 5) 323*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_UC (4 << 5) 324*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_MTYPE_RW (5 << 5) 325*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VM_PAGE_NOALLOC (1 << 9) 326*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_gem_va { 327*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 328*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 329*8d67ca89SAndroid Build Coastguard Worker __u32 operation; 330*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 331*8d67ca89SAndroid Build Coastguard Worker __u64 va_address; 332*8d67ca89SAndroid Build Coastguard Worker __u64 offset_in_bo; 333*8d67ca89SAndroid Build Coastguard Worker __u64 map_size; 334*8d67ca89SAndroid Build Coastguard Worker }; 335*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_GFX 0 336*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_COMPUTE 1 337*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_DMA 2 338*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_UVD 3 339*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_VCE 4 340*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_UVD_ENC 5 341*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_VCN_DEC 6 342*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_VCN_ENC 7 343*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_VCN_JPEG 8 344*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_VPE 9 345*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_NUM 10 346*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1 347*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_IB 0x01 348*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_FENCE 0x02 349*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03 350*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_SYNCOBJ_IN 0x04 351*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_SYNCOBJ_OUT 0x05 352*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_BO_HANDLES 0x06 353*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_SCHEDULED_DEPENDENCIES 0x07 354*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_WAIT 0x08 355*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_SYNCOBJ_TIMELINE_SIGNAL 0x09 356*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CHUNK_ID_CP_GFX_SHADOW 0x0a 357*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk { 358*8d67ca89SAndroid Build Coastguard Worker __u32 chunk_id; 359*8d67ca89SAndroid Build Coastguard Worker __u32 length_dw; 360*8d67ca89SAndroid Build Coastguard Worker __u64 chunk_data; 361*8d67ca89SAndroid Build Coastguard Worker }; 362*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_in { 363*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 364*8d67ca89SAndroid Build Coastguard Worker __u32 bo_list_handle; 365*8d67ca89SAndroid Build Coastguard Worker __u32 num_chunks; 366*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 367*8d67ca89SAndroid Build Coastguard Worker __u64 chunks; 368*8d67ca89SAndroid Build Coastguard Worker }; 369*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_out { 370*8d67ca89SAndroid Build Coastguard Worker __u64 handle; 371*8d67ca89SAndroid Build Coastguard Worker }; 372*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_cs { 373*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_in in; 374*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_out out; 375*8d67ca89SAndroid Build Coastguard Worker }; 376*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_CE (1 << 0) 377*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_PREAMBLE (1 << 1) 378*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_PREEMPT (1 << 2) 379*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_TC_WB_NOT_INVALIDATE (1 << 3) 380*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_RESET_GDS_MAX_WAVE_ID (1 << 4) 381*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAGS_SECURE (1 << 5) 382*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IB_FLAG_EMIT_MEM_SYNC (1 << 6) 383*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_ib { 384*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 385*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 386*8d67ca89SAndroid Build Coastguard Worker __u64 va_start; 387*8d67ca89SAndroid Build Coastguard Worker __u32 ib_bytes; 388*8d67ca89SAndroid Build Coastguard Worker __u32 ip_type; 389*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 390*8d67ca89SAndroid Build Coastguard Worker __u32 ring; 391*8d67ca89SAndroid Build Coastguard Worker }; 392*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_dep { 393*8d67ca89SAndroid Build Coastguard Worker __u32 ip_type; 394*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 395*8d67ca89SAndroid Build Coastguard Worker __u32 ring; 396*8d67ca89SAndroid Build Coastguard Worker __u32 ctx_id; 397*8d67ca89SAndroid Build Coastguard Worker __u64 handle; 398*8d67ca89SAndroid Build Coastguard Worker }; 399*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_fence { 400*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 401*8d67ca89SAndroid Build Coastguard Worker __u32 offset; 402*8d67ca89SAndroid Build Coastguard Worker }; 403*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_sem { 404*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 405*8d67ca89SAndroid Build Coastguard Worker }; 406*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_syncobj { 407*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 408*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 409*8d67ca89SAndroid Build Coastguard Worker __u64 point; 410*8d67ca89SAndroid Build Coastguard Worker }; 411*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ 0 412*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FENCE_TO_HANDLE_GET_SYNCOBJ_FD 1 413*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FENCE_TO_HANDLE_GET_SYNC_FILE_FD 2 414*8d67ca89SAndroid Build Coastguard Worker union drm_amdgpu_fence_to_handle { 415*8d67ca89SAndroid Build Coastguard Worker struct { 416*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_fence fence; 417*8d67ca89SAndroid Build Coastguard Worker __u32 what; 418*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 419*8d67ca89SAndroid Build Coastguard Worker } in; 420*8d67ca89SAndroid Build Coastguard Worker struct { 421*8d67ca89SAndroid Build Coastguard Worker __u32 handle; 422*8d67ca89SAndroid Build Coastguard Worker } out; 423*8d67ca89SAndroid Build Coastguard Worker }; 424*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_data { 425*8d67ca89SAndroid Build Coastguard Worker union { 426*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_ib ib_data; 427*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_fence fence_data; 428*8d67ca89SAndroid Build Coastguard Worker }; 429*8d67ca89SAndroid Build Coastguard Worker }; 430*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_CS_CHUNK_CP_GFX_SHADOW_FLAGS_INIT_SHADOW 0x1 431*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_cs_chunk_cp_gfx_shadow { 432*8d67ca89SAndroid Build Coastguard Worker __u64 shadow_va; 433*8d67ca89SAndroid Build Coastguard Worker __u64 csa_va; 434*8d67ca89SAndroid Build Coastguard Worker __u64 gds_va; 435*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 436*8d67ca89SAndroid Build Coastguard Worker }; 437*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IDS_FLAGS_FUSION 0x1 438*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IDS_FLAGS_PREEMPTION 0x2 439*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IDS_FLAGS_TMZ 0x4 440*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_IDS_FLAGS_CONFORMANT_TRUNC_COORD 0x8 441*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_ACCEL_WORKING 0x00 442*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_CRTC_FROM_ID 0x01 443*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_HW_IP_INFO 0x02 444*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_HW_IP_COUNT 0x03 445*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_TIMESTAMP 0x05 446*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_VERSION 0x0e 447*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_VCE 0x1 448*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_UVD 0x2 449*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GMC 0x03 450*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_ME 0x04 451*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_PFP 0x05 452*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_CE 0x06 453*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLC 0x07 454*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_MEC 0x08 455*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_SMC 0x0a 456*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_SDMA 0x0b 457*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_SOS 0x0c 458*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_ASD 0x0d 459*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_VCN 0x0e 460*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_CNTL 0x0f 461*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_GPM_MEM 0x10 462*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLC_RESTORE_LIST_SRM_MEM 0x11 463*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_DMCU 0x12 464*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_TA 0x13 465*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_DMCUB 0x14 466*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_TOC 0x15 467*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_CAP 0x16 468*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLCP 0x17 469*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_GFX_RLCV 0x18 470*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_MES_KIQ 0x19 471*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_MES 0x1a 472*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_IMU 0x1b 473*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_FW_VPE 0x1c 474*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f 475*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VRAM_USAGE 0x10 476*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_GTT_USAGE 0x11 477*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_GDS_CONFIG 0x13 478*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VRAM_GTT 0x14 479*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_READ_MMR_REG 0x15 480*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_DEV_INFO 0x16 481*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIS_VRAM_USAGE 0x17 482*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_NUM_EVICTIONS 0x18 483*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MEMORY 0x19 484*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VCE_CLOCK_TABLE 0x1A 485*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VBIOS 0x1B 486*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VBIOS_SIZE 0x1 487*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VBIOS_IMAGE 0x2 488*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VBIOS_INFO 0x3 489*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_NUM_HANDLES 0x1C 490*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR 0x1D 491*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GFX_SCLK 0x1 492*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GFX_MCLK 0x2 493*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GPU_TEMP 0x3 494*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GPU_LOAD 0x4 495*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GPU_AVG_POWER 0x5 496*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_VDDNB 0x6 497*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_VDDGFX 0x7 498*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_SCLK 0x8 499*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_STABLE_PSTATE_GFX_MCLK 0x9 500*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_SCLK 0xa 501*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_PEAK_PSTATE_GFX_MCLK 0xb 502*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_SENSOR_GPU_INPUT_POWER 0xc 503*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_NUM_VRAM_CPU_PAGE_FAULTS 0x1E 504*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VRAM_LOST_COUNTER 0x1F 505*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_FEATURES 0x20 506*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_UMC (1 << 0) 507*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_SDMA (1 << 1) 508*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_GFX (1 << 2) 509*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_MMHUB (1 << 3) 510*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_ATHUB (1 << 4) 511*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_PCIE (1 << 5) 512*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_HDP (1 << 6) 513*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_XGMI (1 << 7) 514*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_DF (1 << 8) 515*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_SMN (1 << 9) 516*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_SEM (1 << 10) 517*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_MP0 (1 << 11) 518*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_MP1 (1 << 12) 519*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_RAS_ENABLED_FUSE (1 << 13) 520*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS 0x21 521*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_DECODE 0 522*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_ENCODE 1 523*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MAX_IBS 0x22 524*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_GPUVM_FAULT 0x23 525*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0 526*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff 527*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MMR_SH_INDEX_SHIFT 8 528*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_MMR_SH_INDEX_MASK 0xff 529*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_query_fw { 530*8d67ca89SAndroid Build Coastguard Worker __u32 fw_type; 531*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 532*8d67ca89SAndroid Build Coastguard Worker __u32 index; 533*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 534*8d67ca89SAndroid Build Coastguard Worker }; 535*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info { 536*8d67ca89SAndroid Build Coastguard Worker __u64 return_pointer; 537*8d67ca89SAndroid Build Coastguard Worker __u32 return_size; 538*8d67ca89SAndroid Build Coastguard Worker __u32 query; 539*8d67ca89SAndroid Build Coastguard Worker union { 540*8d67ca89SAndroid Build Coastguard Worker struct { 541*8d67ca89SAndroid Build Coastguard Worker __u32 id; 542*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 543*8d67ca89SAndroid Build Coastguard Worker } mode_crtc; 544*8d67ca89SAndroid Build Coastguard Worker struct { 545*8d67ca89SAndroid Build Coastguard Worker __u32 type; 546*8d67ca89SAndroid Build Coastguard Worker __u32 ip_instance; 547*8d67ca89SAndroid Build Coastguard Worker } query_hw_ip; 548*8d67ca89SAndroid Build Coastguard Worker struct { 549*8d67ca89SAndroid Build Coastguard Worker __u32 dword_offset; 550*8d67ca89SAndroid Build Coastguard Worker __u32 count; 551*8d67ca89SAndroid Build Coastguard Worker __u32 instance; 552*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 553*8d67ca89SAndroid Build Coastguard Worker } read_mmr_reg; 554*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_query_fw query_fw; 555*8d67ca89SAndroid Build Coastguard Worker struct { 556*8d67ca89SAndroid Build Coastguard Worker __u32 type; 557*8d67ca89SAndroid Build Coastguard Worker __u32 offset; 558*8d67ca89SAndroid Build Coastguard Worker } vbios_info; 559*8d67ca89SAndroid Build Coastguard Worker struct { 560*8d67ca89SAndroid Build Coastguard Worker __u32 type; 561*8d67ca89SAndroid Build Coastguard Worker } sensor_info; 562*8d67ca89SAndroid Build Coastguard Worker struct { 563*8d67ca89SAndroid Build Coastguard Worker __u32 type; 564*8d67ca89SAndroid Build Coastguard Worker } video_cap; 565*8d67ca89SAndroid Build Coastguard Worker }; 566*8d67ca89SAndroid Build Coastguard Worker }; 567*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_gds { 568*8d67ca89SAndroid Build Coastguard Worker __u32 gds_gfx_partition_size; 569*8d67ca89SAndroid Build Coastguard Worker __u32 compute_partition_size; 570*8d67ca89SAndroid Build Coastguard Worker __u32 gds_total_size; 571*8d67ca89SAndroid Build Coastguard Worker __u32 gws_per_gfx_partition; 572*8d67ca89SAndroid Build Coastguard Worker __u32 gws_per_compute_partition; 573*8d67ca89SAndroid Build Coastguard Worker __u32 oa_per_gfx_partition; 574*8d67ca89SAndroid Build Coastguard Worker __u32 oa_per_compute_partition; 575*8d67ca89SAndroid Build Coastguard Worker __u32 _pad; 576*8d67ca89SAndroid Build Coastguard Worker }; 577*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_vram_gtt { 578*8d67ca89SAndroid Build Coastguard Worker __u64 vram_size; 579*8d67ca89SAndroid Build Coastguard Worker __u64 vram_cpu_accessible_size; 580*8d67ca89SAndroid Build Coastguard Worker __u64 gtt_size; 581*8d67ca89SAndroid Build Coastguard Worker }; 582*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_heap_info { 583*8d67ca89SAndroid Build Coastguard Worker __u64 total_heap_size; 584*8d67ca89SAndroid Build Coastguard Worker __u64 usable_heap_size; 585*8d67ca89SAndroid Build Coastguard Worker __u64 heap_usage; 586*8d67ca89SAndroid Build Coastguard Worker __u64 max_allocation; 587*8d67ca89SAndroid Build Coastguard Worker }; 588*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_memory_info { 589*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_heap_info vram; 590*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_heap_info cpu_accessible_vram; 591*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_heap_info gtt; 592*8d67ca89SAndroid Build Coastguard Worker }; 593*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_firmware { 594*8d67ca89SAndroid Build Coastguard Worker __u32 ver; 595*8d67ca89SAndroid Build Coastguard Worker __u32 feature; 596*8d67ca89SAndroid Build Coastguard Worker }; 597*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_vbios { 598*8d67ca89SAndroid Build Coastguard Worker __u8 name[64]; 599*8d67ca89SAndroid Build Coastguard Worker __u8 vbios_pn[64]; 600*8d67ca89SAndroid Build Coastguard Worker __u32 version; 601*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 602*8d67ca89SAndroid Build Coastguard Worker __u8 vbios_ver_str[32]; 603*8d67ca89SAndroid Build Coastguard Worker __u8 date[32]; 604*8d67ca89SAndroid Build Coastguard Worker }; 605*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_UNKNOWN 0 606*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_GDDR1 1 607*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_DDR2 2 608*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_GDDR3 3 609*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_GDDR4 4 610*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_GDDR5 5 611*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_HBM 6 612*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_DDR3 7 613*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_DDR4 8 614*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_GDDR6 9 615*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_DDR5 10 616*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_LPDDR4 11 617*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VRAM_TYPE_LPDDR5 12 618*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_device { 619*8d67ca89SAndroid Build Coastguard Worker __u32 device_id; 620*8d67ca89SAndroid Build Coastguard Worker __u32 chip_rev; 621*8d67ca89SAndroid Build Coastguard Worker __u32 external_rev; 622*8d67ca89SAndroid Build Coastguard Worker __u32 pci_rev; 623*8d67ca89SAndroid Build Coastguard Worker __u32 family; 624*8d67ca89SAndroid Build Coastguard Worker __u32 num_shader_engines; 625*8d67ca89SAndroid Build Coastguard Worker __u32 num_shader_arrays_per_engine; 626*8d67ca89SAndroid Build Coastguard Worker __u32 gpu_counter_freq; 627*8d67ca89SAndroid Build Coastguard Worker __u64 max_engine_clock; 628*8d67ca89SAndroid Build Coastguard Worker __u64 max_memory_clock; 629*8d67ca89SAndroid Build Coastguard Worker __u32 cu_active_number; 630*8d67ca89SAndroid Build Coastguard Worker __u32 cu_ao_mask; 631*8d67ca89SAndroid Build Coastguard Worker __u32 cu_bitmap[4][4]; 632*8d67ca89SAndroid Build Coastguard Worker __u32 enabled_rb_pipes_mask; 633*8d67ca89SAndroid Build Coastguard Worker __u32 num_rb_pipes; 634*8d67ca89SAndroid Build Coastguard Worker __u32 num_hw_gfx_contexts; 635*8d67ca89SAndroid Build Coastguard Worker __u32 pcie_gen; 636*8d67ca89SAndroid Build Coastguard Worker __u64 ids_flags; 637*8d67ca89SAndroid Build Coastguard Worker __u64 virtual_address_offset; 638*8d67ca89SAndroid Build Coastguard Worker __u64 virtual_address_max; 639*8d67ca89SAndroid Build Coastguard Worker __u32 virtual_address_alignment; 640*8d67ca89SAndroid Build Coastguard Worker __u32 pte_fragment_size; 641*8d67ca89SAndroid Build Coastguard Worker __u32 gart_page_size; 642*8d67ca89SAndroid Build Coastguard Worker __u32 ce_ram_size; 643*8d67ca89SAndroid Build Coastguard Worker __u32 vram_type; 644*8d67ca89SAndroid Build Coastguard Worker __u32 vram_bit_width; 645*8d67ca89SAndroid Build Coastguard Worker __u32 vce_harvest_config; 646*8d67ca89SAndroid Build Coastguard Worker __u32 gc_double_offchip_lds_buf; 647*8d67ca89SAndroid Build Coastguard Worker __u64 prim_buf_gpu_addr; 648*8d67ca89SAndroid Build Coastguard Worker __u64 pos_buf_gpu_addr; 649*8d67ca89SAndroid Build Coastguard Worker __u64 cntl_sb_buf_gpu_addr; 650*8d67ca89SAndroid Build Coastguard Worker __u64 param_buf_gpu_addr; 651*8d67ca89SAndroid Build Coastguard Worker __u32 prim_buf_size; 652*8d67ca89SAndroid Build Coastguard Worker __u32 pos_buf_size; 653*8d67ca89SAndroid Build Coastguard Worker __u32 cntl_sb_buf_size; 654*8d67ca89SAndroid Build Coastguard Worker __u32 param_buf_size; 655*8d67ca89SAndroid Build Coastguard Worker __u32 wave_front_size; 656*8d67ca89SAndroid Build Coastguard Worker __u32 num_shader_visible_vgprs; 657*8d67ca89SAndroid Build Coastguard Worker __u32 num_cu_per_sh; 658*8d67ca89SAndroid Build Coastguard Worker __u32 num_tcc_blocks; 659*8d67ca89SAndroid Build Coastguard Worker __u32 gs_vgt_table_depth; 660*8d67ca89SAndroid Build Coastguard Worker __u32 gs_prim_buffer_depth; 661*8d67ca89SAndroid Build Coastguard Worker __u32 max_gs_waves_per_vgt; 662*8d67ca89SAndroid Build Coastguard Worker __u32 pcie_num_lanes; 663*8d67ca89SAndroid Build Coastguard Worker __u32 cu_ao_bitmap[4][4]; 664*8d67ca89SAndroid Build Coastguard Worker __u64 high_va_offset; 665*8d67ca89SAndroid Build Coastguard Worker __u64 high_va_max; 666*8d67ca89SAndroid Build Coastguard Worker __u32 pa_sc_tile_steering_override; 667*8d67ca89SAndroid Build Coastguard Worker __u64 tcc_disabled_mask; 668*8d67ca89SAndroid Build Coastguard Worker __u64 min_engine_clock; 669*8d67ca89SAndroid Build Coastguard Worker __u64 min_memory_clock; 670*8d67ca89SAndroid Build Coastguard Worker __u32 tcp_cache_size; 671*8d67ca89SAndroid Build Coastguard Worker __u32 num_sqc_per_wgp; 672*8d67ca89SAndroid Build Coastguard Worker __u32 sqc_data_cache_size; 673*8d67ca89SAndroid Build Coastguard Worker __u32 sqc_inst_cache_size; 674*8d67ca89SAndroid Build Coastguard Worker __u32 gl1c_cache_size; 675*8d67ca89SAndroid Build Coastguard Worker __u32 gl2c_cache_size; 676*8d67ca89SAndroid Build Coastguard Worker __u64 mall_size; 677*8d67ca89SAndroid Build Coastguard Worker __u32 enabled_rb_pipes_mask_hi; 678*8d67ca89SAndroid Build Coastguard Worker __u32 shadow_size; 679*8d67ca89SAndroid Build Coastguard Worker __u32 shadow_alignment; 680*8d67ca89SAndroid Build Coastguard Worker __u32 csa_size; 681*8d67ca89SAndroid Build Coastguard Worker __u32 csa_alignment; 682*8d67ca89SAndroid Build Coastguard Worker }; 683*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_hw_ip { 684*8d67ca89SAndroid Build Coastguard Worker __u32 hw_ip_version_major; 685*8d67ca89SAndroid Build Coastguard Worker __u32 hw_ip_version_minor; 686*8d67ca89SAndroid Build Coastguard Worker __u64 capabilities_flags; 687*8d67ca89SAndroid Build Coastguard Worker __u32 ib_start_alignment; 688*8d67ca89SAndroid Build Coastguard Worker __u32 ib_size_alignment; 689*8d67ca89SAndroid Build Coastguard Worker __u32 available_rings; 690*8d67ca89SAndroid Build Coastguard Worker __u32 ip_discovery_version; 691*8d67ca89SAndroid Build Coastguard Worker }; 692*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_num_handles { 693*8d67ca89SAndroid Build Coastguard Worker __u32 uvd_max_handles; 694*8d67ca89SAndroid Build Coastguard Worker __u32 uvd_used_handles; 695*8d67ca89SAndroid Build Coastguard Worker }; 696*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VCE_CLOCK_TABLE_ENTRIES 6 697*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_vce_clock_table_entry { 698*8d67ca89SAndroid Build Coastguard Worker __u32 sclk; 699*8d67ca89SAndroid Build Coastguard Worker __u32 mclk; 700*8d67ca89SAndroid Build Coastguard Worker __u32 eclk; 701*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 702*8d67ca89SAndroid Build Coastguard Worker }; 703*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_vce_clock_table { 704*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_vce_clock_table_entry entries[AMDGPU_VCE_CLOCK_TABLE_ENTRIES]; 705*8d67ca89SAndroid Build Coastguard Worker __u32 num_valid_entries; 706*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 707*8d67ca89SAndroid Build Coastguard Worker }; 708*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2 0 709*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4 1 710*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1 2 711*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC 3 712*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC 4 713*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG 5 714*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9 6 715*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_AV1 7 716*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT 8 717*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_video_codec_info { 718*8d67ca89SAndroid Build Coastguard Worker __u32 valid; 719*8d67ca89SAndroid Build Coastguard Worker __u32 max_width; 720*8d67ca89SAndroid Build Coastguard Worker __u32 max_height; 721*8d67ca89SAndroid Build Coastguard Worker __u32 max_pixels_per_frame; 722*8d67ca89SAndroid Build Coastguard Worker __u32 max_level; 723*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 724*8d67ca89SAndroid Build Coastguard Worker }; 725*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_video_caps { 726*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_video_codec_info codec_info[AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_COUNT]; 727*8d67ca89SAndroid Build Coastguard Worker }; 728*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_TYPE_MASK 0xff 729*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_TYPE_SHIFT 0 730*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_TYPE_GFX 0 731*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_TYPE_MM0 1 732*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_TYPE_MM1 2 733*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_IDX_MASK 0xff00 734*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_VMHUB_IDX_SHIFT 8 735*8d67ca89SAndroid Build Coastguard Worker struct drm_amdgpu_info_gpuvm_fault { 736*8d67ca89SAndroid Build Coastguard Worker __u64 addr; 737*8d67ca89SAndroid Build Coastguard Worker __u32 status; 738*8d67ca89SAndroid Build Coastguard Worker __u32 vmhub; 739*8d67ca89SAndroid Build Coastguard Worker }; 740*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_UNKNOWN 0 741*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_SI 110 742*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_CI 120 743*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_KV 125 744*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_VI 130 745*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_CZ 135 746*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_AI 141 747*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_RV 142 748*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_NV 143 749*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_VGH 144 750*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_11_0_0 145 751*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_YC 146 752*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_11_0_1 148 753*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_10_3_6 149 754*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_10_3_7 151 755*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_11_5_0 150 756*8d67ca89SAndroid Build Coastguard Worker #define AMDGPU_FAMILY_GC_12_0_0 152 757*8d67ca89SAndroid Build Coastguard Worker struct drm_color_ctm_3x4 { 758*8d67ca89SAndroid Build Coastguard Worker __u64 matrix[12]; 759*8d67ca89SAndroid Build Coastguard Worker }; 760*8d67ca89SAndroid Build Coastguard Worker #ifdef __cplusplus 761*8d67ca89SAndroid Build Coastguard Worker } 762*8d67ca89SAndroid Build Coastguard Worker #endif 763*8d67ca89SAndroid Build Coastguard Worker #endif 764