summaryrefslogtreecommitdiffstats
path: root/0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch')
-rw-r--r--0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch95
1 files changed, 0 insertions, 95 deletions
diff --git a/0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch b/0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch
deleted file mode 100644
index 126593918..000000000
--- a/0001-media-uvcvideo-Support-realtek-s-UVC-1.5-device.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From f620d1d7afc7db57ab59f35000752840c91f67e7 Mon Sep 17 00:00:00 2001
-From: ming_qian <ming_qian@realsil.com.cn>
-Date: Tue, 8 May 2018 22:13:08 -0400
-Subject: [PATCH] media: uvcvideo: Support realtek's UVC 1.5 device
-
-media: uvcvideo: Support UVC 1.5 video probe & commit controls
-
-The length of UVC 1.5 video control is 48, and it is 34 for UVC 1.1.
-Change it to 48 for UVC 1.5 device, and the UVC 1.5 device can be
-recognized.
-
-More changes to the driver are needed for full UVC 1.5 compatibility.
-However, at least the UVC 1.5 Realtek RTS5847/RTS5852 cameras have been
-reported to work well.
-
-[laurent.pinchart@ideasonboard.com: Factor out code to helper function, update size checks]
-
-Cc: stable@vger.kernel.org
-Signed-off-by: ming_qian <ming_qian@realsil.com.cn>
-Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
-Tested-by: Ana Guerrero Lopez <ana.guerrero@collabora.com>
-Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
----
- drivers/media/usb/uvc/uvc_video.c | 24 ++++++++++++++++++------
- 1 file changed, 18 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
-index aa0082fe5833..b28c997a7ab0 100644
---- a/drivers/media/usb/uvc/uvc_video.c
-+++ b/drivers/media/usb/uvc/uvc_video.c
-@@ -163,14 +163,27 @@ static void uvc_fixup_video_ctrl(struct uvc_streaming *stream,
- }
- }
-
-+static size_t uvc_video_ctrl_size(struct uvc_streaming *stream)
-+{
-+ /*
-+ * Return the size of the video probe and commit controls, which depends
-+ * on the protocol version.
-+ */
-+ if (stream->dev->uvc_version < 0x0110)
-+ return 26;
-+ else if (stream->dev->uvc_version < 0x0150)
-+ return 34;
-+ else
-+ return 48;
-+}
-+
- static int uvc_get_video_ctrl(struct uvc_streaming *stream,
- struct uvc_streaming_control *ctrl, int probe, u8 query)
- {
-+ u16 size = uvc_video_ctrl_size(stream);
- u8 *data;
-- u16 size;
- int ret;
-
-- size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
- if ((stream->dev->quirks & UVC_QUIRK_PROBE_DEF) &&
- query == UVC_GET_DEF)
- return -EIO;
-@@ -225,7 +238,7 @@ static int uvc_get_video_ctrl(struct uvc_streaming *stream,
- ctrl->dwMaxVideoFrameSize = get_unaligned_le32(&data[18]);
- ctrl->dwMaxPayloadTransferSize = get_unaligned_le32(&data[22]);
-
-- if (size == 34) {
-+ if (size >= 34) {
- ctrl->dwClockFrequency = get_unaligned_le32(&data[26]);
- ctrl->bmFramingInfo = data[30];
- ctrl->bPreferedVersion = data[31];
-@@ -254,11 +267,10 @@ static int uvc_get_video_ctrl(struct uvc_streaming *stream,
- static int uvc_set_video_ctrl(struct uvc_streaming *stream,
- struct uvc_streaming_control *ctrl, int probe)
- {
-+ u16 size = uvc_video_ctrl_size(stream);
- u8 *data;
-- u16 size;
- int ret;
-
-- size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
- data = kzalloc(size, GFP_KERNEL);
- if (data == NULL)
- return -ENOMEM;
-@@ -275,7 +287,7 @@ static int uvc_set_video_ctrl(struct uvc_streaming *stream,
- put_unaligned_le32(ctrl->dwMaxVideoFrameSize, &data[18]);
- put_unaligned_le32(ctrl->dwMaxPayloadTransferSize, &data[22]);
-
-- if (size == 34) {
-+ if (size >= 34) {
- put_unaligned_le32(ctrl->dwClockFrequency, &data[26]);
- data[30] = ctrl->bmFramingInfo;
- data[31] = ctrl->bPreferedVersion;
---
-2.17.1
-