XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Enumerations
panfrost_drm.h File Reference
#include "drm.h"
Include dependency graph for panfrost_drm.h:

Go to the source code of this file.

Classes

struct  drm_panfrost_submit
 
struct  drm_panfrost_wait_bo
 
struct  drm_panfrost_create_bo
 
struct  drm_panfrost_mmap_bo
 
struct  drm_panfrost_get_param
 
struct  drm_panfrost_get_bo_offset
 
struct  drm_panfrost_perfcnt_enable
 
struct  drm_panfrost_perfcnt_dump
 
struct  drm_panfrost_madvise
 
struct  drm_panfrost_set_label_bo
 
struct  drm_panfrost_bo_sync_op
 
struct  drm_panfrost_sync_bo
 
struct  drm_panfrost_query_bo_info
 
struct  panfrost_dump_object_header
 
struct  panfrost_dump_registers
 
struct  drm_panfrost_jm_ctx_create
 
struct  drm_panfrost_jm_ctx_destroy
 

Macros

#define DRM_PANFROST_SUBMIT   0x00
 
#define DRM_PANFROST_WAIT_BO   0x01
 
#define DRM_PANFROST_CREATE_BO   0x02
 
#define DRM_PANFROST_MMAP_BO   0x03
 
#define DRM_PANFROST_GET_PARAM   0x04
 
#define DRM_PANFROST_GET_BO_OFFSET   0x05
 
#define DRM_PANFROST_PERFCNT_ENABLE   0x06
 
#define DRM_PANFROST_PERFCNT_DUMP   0x07
 
#define DRM_PANFROST_MADVISE   0x08
 
#define DRM_PANFROST_SET_LABEL_BO   0x09
 
#define DRM_PANFROST_JM_CTX_CREATE   0x0a
 
#define DRM_PANFROST_JM_CTX_DESTROY   0x0b
 
#define DRM_PANFROST_SYNC_BO   0x0c
 
#define DRM_PANFROST_QUERY_BO_INFO   0x0d
 
#define DRM_IOCTL_PANFROST_SUBMIT   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_SUBMIT, struct drm_panfrost_submit)
 
#define DRM_IOCTL_PANFROST_WAIT_BO   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_WAIT_BO, struct drm_panfrost_wait_bo)
 
#define DRM_IOCTL_PANFROST_CREATE_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_CREATE_BO, struct drm_panfrost_create_bo)
 
#define DRM_IOCTL_PANFROST_MMAP_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MMAP_BO, struct drm_panfrost_mmap_bo)
 
#define DRM_IOCTL_PANFROST_GET_PARAM   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_PARAM, struct drm_panfrost_get_param)
 
#define DRM_IOCTL_PANFROST_GET_BO_OFFSET   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_BO_OFFSET, struct drm_panfrost_get_bo_offset)
 
#define DRM_IOCTL_PANFROST_MADVISE   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MADVISE, struct drm_panfrost_madvise)
 
#define DRM_IOCTL_PANFROST_SET_LABEL_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_SET_LABEL_BO, struct drm_panfrost_set_label_bo)
 
#define DRM_IOCTL_PANFROST_JM_CTX_CREATE   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_JM_CTX_CREATE, struct drm_panfrost_jm_ctx_create)
 
#define DRM_IOCTL_PANFROST_JM_CTX_DESTROY   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_JM_CTX_DESTROY, struct drm_panfrost_jm_ctx_destroy)
 
#define DRM_IOCTL_PANFROST_SYNC_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_SYNC_BO, struct drm_panfrost_sync_bo)
 
#define DRM_IOCTL_PANFROST_QUERY_BO_INFO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_QUERY_BO_INFO, struct drm_panfrost_query_bo_info)
 
#define DRM_IOCTL_PANFROST_PERFCNT_ENABLE   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_ENABLE, struct drm_panfrost_perfcnt_enable)
 
#define DRM_IOCTL_PANFROST_PERFCNT_DUMP   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_DUMP, struct drm_panfrost_perfcnt_dump)
 
#define PANFROST_JD_REQ_FS   (1 << 0)
 
