[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180514172849.27224-1-josef.simanek@gmail.com>
Date: Mon, 14 May 2018 19:28:49 +0200
From: Josef Šimánek <josef.simanek@...il.com>
To: ming_qian@...lsil.com.cn
Cc: linux-kernel@...r.kernel.org,
Josef Šimánek <josef.simanek@...il.com>
Subject: RE: media: uvcvideo: Support realtek's UVC 1.5 device
> The length of UVC 1.5 video control is 48, and it id 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.
>
> Signed-off-by: ming_qian <ming_qian@...lsil.com.cn>
> Tested-by: Kai-Heng Feng <kai.heng.feng@...onical.com>
Hello! I have sucessfully tested this patch on Kernel 4.16.1 (Fedora 28) with Dell XPS 9370
using following device (output from lsusb):
Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp.
You can also find related dmesg output at https://bugs.launchpad.net/dell-sputnik/+bug/1763748/comments/35
Tested-by: Josef Šimánek <josef.simanek@...il.com>
> Reviewed-by: Hans de Goede <hdegoede@...hat.com>
> ---
> drivers/media/usb/uvc/uvc_video.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c
> index aa0082f..32dfb32 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -171,6 +171,8 @@ static int uvc_get_video_ctrl(struct uvc_streaming *stream,
> int ret;
>
> size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
> + if (stream->dev->uvc_version >= 0x0150)
> + size = 48;
> if ((stream->dev->quirks & UVC_QUIRK_PROBE_DEF) &&
> query == UVC_GET_DEF)
> return -EIO;
> @@ -259,6 +261,8 @@ static int uvc_set_video_ctrl(struct uvc_streaming *stream,
> int ret;
>
> size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
> + if (stream->dev->uvc_version >= 0x0150)
> + size = 48;
> data = kzalloc(size, GFP_KERNEL);
> if (data == NULL)
> return -ENOMEM;
Powered by blists - more mailing lists