mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Merge tag 'media/v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: - New V4L2 ioctl VIDIOC_REMOVE_BUFS - experimental support for using generic metaformats on V4L2 core - New drivers: Intel IPU6 controller driver, Broadcom BCM283x/BCM271x - More cleanups at atomisp driver - Usual bunch of driver cleanups, improvements and fixes * tag 'media/v6.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (328 commits) media: bcm2835-unicam: Depend on COMMON_CLK Revert "media: v4l2-ctrls: show all owned controls in log_status" media: ov2740: Ensure proper reset sequence on probe() media: intel/ipu6: Don't print user-triggerable errors to kernel log media: bcm2835-unicam: Fix driver path in MAINTAINERS media: bcm2835-unicam: Fix a NULL vs IS_ERR() check media: bcm2835-unicam: Do not print error when irq not found media: bcm2835-unicam: Do not replace IRQ retcode during probe media: bcm2835-unicam: Convert to platform remove callback returning void media: media: intel/ipu6: Fix spelling mistake "remappinp" -> "remapping" media: intel/ipu6: explicitly include vmalloc.h media: cec.h: Fix kerneldoc media: uvcvideo: Refactor iterators media: v4l: async: refactor v4l2_async_create_ancillary_links media: intel/ipu6: Don't re-allocate memory for firmware media: dvb-frontends: tda10048: Fix integer overflow media: tc358746: Use the correct div_ function media: i2c: st-mipid02: Use the correct div function media: tegra-vde: Refactor timeout handling media: stk1160: Use min macro ...
This commit is contained in:
@@ -854,7 +854,7 @@ struct dtv_stats {
|
||||
union {
|
||||
__u64 uvalue; /* for counters and relative scales */
|
||||
__s64 svalue; /* for 0.001 dB measures */
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
} __attribute__ ((packed));
|
||||
|
||||
|
||||
|
||||
@@ -174,4 +174,13 @@
|
||||
*/
|
||||
#define MEDIA_BUS_FMT_METADATA_FIXED 0x7001
|
||||
|
||||
/* Generic line based metadata formats for serial buses. Next is 0x8008. */
|
||||
#define MEDIA_BUS_FMT_META_8 0x8001
|
||||
#define MEDIA_BUS_FMT_META_10 0x8002
|
||||
#define MEDIA_BUS_FMT_META_12 0x8003
|
||||
#define MEDIA_BUS_FMT_META_14 0x8004
|
||||
#define MEDIA_BUS_FMT_META_16 0x8005
|
||||
#define MEDIA_BUS_FMT_META_20 0x8006
|
||||
#define MEDIA_BUS_FMT_META_24 0x8007
|
||||
|
||||
#endif /* __LINUX_MEDIA_BUS_FORMAT_H */
|
||||
|
||||
@@ -19,12 +19,18 @@
|
||||
* @width: image width
|
||||
* @height: image height
|
||||
* @code: data format code (from enum v4l2_mbus_pixelcode)
|
||||
* @field: used interlacing type (from enum v4l2_field)
|
||||
* @colorspace: colorspace of the data (from enum v4l2_colorspace)
|
||||
* @ycbcr_enc: YCbCr encoding of the data (from enum v4l2_ycbcr_encoding)
|
||||
* @hsv_enc: HSV encoding of the data (from enum v4l2_hsv_encoding)
|
||||
* @quantization: quantization of the data (from enum v4l2_quantization)
|
||||
* @xfer_func: transfer function of the data (from enum v4l2_xfer_func)
|
||||
* @field: used interlacing type (from enum v4l2_field), zero for metadata
|
||||
* mbus codes
|
||||
* @colorspace: colorspace of the data (from enum v4l2_colorspace), zero on
|
||||
* metadata mbus codes
|
||||
* @ycbcr_enc: YCbCr encoding of the data (from enum v4l2_ycbcr_encoding), zero
|
||||
* for metadata mbus codes
|
||||
* @hsv_enc: HSV encoding of the data (from enum v4l2_hsv_encoding), zero for
|
||||
* metadata mbus codes
|
||||
* @quantization: quantization of the data (from enum v4l2_quantization), zero
|
||||
* for metadata mbus codes
|
||||
* @xfer_func: transfer function of the data (from enum v4l2_xfer_func), zero
|
||||
* for metadata mbus codes
|
||||
* @flags: flags (V4L2_MBUS_FRAMEFMT_*)
|
||||
* @reserved: reserved bytes that can be later used
|
||||
*/
|
||||
|
||||
@@ -50,6 +50,10 @@ struct v4l2_subdev_format {
|
||||
* @rect: pad crop rectangle boundaries
|
||||
* @stream: stream number, defined in subdev routing
|
||||
* @reserved: drivers and applications must zero this array
|
||||
*
|
||||
* The subdev crop API is an obsolete interface and may be removed in the
|
||||
* future. It is superseded by the selection API. No new extensions to this
|
||||
* structure will be accepted.
|
||||
*/
|
||||
struct v4l2_subdev_crop {
|
||||
__u32 which;
|
||||
@@ -224,15 +228,19 @@ struct v4l2_subdev_route {
|
||||
* struct v4l2_subdev_routing - Subdev routing information
|
||||
*
|
||||
* @which: configuration type (from enum v4l2_subdev_format_whence)
|
||||
* @num_routes: the total number of routes in the routes array
|
||||
* @len_routes: the length of the routes array, in routes; set by the user, not
|
||||
* modified by the kernel
|
||||
* @routes: pointer to the routes array
|
||||
* @num_routes: the total number of routes, possibly more than fits in the
|
||||
* routes array
|
||||
* @reserved: drivers and applications must zero this array
|
||||
*/
|
||||
struct v4l2_subdev_routing {
|
||||
__u32 which;
|
||||
__u32 num_routes;
|
||||
__u32 len_routes;
|
||||
__u64 routes;
|
||||
__u32 reserved[6];
|
||||
__u32 num_routes;
|
||||
__u32 reserved[11];
|
||||
};
|
||||
|
||||
/*
|
||||
|
||||
@@ -599,6 +599,8 @@ struct v4l2_pix_format {
|
||||
#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
|
||||
#define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */
|
||||
#define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */
|
||||
#define V4L2_PIX_FMT_Y12P v4l2_fourcc('Y', '1', '2', 'P') /* 12 Greyscale, MIPI RAW12 packed */
|
||||
#define V4L2_PIX_FMT_Y14P v4l2_fourcc('Y', '1', '4', 'P') /* 14 Greyscale, MIPI RAW14 packed */
|
||||
|
||||
/* Palette formats */
|
||||
#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
|
||||
@@ -839,6 +841,20 @@ struct v4l2_pix_format {
|
||||
#define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */
|
||||
#define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A Statistics */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/*
|
||||
* Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when
|
||||
* adding new ones!
|
||||
*/
|
||||
#define V4L2_META_FMT_GENERIC_8 v4l2_fourcc('M', 'E', 'T', '8') /* Generic 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_10 v4l2_fourcc('M', 'C', '1', 'A') /* 10-bit CSI-2 packed 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_12 v4l2_fourcc('M', 'C', '1', 'C') /* 12-bit CSI-2 packed 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_14 v4l2_fourcc('M', 'C', '1', 'E') /* 14-bit CSI-2 packed 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_16 v4l2_fourcc('M', 'C', '1', 'G') /* 16-bit CSI-2 packed 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_20 v4l2_fourcc('M', 'C', '1', 'K') /* 20-bit CSI-2 packed 8-bit metadata */
|
||||
#define V4L2_META_FMT_GENERIC_CSI2_24 v4l2_fourcc('M', 'C', '1', 'O') /* 24-bit CSI-2 packed 8-bit metadata */
|
||||
#endif
|
||||
|
||||
/* priv field value to indicates that subsequent fields are valid. */
|
||||
#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
|
||||
|
||||
@@ -869,6 +885,7 @@ struct v4l2_fmtdesc {
|
||||
#define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080
|
||||
#define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC
|
||||
#define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100
|
||||
#define V4L2_FMT_FLAG_META_LINE_BASED 0x0200
|
||||
|
||||
/* Frame Size and frame rate enumeration */
|
||||
/*
|
||||
@@ -1036,6 +1053,7 @@ struct v4l2_requestbuffers {
|
||||
#define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7)
|
||||
#define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8)
|
||||
|
||||
/**
|
||||
* struct v4l2_plane - plane info for multi-planar buffers
|
||||
@@ -1841,7 +1859,7 @@ struct v4l2_ext_control {
|
||||
struct v4l2_ctrl_hdr10_cll_info __user *p_hdr10_cll_info;
|
||||
struct v4l2_ctrl_hdr10_mastering_display __user *p_hdr10_mastering_display;
|
||||
void __user *ptr;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_ext_controls {
|
||||
@@ -2415,10 +2433,19 @@ struct v4l2_sdr_format {
|
||||
* struct v4l2_meta_format - metadata format definition
|
||||
* @dataformat: little endian four character code (fourcc)
|
||||
* @buffersize: maximum size in bytes required for data
|
||||
* @width: number of data units of data per line (valid for line
|
||||
* based formats only, see format documentation)
|
||||
* @height: number of lines of data per buffer (valid for line based
|
||||
* formats only)
|
||||
* @bytesperline: offset between the beginnings of two adjacent lines in
|
||||
* bytes (valid for line based formats only)
|
||||
*/
|
||||
struct v4l2_meta_format {
|
||||
__u32 dataformat;
|
||||
__u32 buffersize;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u32 bytesperline;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/**
|
||||
@@ -2624,6 +2651,20 @@ struct v4l2_create_buffers {
|
||||
__u32 reserved[5];
|
||||
};
|
||||
|
||||
/**
|
||||
* struct v4l2_remove_buffers - VIDIOC_REMOVE_BUFS argument
|
||||
* @index: the first buffer to be removed
|
||||
* @count: number of buffers to removed
|
||||
* @type: enum v4l2_buf_type
|
||||
* @reserved: future extensions
|
||||
*/
|
||||
struct v4l2_remove_buffers {
|
||||
__u32 index;
|
||||
__u32 count;
|
||||
__u32 type;
|
||||
__u32 reserved[13];
|
||||
};
|
||||
|
||||
/*
|
||||
* I O C T L C O D E S F O R V I D E O D E V I C E S
|
||||
*
|
||||
@@ -2723,6 +2764,8 @@ struct v4l2_create_buffers {
|
||||
#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
|
||||
|
||||
#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
|
||||
#define VIDIOC_REMOVE_BUFS _IOWR('V', 104, struct v4l2_remove_buffers)
|
||||
|
||||
|
||||
/* Reminder: when adding new ioctls please add support for them to
|
||||
drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
|
||||
|
||||
Reference in New Issue
Block a user