#define PANFROST_JD_REQ_CYCLE_COUNT   (1 << 1)
 
#define PANFROST_BO_NOEXEC   1
 
#define PANFROST_BO_HEAP   2
 
#define PANFROST_BO_WB_MMAP   4
 
#define PANFROST_MADV_WILLNEED   0 /* backing pages are needed, status returned in 'retained' */
 
#define PANFROST_MADV_DONTNEED   1 /* backing pages not needed */
 
#define PANFROST_BO_SYNC_CPU_CACHE_FLUSH   0
 
#define PANFROST_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE   1
 
#define DRM_PANFROST_BO_IS_IMPORTED   (1 << 0)
 
#define PANFROSTDUMP_MAJOR   1
 
#define PANFROSTDUMP_MINOR   0
 
#define PANFROSTDUMP_MAGIC   0x464E4150 /* PANF */
 
#define PANFROSTDUMP_BUF_REG   0
 
#define PANFROSTDUMP_BUF_BOMAP   (PANFROSTDUMP_BUF_REG + 1)
 
#define PANFROSTDUMP_BUF_BO   (PANFROSTDUMP_BUF_BOMAP + 1)
 
#define PANFROSTDUMP_BUF_TRAILER   (PANFROSTDUMP_BUF_BO + 1)
 

Enumerations

enum  drm_panfrost_param {
  DRM_PANFROST_PARAM_GPU_PROD_ID , DRM_PANFROST_PARAM_GPU_REVISION , DRM_PANFROST_PARAM_SHADER_PRESENT , DRM_PANFROST_PARAM_TILER_PRESENT ,
  DRM_PANFROST_PARAM_L2_PRESENT , DRM_PANFROST_PARAM_STACK_PRESENT , DRM_PANFROST_PARAM_AS_PRESENT , DRM_PANFROST_PARAM_JS_PRESENT ,
  DRM_PANFROST_PARAM_L2_FEATURES , DRM_PANFROST_PARAM_CORE_FEATURES , DRM_PANFROST_PARAM_TILER_FEATURES , DRM_PANFROST_PARAM_MEM_FEATURES ,
  DRM_PANFROST_PARAM_MMU_FEATURES , DRM_PANFROST_PARAM_THREAD_FEATURES , DRM_PANFROST_PARAM_MAX_THREADS , DRM_PANFROST_PARAM_THREAD_MAX_WORKGROUP_SZ ,
  DRM_PANFROST_PARAM_THREAD_MAX_BARRIER_SZ , DRM_PANFROST_PARAM_COHERENCY_FEATURES , DRM_PANFROST_PARAM_TEXTURE_FEATURES0 , DRM_PANFROST_PARAM_TEXTURE_FEATURES1 ,
  DRM_PANFROST_PARAM_TEXTURE_FEATURES2 , DRM_PANFROST_PARAM_TEXTURE_FEATURES3 , DRM_PANFROST_PARAM_JS_FEATURES0 , DRM_PANFROST_PARAM_JS_FEATURES1 ,
  DRM_PANFROST_PARAM_JS_FEATURES2 , DRM_PANFROST_PARAM_JS_FEATURES3 , DRM_PANFROST_PARAM_JS_FEATURES4 , DRM_PANFROST_PARAM_JS_FEATURES5 ,
  DRM_PANFROST_PARAM_JS_FEATURES6 , DRM_PANFROST_PARAM_JS_FEATURES7 , DRM_PANFROST_PARAM_JS_FEATURES8 , DRM_PANFROST_PARAM_JS_FEATURES9 ,
  DRM_PANFROST_PARAM_JS_FEATURES10 , DRM_PANFROST_PARAM_JS_FEATURES11 , DRM_PANFROST_PARAM_JS_FEATURES12 , DRM_PANFROST_PARAM_JS_FEATURES13 ,
  DRM_PANFROST_PARAM_JS_FEATURES14 , DRM_PANFROST_PARAM_JS_FEATURES15 , DRM_PANFROST_PARAM_NR_CORE_GROUPS , DRM_PANFROST_PARAM_THREAD_TLS_ALLOC ,
  DRM_PANFROST_PARAM_AFBC_FEATURES , DRM_PANFROST_PARAM_SYSTEM_TIMESTAMP , DRM_PANFROST_PARAM_SYSTEM_TIMESTAMP_FREQUENCY , DRM_PANFROST_PARAM_ALLOWED_JM_CTX_PRIORITIES ,
  DRM_PANFROST_PARAM_SELECTED_COHERENCY
}
 
