aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChenyuan Yang <cy1yang@outlook.com>2023-12-29 21:12:56 -0600
committerAleksandr Nogikh <nogikh@google.com>2024-01-05 17:28:58 +0000
commitd0304e9cb9f633eb4de1ecbb4e7328ae745198a8 (patch)
tree61f4faf501c47932d5cccdad392f8c085cb80882
parent397c964fceb327fe12c6f42334b879e1887412fc (diff)
sys/linux: add the descriptions for the CEC device
-rw-r--r--sys/linux/dev_cec.txt98
-rw-r--r--sys/linux/dev_cec.txt.const16
-rw-r--r--sys/linux/dev_video4linux.txt1
3 files changed, 114 insertions, 1 deletions
diff --git a/sys/linux/dev_cec.txt b/sys/linux/dev_cec.txt
new file mode 100644
index 000000000..c8a47e5e6
--- /dev/null
+++ b/sys/linux/dev_cec.txt
@@ -0,0 +1,98 @@
+# Copyright 2024 syzkaller project authors. All rights reserved.
+# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
+
+include <uapi/asm/ioctl.h>
+include <uapi/linux/cec.h>
+
+resource fd_cec[fd]
+
+syz_open_dev$cec(dev ptr[in, string["/dev/cec#"]], id proc[0, 1], flags flags[open_flags]) fd_cec
+
+ioctl$CEC_ADAP_G_CAPS(fd fd_cec, cmd const[CEC_ADAP_G_CAPS], arg ptr[out, cec_caps])
+ioctl$CEC_ADAP_G_PHYS_ADDR(fd fd_cec, cmd const[CEC_ADAP_G_PHYS_ADDR], arg ptr[out, int16])
+ioctl$CEC_ADAP_S_PHYS_ADDR(fd fd_cec, cmd const[CEC_ADAP_S_PHYS_ADDR], arg ptr[in, int16])
+ioctl$CEC_ADAP_G_LOG_ADDRS(fd fd_cec, cmd const[CEC_ADAP_G_LOG_ADDRS], arg ptr[out, cec_log_addrs])
+ioctl$CEC_ADAP_S_LOG_ADDRS(fd fd_cec, cmd const[CEC_ADAP_S_LOG_ADDRS], arg ptr[inout, cec_log_addrs])
+ioctl$CEC_ADAP_G_CONNECTOR_INFO(fd fd_cec, cmd const[CEC_ADAP_G_CONNECTOR_INFO], arg ptr[out, cec_connector_info])
+ioctl$CEC_TRANSMIT(fd fd_cec, cmd const[CEC_TRANSMIT], arg ptr[inout, cec_msg])
+ioctl$CEC_RECEIVE(fd fd_cec, cmd const[CEC_RECEIVE], arg ptr[inout, cec_msg])
+ioctl$CEC_DQEVENT(fd fd_cec, cmd const[CEC_DQEVENT], arg ptr[out, cec_event])
+ioctl$CEC_G_MODE(fd fd_cec, cmd const[CEC_G_MODE], arg ptr[out, int32])
+ioctl$CEC_S_MODE(fd fd_cec, cmd const[CEC_S_MODE], arg ptr[in, int32])
+
+cec_caps {
+ driver array[int8, 32]
+ name array[int8, 32]
+ available_log_addrs int32
+ capabilities int32
+ version int32
+}
+
+cec_log_addrs {
+ log_addr array[int8, CEC_MAX_LOG_ADDRS]
+ log_addr_mask int16
+ cec_version int8
+ num_log_addrs int8
+ vendor_id int32
+ flags int32
+ osd_name array[int8, 15]
+ primary_device_type array[int8, CEC_MAX_LOG_ADDRS]
+ log_addr_type array[int8, CEC_MAX_LOG_ADDRS]
+ all_device_types array[int8, CEC_MAX_LOG_ADDRS]
+ features array[array[int8, 12], CEC_MAX_LOG_ADDRS]
+}
+
+cec_connector_info {
+ type int32
+ u cec_connector_info_union
+}
+
+cec_msg {
+ tx_ts int64
+ rx_ts int64
+ len int32
+ timeout int32
+ sequence int32
+ flags int32
+ msg array[int8, CEC_MAX_MSG_SIZE]
+ reply int8
+ rx_status int8
+ tx_status int8
+ tx_arb_lost_cnt int8
+ tx_nack_cnt int8
+ tx_low_drive_cnt int8
+ tx_error_cnt int8
+}
+
+cec_event {
+ ts int64
+ event int32
+ flags int32
+ union cec_event_union
+}
+
+cec_connector_info_union [
+ drm cec_drm_connector_info
+ raw array[int32, 16]
+]
+
+cec_event_union [
+ state_change cec_event_state_change
+ lost_msgs cec_event_lost_msgs
+ raw array[int32, 16]
+]
+
+cec_drm_connector_info {
+ card_no int32
+ connector_id drm_connector_id
+}
+
+cec_event_state_change {
+ phys_addr int16
+ log_addr_mask int16
+ have_conn_info int16
+}
+
+cec_event_lost_msgs {
+ lost_msgs int32
+}
diff --git a/sys/linux/dev_cec.txt.const b/sys/linux/dev_cec.txt.const
new file mode 100644
index 000000000..54dea1717
--- /dev/null
+++ b/sys/linux/dev_cec.txt.const
@@ -0,0 +1,16 @@
+# Code generated by syz-sysgen. DO NOT EDIT.
+arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x
+CEC_ADAP_G_CAPS = 3226231040
+CEC_ADAP_G_CONNECTOR_INFO = 2151964938, mips64le:ppc64le:1078223114
+CEC_ADAP_G_LOG_ADDRS = 2153537795, mips64le:ppc64le:1079795971
+CEC_ADAP_G_PHYS_ADDR = 2147639553, mips64le:ppc64le:1073897729
+CEC_ADAP_S_LOG_ADDRS = 3227279620
+CEC_ADAP_S_PHYS_ADDR = 1073897730, mips64le:ppc64le:2147639554
+CEC_DQEVENT = 3226493191
+CEC_G_MODE = 2147770632, mips64le:ppc64le:1074028808
+CEC_MAX_LOG_ADDRS = 4
+CEC_MAX_MSG_SIZE = 16
+CEC_RECEIVE = 3224920326
+CEC_S_MODE = 1074028809, mips64le:ppc64le:2147770633
+CEC_TRANSMIT = 3224920325
+__NR_ioctl = 54, amd64:16, arm64:riscv64:29, mips64le:5015
diff --git a/sys/linux/dev_video4linux.txt b/sys/linux/dev_video4linux.txt
index a3d6b8483..faa482a27 100644
--- a/sys/linux/dev_video4linux.txt
+++ b/sys/linux/dev_video4linux.txt
@@ -37,7 +37,6 @@ openat$vicodec1(fd const[AT_FDCWD], file ptr[in, string["/dev/video37"]], flags
syz_open_dev$swradio(dev ptr[in, string["/dev/swradio#"]], id proc[0, 2], flags const[O_RDWR]) fd_video
syz_open_dev$radio(dev ptr[in, string["/dev/radio#"]], id proc[0, 4], flags const[O_RDWR]) fd_video
syz_open_dev$vbi(dev ptr[in, string["/dev/vbi#"]], id proc[0, 4], flags const[O_RDWR]) fd_video
-syz_open_dev$cec(dev ptr[in, string["/dev/cec#"]], id proc[0, 4], flags const[O_RDWR]) fd_video
ioctl$VIDIOC_QUERYCAP(fd fd_video, cmd const[VIDIOC_QUERYCAP], arg ptr[out, v4l2_capability])
ioctl$VIDIOC_ENUM_FMT(fd fd_video, cmd const[VIDIOC_ENUM_FMT], arg ptr[inout, v4l2_fmtdesc[v4l2_buf_type]])