2023-04-20 09:11:17

by Dmitry Perchanov

[permalink] [raw]
Subject: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Intel RealSense UVC Depth cameras produce metadata in a
vendor-specific format that is already supported by the uvcvideo driver.
Enable handling of this metadata for 7 additional RealSense devices.

Co-developed-by: Yu MENG <[email protected]>
Co-developed-by: Evgeni Raikhel <[email protected]>
Signed-off-by: Dmitry Perchanov <[email protected]>
---
drivers/media/usb/uvc/uvc_driver.c | 63 ++++++++++++++++++++++++++++++
1 file changed, 63 insertions(+)

diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 7aefa76a42b3..f69573e2de96 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -3014,6 +3014,33 @@ static const struct usb_device_id uvc_ids[] = {
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited },
+ /* Intel D410/ASR depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0ad2,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D415/ASRC depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0ad3,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D430/AWG depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0ad4,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
/* Intel RealSense D4M */
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_INT_INFO,
@@ -3023,6 +3050,42 @@ static const struct usb_device_id uvc_ids[] = {
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D435/AWGC depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0b07,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D435i depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0b3a,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D405 Depth Camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0b5b,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
+ /* Intel D455 Depth Camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
+ .idProduct = 0x0b5c,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
/* Generic USB Video Class */
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
{ USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },
--
2.25.1


---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


2023-04-20 09:29:16

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Hi Dmitry,

On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> Intel RealSense UVC Depth cameras produce metadata in a
> vendor-specific format that is already supported by the uvcvideo driver.
> Enable handling of this metadata for 7 additional RealSense devices.
>
> Co-developed-by: Yu MENG <[email protected]>
> Co-developed-by: Evgeni Raikhel <[email protected]>
> Signed-off-by: Dmitry Perchanov <[email protected]>

Thanks for the update.

Is the D4XX format on these devices the same that's documented in
Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst ? I.e. there are
no additional fields or differences, and the version of the format is the
same?

The format documentation doesn't say which version number even the current
devices use (just refers to "xxx").

--
Kind regards,

Sakari Ailus

2023-04-20 10:44:01

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Hi Dmitry,

Thank you for the patch.

On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> Intel RealSense UVC Depth cameras produce metadata in a
> vendor-specific format that is already supported by the uvcvideo driver.
> Enable handling of this metadata for 7 additional RealSense devices.
>
> Co-developed-by: Yu MENG <[email protected]>
> Co-developed-by: Evgeni Raikhel <[email protected]>
> Signed-off-by: Dmitry Perchanov <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

I will wait for the answer to Sakari's question before merging this
though.

> ---
> drivers/media/usb/uvc/uvc_driver.c | 63 ++++++++++++++++++++++++++++++
> 1 file changed, 63 insertions(+)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 7aefa76a42b3..f69573e2de96 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -3014,6 +3014,33 @@ static const struct usb_device_id uvc_ids[] = {
> .bInterfaceSubClass = 1,
> .bInterfaceProtocol = 0,
> .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited },
> + /* Intel D410/ASR depth camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0ad2,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D415/ASRC depth camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0ad3,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D430/AWG depth camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0ad4,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> /* Intel RealSense D4M */
> { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> | USB_DEVICE_ID_MATCH_INT_INFO,
> @@ -3023,6 +3050,42 @@ static const struct usb_device_id uvc_ids[] = {
> .bInterfaceSubClass = 1,
> .bInterfaceProtocol = 0,
> .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D435/AWGC depth camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0b07,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D435i depth camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0b3a,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D405 Depth Camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0b5b,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> + /* Intel D455 Depth Camera */
> + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> + | USB_DEVICE_ID_MATCH_INT_INFO,
> + .idVendor = 0x8086,
> + .idProduct = 0x0b5c,
> + .bInterfaceClass = USB_CLASS_VIDEO,
> + .bInterfaceSubClass = 1,
> + .bInterfaceProtocol = 0,
> + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> /* Generic USB Video Class */
> { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
> { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },

--
Regards,

Laurent Pinchart

2023-04-20 11:29:08

by Dmitry Perchanov

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Hi Sakari,

On Thu, 2023-04-20 at 12:24 +0300, Sakari Ailus wrote:
> Hi Dmitry,
>
> On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> > Intel RealSense UVC Depth cameras produce metadata in a
> > vendor-specific format that is already supported by the uvcvideo driver.
> > Enable handling of this metadata for 7 additional RealSense devices.
> >
> > Co-developed-by: Yu MENG <[email protected]>
> > Co-developed-by: Evgeni Raikhel <[email protected]>
> > Signed-off-by: Dmitry Perchanov <[email protected]>
>
> Thanks for the update.
>
> Is the D4XX format on these devices the same that's documented in
> Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst ? I.e. there are
> no additional fields or differences, and the version of the format is the
> same?
We verified the document and found it generally correct.
Although, we expanded number of fields and I can update this document.
>
> The format documentation doesn't say which version number even the current
> devices use (just refers to "xxx").
The document compatible with all D4xx/D5xx devices so far.
We dropped all obsolete incompatible cameras from support.
>

Should I submit another patch with extended structures?

Regards,
Dmitry P.

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

2023-04-20 11:35:50

by Sakari Ailus

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Hi Dmitry,

On Thu, Apr 20, 2023 at 02:26:53PM +0300, Dmitry Perchanov wrote:
> Hi Sakari,
>
> On Thu, 2023-04-20 at 12:24 +0300, Sakari Ailus wrote:
> > Hi Dmitry,
> >
> > On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> > > Intel RealSense UVC Depth cameras produce metadata in a
> > > vendor-specific format that is already supported by the uvcvideo driver.
> > > Enable handling of this metadata for 7 additional RealSense devices.
> > >
> > > Co-developed-by: Yu MENG <[email protected]>
> > > Co-developed-by: Evgeni Raikhel <[email protected]>
> > > Signed-off-by: Dmitry Perchanov <[email protected]>
> >
> > Thanks for the update.
> >
> > Is the D4XX format on these devices the same that's documented in
> > Documentation/userspace-api/media/v4l/pixfmt-meta-d4xx.rst ? I.e. there are
> > no additional fields or differences, and the version of the format is the
> > same?
> We verified the document and found it generally correct.
> Although, we expanded number of fields and I can update this document.
> >
> > The format documentation doesn't say which version number even the current
> > devices use (just refers to "xxx").
> The document compatible with all D4xx/D5xx devices so far.
> We dropped all obsolete incompatible cameras from support.
> >
>
> Should I submit another patch with extended structures?

Please do.

If some of the fields are only available on certain devices, it'd be good
to document which fields and which devices, or whether it's struct version
dependent (and then what that depends on).

--
Regards,

Sakari Ailus

2023-06-01 14:34:25

by Dmitry Perchanov

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Bump.
All questions are answered.


On Thu, 2023-04-20 at 13:31 +0300, Laurent Pinchart wrote:
> Hi Dmitry,
>
> Thank you for the patch.
>
> On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> > Intel RealSense UVC Depth cameras produce metadata in a
> > vendor-specific format that is already supported by the uvcvideo driver.
> > Enable handling of this metadata for 7 additional RealSense devices.
> >
> > Co-developed-by: Yu MENG <[email protected]>
> > Co-developed-by: Evgeni Raikhel <[email protected]>
> > Signed-off-by: Dmitry Perchanov <[email protected]>
>
> Reviewed-by: Laurent Pinchart <[email protected]>
>
> I will wait for the answer to Sakari's question before merging this
> though.
>
> > ---
> > drivers/media/usb/uvc/uvc_driver.c | 63 ++++++++++++++++++++++++++++++
> > 1 file changed, 63 insertions(+)
> >
> > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > index 7aefa76a42b3..f69573e2de96 100644
> > --- a/drivers/media/usb/uvc/uvc_driver.c
> > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > @@ -3014,6 +3014,33 @@ static const struct usb_device_id uvc_ids[] = {
> > .bInterfaceSubClass = 1,
> > .bInterfaceProtocol = 0,
> > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited },
> > + /* Intel D410/ASR depth camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0ad2,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D415/ASRC depth camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0ad3,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D430/AWG depth camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0ad4,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > /* Intel RealSense D4M */
> > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > | USB_DEVICE_ID_MATCH_INT_INFO,
> > @@ -3023,6 +3050,42 @@ static const struct usb_device_id uvc_ids[] = {
> > .bInterfaceSubClass = 1,
> > .bInterfaceProtocol = 0,
> > .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D435/AWGC depth camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0b07,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D435i depth camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0b3a,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D405 Depth Camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0b5b,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > + /* Intel D455 Depth Camera */
> > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > + .idVendor = 0x8086,
> > + .idProduct = 0x0b5c,
> > + .bInterfaceClass = USB_CLASS_VIDEO,
> > + .bInterfaceSubClass = 1,
> > + .bInterfaceProtocol = 0,
> > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > /* Generic USB Video Class */
> > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
> > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


2023-06-02 14:27:51

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v3] media: uvcvideo: Enable Intel RealSense metadata for devices.

Hi Dmitry,

On Thu, Jun 01, 2023 at 05:03:06PM +0300, Dmitry Perchanov wrote:
> Bump.
> All questions are answered.

I've applied the patch to my tree.

> On Thu, 2023-04-20 at 13:31 +0300, Laurent Pinchart wrote:
> > Hi Dmitry,
> >
> > Thank you for the patch.
> >
> > On Thu, Apr 20, 2023 at 12:06:55PM +0300, Dmitry Perchanov wrote:
> > > Intel RealSense UVC Depth cameras produce metadata in a
> > > vendor-specific format that is already supported by the uvcvideo driver.
> > > Enable handling of this metadata for 7 additional RealSense devices.
> > >
> > > Co-developed-by: Yu MENG <[email protected]>
> > > Co-developed-by: Evgeni Raikhel <[email protected]>
> > > Signed-off-by: Dmitry Perchanov <[email protected]>
> >
> > Reviewed-by: Laurent Pinchart <[email protected]>
> >
> > I will wait for the answer to Sakari's question before merging this
> > though.
> >
> > > ---
> > > drivers/media/usb/uvc/uvc_driver.c | 63 ++++++++++++++++++++++++++++++
> > > 1 file changed, 63 insertions(+)
> > >
> > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > > index 7aefa76a42b3..f69573e2de96 100644
> > > --- a/drivers/media/usb/uvc/uvc_driver.c
> > > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > > @@ -3014,6 +3014,33 @@ static const struct usb_device_id uvc_ids[] = {
> > > .bInterfaceSubClass = 1,
> > > .bInterfaceProtocol = 0,
> > > .driver_info = (kernel_ulong_t)&uvc_ctrl_power_line_limited },
> > > + /* Intel D410/ASR depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad2,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D415/ASRC depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad3,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D430/AWG depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0ad4,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > /* Intel RealSense D4M */
> > > { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > | USB_DEVICE_ID_MATCH_INT_INFO,
> > > @@ -3023,6 +3050,42 @@ static const struct usb_device_id uvc_ids[] = {
> > > .bInterfaceSubClass = 1,
> > > .bInterfaceProtocol = 0,
> > > .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D435/AWGC depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b07,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D435i depth camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b3a,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D405 Depth Camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b5b,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > + /* Intel D455 Depth Camera */
> > > + { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> > > + | USB_DEVICE_ID_MATCH_INT_INFO,
> > > + .idVendor = 0x8086,
> > > + .idProduct = 0x0b5c,
> > > + .bInterfaceClass = USB_CLASS_VIDEO,
> > > + .bInterfaceSubClass = 1,
> > > + .bInterfaceProtocol = 0,
> > > + .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
> > > /* Generic USB Video Class */
> > > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_UNDEFINED) },
> > > { USB_INTERFACE_INFO(USB_CLASS_VIDEO, 1, UVC_PC_PROTOCOL_15) },

--
Regards,

Laurent Pinchart