enum  drm_panfrost_gpu_coherency { DRM_PANFROST_GPU_COHERENCY_ACE_LITE = 0 , DRM_PANFROST_GPU_COHERENCY_ACE = 1 , DRM_PANFROST_GPU_COHERENCY_NONE = 31 }
 
enum  drm_panfrost_jm_ctx_priority { PANFROST_JM_CTX_PRIORITY_LOW = 0 , PANFROST_JM_CTX_PRIORITY_MEDIUM , PANFROST_JM_CTX_PRIORITY_HIGH }
 

Macro Definition Documentation

◆ DRM_IOCTL_PANFROST_CREATE_BO

#define DRM_IOCTL_PANFROST_CREATE_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_CREATE_BO, struct drm_panfrost_create_bo)

◆ DRM_IOCTL_PANFROST_GET_BO_OFFSET

#define DRM_IOCTL_PANFROST_GET_BO_OFFSET   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_BO_OFFSET, struct drm_panfrost_get_bo_offset)

◆ DRM_IOCTL_PANFROST_GET_PARAM

#define DRM_IOCTL_PANFROST_GET_PARAM   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_GET_PARAM, struct drm_panfrost_get_param)

◆ DRM_IOCTL_PANFROST_JM_CTX_CREATE

#define DRM_IOCTL_PANFROST_JM_CTX_CREATE   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_JM_CTX_CREATE, struct drm_panfrost_jm_ctx_create)

◆ DRM_IOCTL_PANFROST_JM_CTX_DESTROY

#define DRM_IOCTL_PANFROST_JM_CTX_DESTROY   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_JM_CTX_DESTROY, struct drm_panfrost_jm_ctx_destroy)

◆ DRM_IOCTL_PANFROST_MADVISE

#define DRM_IOCTL_PANFROST_MADVISE   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MADVISE, struct drm_panfrost_madvise)

◆ DRM_IOCTL_PANFROST_MMAP_BO

#define DRM_IOCTL_PANFROST_MMAP_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_MMAP_BO, struct drm_panfrost_mmap_bo)

◆ DRM_IOCTL_PANFROST_PERFCNT_DUMP

#define DRM_IOCTL_PANFROST_PERFCNT_DUMP   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_DUMP, struct drm_panfrost_perfcnt_dump)

◆ DRM_IOCTL_PANFROST_PERFCNT_ENABLE

#define DRM_IOCTL_PANFROST_PERFCNT_ENABLE   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_PERFCNT_ENABLE, struct drm_panfrost_perfcnt_enable)

◆ DRM_IOCTL_PANFROST_QUERY_BO_INFO

#define DRM_IOCTL_PANFROST_QUERY_BO_INFO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_QUERY_BO_INFO, struct drm_panfrost_query_bo_info)

◆ DRM_IOCTL_PANFROST_SET_LABEL_BO

#define DRM_IOCTL_PANFROST_SET_LABEL_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_SET_LABEL_BO, struct drm_panfrost_set_label_bo)

◆ DRM_IOCTL_PANFROST_SUBMIT

#define DRM_IOCTL_PANFROST_SUBMIT   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_SUBMIT, struct drm_panfrost_submit)

◆ DRM_IOCTL_PANFROST_SYNC_BO

#define DRM_IOCTL_PANFROST_SYNC_BO   DRM_IOWR(DRM_COMMAND_BASE + DRM_PANFROST_SYNC_BO, struct drm_panfrost_sync_bo)

◆ DRM_IOCTL_PANFROST_WAIT_BO

#define DRM_IOCTL_PANFROST_WAIT_BO   DRM_IOW(DRM_COMMAND_BASE + DRM_PANFROST_WAIT_BO, struct drm_panfrost_wait_bo)

