You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
5.0 KiB
137 lines
5.0 KiB
From 04128af65169760ec4c8fba681ef278fc22b7ec1 Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Perchanov <dmitry.perchanov@intel.com>
|
|
Date: Sun, 13 Aug 2023 12:13:21 +0300
|
|
Subject: [PATCH] Enabling UVC Metadata attributes, Ubuntu jammy 22.04. Kernel
|
|
6.2
|
|
|
|
Signed-off-by: Dmitry Perchanov <dmitry.perchanov@intel.com>
|
|
---
|
|
drivers/media/usb/uvc/uvc_driver.c | 90 ++++++++++++++++++++++++++++++
|
|
drivers/media/usb/uvc/uvcvideo.h | 2 +-
|
|
2 files changed, 91 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
|
|
index 362df9dd3..8f65b969b 100644
|
|
--- a/drivers/media/usb/uvc/uvc_driver.c
|
|
+++ b/drivers/media/usb/uvc/uvc_driver.c
|
|
@@ -2963,6 +2963,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,
|
|
@@ -2972,6 +2999,69 @@ 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 D555e Depth Camera */
|
|
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
|
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
|
+ .idVendor = 0x8086,
|
|
+ .idProduct = 0x0b56,
|
|
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
|
+ .bInterfaceSubClass = 1,
|
|
+ .bInterfaceProtocol = UVC_PC_PROTOCOL_15,
|
|
+ .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) },
|
|
+ /* Intel D585 Depth Camera */
|
|
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
|
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
|
+ .idVendor = 0x8086,
|
|
+ .idProduct = 0x0b6a,
|
|
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
|
+ .bInterfaceSubClass = 1,
|
|
+ .bInterfaceProtocol = UVC_PC_PROTOCOL_15,
|
|
+ .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) },
|
|
+ /* Intel 585 Camera */
|
|
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
|
|
+ | USB_DEVICE_ID_MATCH_INT_INFO,
|
|
+ .idVendor = 0x8086,
|
|
+ .idProduct = 0x0b6b,
|
|
+ .bInterfaceClass = USB_CLASS_VIDEO,
|
|
+ .bInterfaceSubClass = 1,
|
|
+ .bInterfaceProtocol = UVC_PC_PROTOCOL_15,
|
|
+ .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) },
|
|
diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h
|
|
index 33e7475d4..9a5a5a017 100644
|
|
--- a/drivers/media/usb/uvc/uvcvideo.h
|
|
+++ b/drivers/media/usb/uvc/uvcvideo.h
|
|
@@ -52,7 +52,7 @@
|
|
/* Maximum number of packets per URB. */
|
|
#define UVC_MAX_PACKETS 32
|
|
/* Maximum status buffer size in bytes of interrupt URB. */
|
|
-#define UVC_MAX_STATUS_SIZE 16
|
|
+#define UVC_MAX_STATUS_SIZE 32
|
|
|
|
#define UVC_CTRL_CONTROL_TIMEOUT 5000
|
|
#define UVC_CTRL_STREAMING_TIMEOUT 5000
|
|
--
|
|
2.34.1
|
|
|