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

From: Laurent Pinchart
Date: Fri Jun 02 2023 - 10:26:34 EST


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 <yu1.meng@xxxxxxxxx>
> > > Co-developed-by: Evgeni Raikhel <evgeni.raikhel@xxxxxxxxx>
> > > Signed-off-by: Dmitry Perchanov <dmitry.perchanov@xxxxxxxxx>
> >
> > Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> >
> > 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