◆ DRM_PANFROST_BO_IS_IMPORTED

#define DRM_PANFROST_BO_IS_IMPORTED   (1 << 0)

BO comes from a different subsystem.

◆ DRM_PANFROST_CREATE_BO

#define DRM_PANFROST_CREATE_BO   0x02

◆ DRM_PANFROST_GET_BO_OFFSET

#define DRM_PANFROST_GET_BO_OFFSET   0x05

◆ DRM_PANFROST_GET_PARAM

#define DRM_PANFROST_GET_PARAM   0x04

◆ DRM_PANFROST_JM_CTX_CREATE

#define DRM_PANFROST_JM_CTX_CREATE   0x0a

◆ DRM_PANFROST_JM_CTX_DESTROY

#define DRM_PANFROST_JM_CTX_DESTROY   0x0b

◆ DRM_PANFROST_MADVISE

#define DRM_PANFROST_MADVISE   0x08

◆ DRM_PANFROST_MMAP_BO

#define DRM_PANFROST_MMAP_BO   0x03

◆ DRM_PANFROST_PERFCNT_DUMP

#define DRM_PANFROST_PERFCNT_DUMP   0x07

◆ DRM_PANFROST_PERFCNT_ENABLE

#define DRM_PANFROST_PERFCNT_ENABLE   0x06

◆ DRM_PANFROST_QUERY_BO_INFO

#define DRM_PANFROST_QUERY_BO_INFO   0x0d

◆ DRM_PANFROST_SET_LABEL_BO

#define DRM_PANFROST_SET_LABEL_BO   0x09

◆ DRM_PANFROST_SUBMIT

#define DRM_PANFROST_SUBMIT   0x00

◆ DRM_PANFROST_SYNC_BO

#define DRM_PANFROST_SYNC_BO   0x0c

◆ DRM_PANFROST_WAIT_BO

#define DRM_PANFROST_WAIT_BO   0x01

◆ PANFROST_BO_HEAP

#define PANFROST_BO_HEAP   2

◆ PANFROST_BO_NOEXEC

#define PANFROST_BO_NOEXEC   1

◆ PANFROST_BO_SYNC_CPU_CACHE_FLUSH

#define PANFROST_BO_SYNC_CPU_CACHE_FLUSH   0

◆ PANFROST_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE

#define PANFROST_BO_SYNC_CPU_CACHE_FLUSH_AND_INVALIDATE   1

◆ PANFROST_BO_WB_MMAP

#define PANFROST_BO_WB_MMAP   4

◆ PANFROST_JD_REQ_CYCLE_COUNT

#define PANFROST_JD_REQ_CYCLE_COUNT   (1 << 1)

◆ PANFROST_JD_REQ_FS

#define PANFROST_JD_REQ_FS   (1 << 0)

◆ PANFROST_MADV_DONTNEED

#define PANFROST_MADV_DONTNEED   1 /* backing pages not needed */

◆ PANFROST_MADV_WILLNEED

#define PANFROST_MADV_WILLNEED   0 /* backing pages are needed, status returned in 'retained' */

◆ PANFROSTDUMP_BUF_BO

#define PANFROSTDUMP_BUF_BO   (PANFROSTDUMP_BUF_BOMAP + 1)

◆ PANFROSTDUMP_BUF_BOMAP

#define PANFROSTDUMP_BUF_BOMAP   (PANFROSTDUMP_BUF_REG + 1)

◆ PANFROSTDUMP_BUF_REG

#define PANFROSTDUMP_BUF_REG   0

◆ PANFROSTDUMP_BUF_TRAILER

#define PANFROSTDUMP_BUF_TRAILER   (PANFROSTDUMP_BUF_BO + 1)

◆ PANFROSTDUMP_MAGIC

#define PANFROSTDUMP_MAGIC   0x464E4150 /* PANF */

◆ PANFROSTDUMP_MAJOR

#define PANFROSTDUMP_MAJOR   1

◆ PANFROSTDUMP_MINOR

#define PANFROSTDUMP_MINOR   0

