aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/dev_msm.txt
diff options
context:
space:
mode:
authorZubin Mithra <zsm@google.com>2023-05-09 09:18:11 -0700
committerDmitry Vyukov <dvyukov@google.com>2023-05-17 09:42:51 +0200
commit5cb6d800ac76a957c1bdb5a9637ae91616af3289 (patch)
treef741ca423864f67f4aed90cd1c67aab54e5c1ff7 /sys/linux/dev_msm.txt
parentdefec93550d1458e035f93ab59a90e62f9abd7a5 (diff)
sys/linux: add description for ioctl$DRM_IOCTL_MSM_SET_PARAM
Add flag values and update constants.
Diffstat (limited to 'sys/linux/dev_msm.txt')
-rw-r--r--sys/linux/dev_msm.txt32
1 files changed, 28 insertions, 4 deletions
diff --git a/sys/linux/dev_msm.txt b/sys/linux/dev_msm.txt
index 9774bf148..f2a0cd0a8 100644
--- a/sys/linux/dev_msm.txt
+++ b/sys/linux/dev_msm.txt
@@ -11,7 +11,7 @@ resource msm_fence_id[int32]
openat$msm(fd const[AT_FDCWD], file ptr[in, string["/dev/msm"]], flags flags[open_flags], mode const[0]) fd_msm
-ioctl$DRM_IOCTL_MSM_GET_PARAM(fd fd_msm, cmd const[DRM_IOCTL_MSM_GET_PARAM], arg ptr[inout, drm_msm_param])
+ioctl$DRM_IOCTL_MSM_GET_PARAM(fd fd_msm, cmd const[DRM_IOCTL_MSM_GET_PARAM], arg ptr[inout, drm_msm_param$DRM_IOCTL_MSM_GET_PARAM])
ioctl$DRM_IOCTL_MSM_GEM_NEW(fd fd_msm, cmd const[DRM_IOCTL_MSM_GEM_NEW], arg ptr[inout, drm_msm_gem_new])
ioctl$DRM_IOCTL_MSM_GEM_INFO(fd fd_msm, cmd const[DRM_IOCTL_MSM_GEM_INFO], arg ptr[inout, drm_msm_gem_info])
ioctl$DRM_IOCTL_MSM_GEM_CPU_PREP(fd fd_msm, cmd const[DRM_IOCTL_MSM_GEM_CPU_PREP], arg ptr[in, drm_msm_gem_cpu_prep])
@@ -22,6 +22,7 @@ ioctl$DRM_IOCTL_MSM_GEM_MADVISE(fd fd_msm, cmd const[DRM_IOCTL_MSM_GEM_MADVISE],
ioctl$DRM_IOCTL_MSM_SUBMITQUEUE_NEW(fd fd_msm, cmd const[DRM_IOCTL_MSM_SUBMITQUEUE_NEW], arg ptr[inout, drm_msm_submitqueue])
ioctl$DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE(fd fd_msm, cmd const[DRM_IOCTL_MSM_SUBMITQUEUE_CLOSE], arg ptr[in, msm_submitqueue_id])
ioctl$DRM_IOCTL_MSM_SUBMITQUEUE_QUERY(fd fd_msm, cmd const[DRM_IOCTL_MSM_SUBMITQUEUE_QUERY], arg ptr[inout, drm_msm_submitqueue_query])
+ioctl$DRM_IOCTL_MSM_SET_PARAM(fd fd_msm, cmd const[DRM_IOCTL_MSM_SET_PARAM], arg ptr[in, drm_msm_param$DRM_IOCTL_MSM_SET_PARAM])
mmap$DRM_MSM(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_msm, offset fileoff)
_ = __NR_mmap2
@@ -40,12 +41,34 @@ drm_msm_gem_info {
pad const[0, int32]
}
-drm_msm_param {
+drm_msm_param$DRM_IOCTL_MSM_GET_PARAM {
pipe flags[msm_pipe_flags, int32]
param flags[msm_param_flags, int32]
value int64
}
+drm_msm_param$DRM_IOCTL_MSM_SET_PARAM {
+ pipe flags[msm_pipe_flags, int32]
+ param flags[msm_param_set_flags, int32]
+ vallen drm_msm_param_set_union
+ pad const[0, int32]
+}
+
+drm_msm_param_set_union [
+ imm drm_msm_param_set_imm
+ ptr drm_msm_param_set_ptr
+]
+
+drm_msm_param_set_imm {
+ value int64
+ len const[0, int32]
+}
+
+drm_msm_param_set_ptr {
+ value ptr64[in, array[int8]]
+ len len[value, int32]
+}
+
drm_msm_timespec {
tv_sec int64
tv_nsec int64
@@ -136,8 +159,9 @@ drm_msm_submitqueue_query {
}
msm_gem_new_flags = MSM_BO_SCANOUT, MSM_BO_GPU_READONLY, MSM_BO_CACHE_MASK, MSM_BO_CACHED, MSM_BO_WC, MSM_BO_UNCACHED
-msm_gem_info_flags = MSM_INFO_GET_OFFSET, MSM_INFO_GET_IOVA, MSM_INFO_SET_NAME, MSM_INFO_GET_NAME
-msm_param_flags = MSM_PARAM_GPU_ID, MSM_PARAM_GMEM_SIZE, MSM_PARAM_CHIP_ID, MSM_PARAM_MAX_FREQ, MSM_PARAM_TIMESTAMP, MSM_PARAM_GMEM_BASE, MSM_PARAM_NR_RINGS, MSM_PARAM_PP_PGTABLE, MSM_PARAM_FAULTS
+msm_gem_info_flags = MSM_INFO_GET_OFFSET, MSM_INFO_GET_IOVA, MSM_INFO_SET_NAME, MSM_INFO_GET_NAME, MSM_INFO_SET_IOVA
+msm_param_flags = MSM_PARAM_GPU_ID, MSM_PARAM_GMEM_SIZE, MSM_PARAM_CHIP_ID, MSM_PARAM_MAX_FREQ, MSM_PARAM_TIMESTAMP, MSM_PARAM_GMEM_BASE, MSM_PARAM_NR_RINGS, MSM_PARAM_PP_PGTABLE, MSM_PARAM_FAULTS, MSM_PARAM_PRIORITIES, MSM_PARAM_SUSPENDS, MSM_PARAM_VA_START, MSM_PARAM_VA_SIZE
+msm_param_set_flags = MSM_PARAM_SYSPROF, MSM_PARAM_COMM, MSM_PARAM_CMDLINE
msm_gem_cpu_prep_flags = MSM_PREP_READ, MSM_PREP_WRITE, MSM_PREP_NOSYNC
msm_pipe_flags = MSM_PIPE_NONE, MSM_PIPE_2D0, MSM_PIPE_2D1, MSM_PIPE_3D0
msm_gem_submit_flags = MSM_PIPE_NONE, MSM_PIPE_2D0, MSM_PIPE_2D1, MSM_PIPE_3D0, MSM_SUBMIT_NO_IMPLICIT, MSM_SUBMIT_FENCE_FD_IN, MSM_SUBMIT_FENCE_FD_OUT, MSM_SUBMIT_SUDO, MSM_SUBMIT_SYNCOBJ_IN, MSM_SUBMIT_SYNCOBJ_OUT