Pull media updates from Mauro Carvalho Chehab: - Removal of some old unused sensor drivers: ad9389b, m5mols, mt9m032, mt9t001, noon010pc30, s5k6aa, sr030pc30 and vs6624 - New i.MX8 image sensor interface driver - Some new RC keymaps - lots of cleanups at atomisp driver to make it support standard features present on other webcam drivers - the cx18 and saa7146 now uses VB2 - lots of cleanups and driver improvements * tag 'media/v6.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (460 commits) media: ov5670: Fix probe on ACPI media: nxp: imx8-isi: Remove 300ms sleep after enabling channel media: nxp: imx8-isi: Replace udelay() with fsleep() media: nxp: imx8-isi: Drop partial support for i.MX8QM and i.MX8QXP media: nxp: Add i.MX8 ISI driver media: dt-bindings: media: Add i.MX8 ISI DT bindings media: atomisp: gmin_platform: Add Lenovo Ideapad Miix 310 gmin_vars media: atomisp: gmin_platform: Make DMI quirks take precedence over the _DSM table media: atomisp: Remove struct atomisp_sub_device index field media: atomisp: Drop support for streaming from 2 sensors at once media: atomisp: Remove atomisp_try_fmt() call from atomisp_set_fmt() media: atomisp: Remove unused ATOM_ISP_MAX_WIDTH_TMP and ATOM_ISP_MAX_HEIGHT_TMP media: atomisp: Remove snr_mbus_fmt local var from atomisp_try_fmt() media: atomisp: Remove custom V4L2_CID_FMT_AUTO control media: atomisp: Remove continuous mode related code from atomisp_set_fmt() media: atomisp: Remove duplicate atomisp_[start|stop]_streaming() prototypes media: atomisp: gc0310: Switch over to ACPI powermanagement media: atomisp: gc0310: Use devm_kzalloc() for data struct media: atomisp: gc0310: Add runtime-pm support media: atomisp: gc0310: Delay power-on till streaming is started ...
Showing the changes to include/uapi (2 of 442 files). Show all
Unified · Split
| @@ -233,6 +233,24 @@ struct v4l2_subdev_routing { · 232 unmodified lines | |||
| 233 | __u32 reserved[6]; | 233 | __u32 reserved[6]; |
| 234 | }; | 234 | }; |
| 235 | 235 | ||
| 236 | /* | ||
| 237 | * The client is aware of streams. Setting this flag enables the use of 'stream' | ||
| 238 | * fields (referring to the stream number) with various ioctls. If this is not | ||
| 239 | * set (which is the default), the 'stream' fields will be forced to 0 by the | ||
| 240 | * kernel. | ||
| 241 | */ | ||
| 242 | #define V4L2_SUBDEV_CLIENT_CAP_STREAMS (1U << 0) | ||
| 243 | |||
| 244 | /** | ||
| 245 | * struct v4l2_subdev_client_capability - Capabilities of the client accessing | ||
| 246 | * the subdev | ||
| 247 | * | ||
| 248 | * @capabilities: A bitmask of V4L2_SUBDEV_CLIENT_CAP_* flags. | ||
| 249 | */ | ||
| 250 | struct v4l2_subdev_client_capability { | ||
| 251 | __u64 capabilities; | ||
| 252 | }; | ||
| 253 | |||
| 236 | /* Backwards compatibility define --- to be removed */ | 254 | /* Backwards compatibility define --- to be removed */ |
| 237 | #define v4l2_subdev_edid v4l2_edid | 255 | #define v4l2_subdev_edid v4l2_edid |
| 238 | 256 | ||
| @@ -250,6 +268,9 @@ struct v4l2_subdev_routing { · 11 unmodified lines | |||
| 250 | #define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection) | 268 | #define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection) |
| 251 | #define VIDIOC_SUBDEV_G_ROUTING _IOWR('V', 38, struct v4l2_subdev_routing) | 269 | #define VIDIOC_SUBDEV_G_ROUTING _IOWR('V', 38, struct v4l2_subdev_routing) |
| 252 | #define VIDIOC_SUBDEV_S_ROUTING _IOWR('V', 39, struct v4l2_subdev_routing) | 270 | #define VIDIOC_SUBDEV_S_ROUTING _IOWR('V', 39, struct v4l2_subdev_routing) |
| 271 | #define VIDIOC_SUBDEV_G_CLIENT_CAP _IOR('V', 101, struct v4l2_subdev_client_capability) | ||
| 272 | #define VIDIOC_SUBDEV_S_CLIENT_CAP _IOWR('V', 102, struct v4l2_subdev_client_capability) | ||
| 273 | |||
| 253 | /* The following ioctls are identical to the ioctls in videodev2.h */ | 274 | /* The following ioctls are identical to the ioctls in videodev2.h */ |
| 254 | #define VIDIOC_SUBDEV_G_STD _IOR('V', 23, v4l2_std_id) | 275 | #define VIDIOC_SUBDEV_G_STD _IOR('V', 23, v4l2_std_id) |
| 255 | #define VIDIOC_SUBDEV_S_STD _IOW('V', 24, v4l2_std_id) | 276 | #define VIDIOC_SUBDEV_S_STD _IOW('V', 24, v4l2_std_id) |
| @@ -580,12 +580,17 @@ struct v4l2_pix_format { · 579 unmodified lines | |||
| 580 | #define V4L2_PIX_FMT_RGBA1010102 v4l2_fourcc('R', 'A', '3', '0') /* 32 RGBA-10-10-10-2 */ | 580 | #define V4L2_PIX_FMT_RGBA1010102 v4l2_fourcc('R', 'A', '3', '0') /* 32 RGBA-10-10-10-2 */ |
| 581 | #define V4L2_PIX_FMT_ARGB2101010 v4l2_fourcc('A', 'R', '3', '0') /* 32 ARGB-2-10-10-10 */ | 581 | #define V4L2_PIX_FMT_ARGB2101010 v4l2_fourcc('A', 'R', '3', '0') /* 32 ARGB-2-10-10-10 */ |
| 582 | 582 | ||
| 583 | /* RGB formats (6 or 8 bytes per pixel) */ | ||
| 584 | #define V4L2_PIX_FMT_BGR48_12 v4l2_fourcc('B', '3', '1', '2') /* 48 BGR 12-bit per component */ | ||
| 585 | #define V4L2_PIX_FMT_ABGR64_12 v4l2_fourcc('B', '4', '1', '2') /* 64 BGRA 12-bit per component */ | ||
| 586 | |||
| 583 | /* Grey formats */ | 587 | /* Grey formats */ |
| 584 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ | 588 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ |
| 585 | #define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */ | 589 | #define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */ |
| 586 | #define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */ | 590 | #define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */ |
| 587 | #define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */ | 591 | #define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */ |
| 588 | #define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */ | 592 | #define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */ |
| 593 | #define V4L2_PIX_FMT_Y012 v4l2_fourcc('Y', '0', '1', '2') /* 12 Greyscale */ | ||
| 589 | #define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ') /* 14 Greyscale */ | 594 | #define V4L2_PIX_FMT_Y14 v4l2_fourcc('Y', '1', '4', ' ') /* 14 Greyscale */ |
| 590 | #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ | 595 | #define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */ |
| 591 | #define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */ | 596 | #define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */ |
| @@ -620,6 +625,7 @@ struct v4l2_pix_format { · 28 unmodified lines | |||
| 620 | #define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A') /* 32 YUVA-8-8-8-8 */ | 625 | #define V4L2_PIX_FMT_YUVA32 v4l2_fourcc('Y', 'U', 'V', 'A') /* 32 YUVA-8-8-8-8 */ |
| 621 | #define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X') /* 32 YUVX-8-8-8-8 */ | 626 | #define V4L2_PIX_FMT_YUVX32 v4l2_fourcc('Y', 'U', 'V', 'X') /* 32 YUVX-8-8-8-8 */ |
| 622 | #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ | 627 | #define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */ |
| 628 | #define V4L2_PIX_FMT_YUV48_12 v4l2_fourcc('Y', '3', '1', '2') /* 48 YUV 4:4:4 12-bit per component */ | ||
| 623 | 629 | ||
| 624 | /* | 630 | /* |
| 625 | * YCbCr packed format. For each Y2xx format, xx bits of valid data occupy the MSBs | 631 | * YCbCr packed format. For each Y2xx format, xx bits of valid data occupy the MSBs |
| @@ -637,12 +643,14 @@ struct v4l2_pix_format { · 11 unmodified lines | |||
| 637 | #define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */ | 643 | #define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */ |
| 638 | #define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */ | 644 | #define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */ |
| 639 | #define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per component */ | 645 | #define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per component */ |
| 646 | #define V4L2_PIX_FMT_P012 v4l2_fourcc('P', '0', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per component */ | ||
| 640 | 647 | ||
| 641 | /* two non contiguous planes - one Y, one Cr + Cb interleaved */ | 648 | /* two non contiguous planes - one Y, one Cr + Cb interleaved */ |
| 642 | #define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */ | 649 | #define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */ |
| 643 | #define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/CrCb 4:2:0 */ | 650 | #define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/CrCb 4:2:0 */ |
| 644 | #define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') /* 16 Y/CbCr 4:2:2 */ | 651 | #define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') /* 16 Y/CbCr 4:2:2 */ |
| 645 | #define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') /* 16 Y/CrCb 4:2:2 */ | 652 | #define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') /* 16 Y/CrCb 4:2:2 */ |
| 653 | #define V4L2_PIX_FMT_P012M v4l2_fourcc('P', 'M', '1', '2') /* 24 Y/CbCr 4:2:0 12-bit per component */ | ||
| 646 | 654 | ||
| 647 | /* three planes - Y Cb, Cr */ | 655 | /* three planes - Y Cb, Cr */ |
| 648 | #define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */ | 656 | #define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */ |
| @@ -750,6 +758,9 @@ struct v4l2_pix_format { · 101 unmodified lines | |||
| 750 | #define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H') /* Stateless FWHT (vicodec) */ | 758 | #define V4L2_PIX_FMT_FWHT_STATELESS v4l2_fourcc('S', 'F', 'W', 'H') /* Stateless FWHT (vicodec) */ |
| 751 | #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* H264 parsed slices */ | 759 | #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* H264 parsed slices */ |
| 752 | #define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */ | 760 | #define V4L2_PIX_FMT_HEVC_SLICE v4l2_fourcc('S', '2', '6', '5') /* HEVC parsed slices */ |
| 761 | #define V4L2_PIX_FMT_SPK v4l2_fourcc('S', 'P', 'K', '0') /* Sorenson Spark */ | ||
| 762 | #define V4L2_PIX_FMT_RV30 v4l2_fourcc('R', 'V', '3', '0') /* RealVideo 8 */ | ||
| 763 | #define V4L2_PIX_FMT_RV40 v4l2_fourcc('R', 'V', '4', '0') /* RealVideo 9 & 10 */ | ||
| 753 | 764 | ||
| 754 | /* Vendor-specific formats */ | 765 | /* Vendor-specific formats */ |
| 755 | #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ | 766 | #define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */ |
| @@ -1224,8 +1235,10 @@ struct v4l2_framebuffer { · 468 unmodified lines | |||
| 1224 | /* Flags for the 'capability' field. Read only */ | 1235 | /* Flags for the 'capability' field. Read only */ |
| 1225 | #define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 | 1236 | #define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 |
| 1226 | #define V4L2_FBUF_CAP_CHROMAKEY 0x0002 | 1237 | #define V4L2_FBUF_CAP_CHROMAKEY 0x0002 |
| 1238 | #ifndef __KERNEL__ | ||
| 1227 | #define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004 | 1239 | #define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004 |
| 1228 | #define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008 | 1240 | #define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008 |
| 1241 | #endif | ||
| 1229 | #define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010 | 1242 | #define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010 |
| 1230 | #define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020 | 1243 | #define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020 |
| 1231 | #define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040 | 1244 | #define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040 |