Enumeration Type Documentation

◆ drm_panfrost_gpu_coherency

Enumerator
DRM_PANFROST_GPU_COHERENCY_ACE_LITE 
DRM_PANFROST_GPU_COHERENCY_ACE 
DRM_PANFROST_GPU_COHERENCY_NONE 

◆ drm_panfrost_jm_ctx_priority

Enumerator
PANFROST_JM_CTX_PRIORITY_LOW 

@PANFROST_JM_CTX_PRIORITY_LOW: Low priority context.

PANFROST_JM_CTX_PRIORITY_MEDIUM 

@PANFROST_JM_CTX_PRIORITY_MEDIUM: Medium priority context.

PANFROST_JM_CTX_PRIORITY_HIGH 

@PANFROST_JM_CTX_PRIORITY_HIGH: High priority context.

Requires CAP_SYS_NICE or DRM_MASTER.

◆ drm_panfrost_param

Enumerator
DRM_PANFROST_PARAM_GPU_PROD_ID 
DRM_PANFROST_PARAM_GPU_REVISION 
DRM_PANFROST_PARAM_SHADER_PRESENT 
DRM_PANFROST_PARAM_TILER_PRESENT 
DRM_PANFROST_PARAM_L2_PRESENT 
DRM_PANFROST_PARAM_STACK_PRESENT 
DRM_PANFROST_PARAM_AS_PRESENT 
DRM_PANFROST_PARAM_JS_PRESENT 
DRM_PANFROST_PARAM_L2_FEATURES 
DRM_PANFROST_PARAM_CORE_FEATURES 
DRM_PANFROST_PARAM_TILER_FEATURES 
DRM_PANFROST_PARAM_MEM_FEATURES 
DRM_PANFROST_PARAM_MMU_FEATURES 
DRM_PANFROST_PARAM_THREAD_FEATURES 
DRM_PANFROST_PARAM_MAX_THREADS 
DRM_PANFROST_PARAM_THREAD_MAX_WORKGROUP_SZ 
DRM_PANFROST_PARAM_THREAD_MAX_BARRIER_SZ 
DRM_PANFROST_PARAM_COHERENCY_FEATURES 
DRM_PANFROST_PARAM_TEXTURE_FEATURES0 
DRM_PANFROST_PARAM_TEXTURE_FEATURES1 
DRM_PANFROST_PARAM_TEXTURE_FEATURES2 
DRM_PANFROST_PARAM_TEXTURE_FEATURES3 
DRM_PANFROST_PARAM_JS_FEATURES0 
DRM_PANFROST_PARAM_JS_FEATURES1 
DRM_PANFROST_PARAM_JS_FEATURES2 
DRM_PANFROST_PARAM_JS_FEATURES3 
DRM_PANFROST_PARAM_JS_FEATURES4 
DRM_PANFROST_PARAM_JS_FEATURES5 
DRM_PANFROST_PARAM_JS_FEATURES6 
DRM_PANFROST_PARAM_JS_FEATURES7 
DRM_PANFROST_PARAM_JS_FEATURES8 
DRM_PANFROST_PARAM_JS_FEATURES9 
DRM_PANFROST_PARAM_JS_FEATURES10 
DRM_PANFROST_PARAM_JS_FEATURES11 
DRM_PANFROST_PARAM_JS_FEATURES12 
DRM_PANFROST_PARAM_JS_FEATURES13 
DRM_PANFROST_PARAM_JS_FEATURES14 
DRM_PANFROST_PARAM_JS_FEATURES15 
DRM_PANFROST_PARAM_NR_CORE_GROUPS 
DRM_PANFROST_PARAM_THREAD_TLS_ALLOC 
DRM_PANFROST_PARAM_AFBC_FEATURES 
DRM_PANFROST_PARAM_SYSTEM_TIMESTAMP 
DRM_PANFROST_PARAM_SYSTEM_TIMESTAMP_FREQUENCY 
DRM_PANFROST_PARAM_ALLOWED_JM_CTX_PRIORITIES 
DRM_PANFROST_PARAM_SELECTED_COHERENCY