diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2025-03-25 21:00:31 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2025-03-25 21:00:31 -0700 |
| commit | 1e26c5e28ca5821a824e90dd359556f5e9e7b89f (patch) | |
| tree | 4d6865ec1c41324dcda4591482c55e34fcc6d6fb /include/uapi/linux | |
| parent | c84907a1459588c883ef84a35bb69d46ca37e4e7 (diff) | |
| parent | f2151613e040973c868d28c8b00885dfab69eb75 (diff) | |
Merge tag 'media/v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- platform: synopsys: hdmirx: Fix 64-bit division for 32-bit targets
- vim2m: print device name after registering device
- Synopsys DesignWare HDMI RX Driver and various fixes
- cec/printk fixes and the removal of the vidioc_g/s_ctrl and
vidioc_queryctrl callbacks
- AVerMedia H789-C PCIe support and rc-core structs padding
- Several camera sensor patches
- uvcvideo improvements
- visl: Fix ERANGE error when setting enum controls
- codec fixes
- V4L2 camera sensor patches mostly
- chips-media: wave5: Fixes
- Add SDM670 camera subsystem
- Qualcomm iris video decoder driver
- dt-bindings: update clocks for sc7280-camss
- various fixes and enhancements
* tag 'media/v6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (264 commits)
media: pci: mgb4: include linux/errno.h
media: synopsys: hdmirx: Fix signedness bug in hdmirx_parse_dt()
media: platform: synopsys: hdmirx: Fix 64-bit division for 32-bit targets
media: vim2m: print device name after registering device
media: vivid: Introduce VIDEO_VIVID_OSD
media: vivid: Move all fb_info references into vivid-osd
media: platform: synopsys: hdmirx: Optimize struct snps_hdmirx_dev
media: platform: synopsys: hdmirx: Remove unused HDMI audio CODEC relics
media: platform: synopsys: hdmirx: Remove duplicated header inclusion
media: qcom: Clean up Kconfig dependencies
media: dvb-frontends: tda10048: Make the range of z explicit.
media: platform: stm32: Add check for clk_enable()
media: xilinx-tpg: fix double put in xtpg_parse_of()
media: siano: Fix error handling in smsdvb_module_init()
media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe()
media: i2c: tda1997x: Call of_node_put(ep) only once in tda1997x_parse_dt()
dt-bindings: media: mediatek,vcodec: Revise description
dt-bindings: media: mediatek,jpeg: Relax IOMMU max item count
media: v4l2-dv-timings: prevent possible overflow in v4l2_detect_gtf()
media: rockchip: rga: fix rga offset lookup
...
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/rkisp1-config.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/usb/video.h | 1 | ||||
| -rw-r--r-- | include/uapi/linux/uvcvideo.h | 13 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 7 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 5 |
5 files changed, 27 insertions, 1 deletions
diff --git a/include/uapi/linux/rkisp1-config.h b/include/uapi/linux/rkisp1-config.h index 430daceafac7..2d995f3c1ca3 100644 --- a/include/uapi/linux/rkisp1-config.h +++ b/include/uapi/linux/rkisp1-config.h @@ -1528,7 +1528,7 @@ enum rksip1_ext_param_buffer_version { * The expected memory layout of the parameters buffer is:: * * +-------------------- struct rkisp1_ext_params_cfg -------------------+ - * | version = RKISP_EXT_PARAMS_BUFFER_V1; | + * | version = RKISP1_EXT_PARAM_BUFFER_V1; | * | data_size = sizeof(struct rkisp1_ext_params_bls_config) | * | + sizeof(struct rkisp1_ext_params_dpcc_config); | * | +------------------------- data ---------------------------------+ | diff --git a/include/uapi/linux/usb/video.h b/include/uapi/linux/usb/video.h index 526b5155e23c..e1d9f5773187 100644 --- a/include/uapi/linux/usb/video.h +++ b/include/uapi/linux/usb/video.h @@ -104,6 +104,7 @@ #define UVC_CT_ROLL_ABSOLUTE_CONTROL 0x0f #define UVC_CT_ROLL_RELATIVE_CONTROL 0x10 #define UVC_CT_PRIVACY_CONTROL 0x11 +#define UVC_CT_REGION_OF_INTEREST_CONTROL 0x14 /* A.9.5. Processing Unit Control Selectors */ #define UVC_PU_CONTROL_UNDEFINED 0x00 diff --git a/include/uapi/linux/uvcvideo.h b/include/uapi/linux/uvcvideo.h index f86185456dc5..cbe15bca9569 100644 --- a/include/uapi/linux/uvcvideo.h +++ b/include/uapi/linux/uvcvideo.h @@ -16,6 +16,7 @@ #define UVC_CTRL_DATA_TYPE_BOOLEAN 3 #define UVC_CTRL_DATA_TYPE_ENUM 4 #define UVC_CTRL_DATA_TYPE_BITMASK 5 +#define UVC_CTRL_DATA_TYPE_RECT 6 /* Control flags */ #define UVC_CTRL_FLAG_SET_CUR (1 << 0) @@ -38,6 +39,18 @@ #define UVC_MENU_NAME_LEN 32 +/* V4L2 driver-specific controls */ +#define V4L2_CID_UVC_REGION_OF_INTEREST_RECT (V4L2_CID_USER_UVC_BASE + 1) +#define V4L2_CID_UVC_REGION_OF_INTEREST_AUTO (V4L2_CID_USER_UVC_BASE + 2) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_EXPOSURE (1 << 0) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_IRIS (1 << 1) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_WHITE_BALANCE (1 << 2) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_FOCUS (1 << 3) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_FACE_DETECT (1 << 4) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_DETECT_AND_TRACK (1 << 5) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_IMAGE_STABILIZATION (1 << 6) +#define V4L2_UVC_REGION_OF_INTEREST_AUTO_HIGHER_QUALITY (1 << 7) + struct uvc_menu_info { __u32 value; __u8 name[UVC_MENU_NAME_LEN]; diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 974fd254e573..72e32814ea83 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -215,6 +215,13 @@ enum v4l2_colorfx { */ #define V4L2_CID_USER_THP7312_BASE (V4L2_CID_USER_BASE + 0x11c0) +/* + * The base for the uvc driver controls. + * See linux/uvcvideo.h for the list of controls. + * We reserve 64 controls for this driver. + */ +#define V4L2_CID_USER_UVC_BASE (V4L2_CID_USER_BASE + 0x11e0) + /* MPEG-class control IDs */ /* The MPEG controls are applicable to all codec controls * and the 'MPEG' part of the define is historical */ diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index e7c4dce39007..c8cb2796130f 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -1859,6 +1859,7 @@ struct v4l2_ext_control { __s32 __user *p_s32; __s64 __user *p_s64; struct v4l2_area __user *p_area; + struct v4l2_rect __user *p_rect; struct v4l2_ctrl_h264_sps __user *p_h264_sps; struct v4l2_ctrl_h264_pps __user *p_h264_pps; struct v4l2_ctrl_h264_scaling_matrix __user *p_h264_scaling_matrix; @@ -1911,6 +1912,8 @@ struct v4l2_ext_controls { #define V4L2_CTRL_WHICH_CUR_VAL 0 #define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000 #define V4L2_CTRL_WHICH_REQUEST_VAL 0x0f010000 +#define V4L2_CTRL_WHICH_MIN_VAL 0x0f020000 +#define V4L2_CTRL_WHICH_MAX_VAL 0x0f030000 enum v4l2_ctrl_type { V4L2_CTRL_TYPE_INTEGER = 1, @@ -1929,6 +1932,7 @@ enum v4l2_ctrl_type { V4L2_CTRL_TYPE_U16 = 0x0101, V4L2_CTRL_TYPE_U32 = 0x0102, V4L2_CTRL_TYPE_AREA = 0x0106, + V4L2_CTRL_TYPE_RECT = 0x0107, V4L2_CTRL_TYPE_HDR10_CLL_INFO = 0x0110, V4L2_CTRL_TYPE_HDR10_MASTERING_DISPLAY = 0x0111, @@ -2017,6 +2021,7 @@ struct v4l2_querymenu { #define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200 #define V4L2_CTRL_FLAG_MODIFY_LAYOUT 0x0400 #define V4L2_CTRL_FLAG_DYNAMIC_ARRAY 0x0800 +#define V4L2_CTRL_FLAG_HAS_WHICH_MIN_MAX 0x1000 /* Query flags, to be ORed with the control ID */ #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 |
