summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorIsaac Scott <isaac.scott@ideasonboard.com>2024-11-28 14:51:44 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-02-21 14:01:24 +0100
commit7706d1edb90db641cc5bb2fa999106b53d3179fd (patch)
tree8cb0f1ed3c1a11af405274a5f6d7dc8220bb887d /drivers/media
parent1b259a5df5e60299bd156efe8c995b3ad8a1ba6f (diff)
downloadlinux-7706d1edb90db641cc5bb2fa999106b53d3179fd.tar.gz
linux-7706d1edb90db641cc5bb2fa999106b53d3179fd.tar.bz2
linux-7706d1edb90db641cc5bb2fa999106b53d3179fd.zip
media: uvcvideo: Add new quirk definition for the Sonix Technology Co. 292a camera
[ Upstream commit 81f8c0e138c43610cf09b8d2a533068aa58e538e ] The Sonix Technology Co. 292A camera (which uses an AR0330 sensor), can produce MJPEG and H.264 streams concurrently. When doing so, it drops the last packets of MJPEG frames every time the H.264 stream generates a key frame. Set the UVC_QUIRK_MJPEG_NO_EOF quirk to work around the issue. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Isaac Scott <isaac.scott@ideasonboard.com> Link: https://lore.kernel.org/r/20241128145144.61475-3-isaac.scott@ideasonboard.com Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/usb/uvc/uvc_driver.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index d832aa55056f..250c118e01bd 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2809,6 +2809,15 @@ static const struct usb_device_id uvc_ids[] = {
.bInterfaceSubClass = 1,
.bInterfaceProtocol = 0,
.driver_info = (kernel_ulong_t)&uvc_quirk_probe_minmax },
+ /* Sonix Technology Co. Ltd. - 292A IPC AR0330 */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x0c45,
+ .idProduct = 0x6366,
+ .bInterfaceClass = USB_CLASS_VIDEO,
+ .bInterfaceSubClass = 1,
+ .bInterfaceProtocol = 0,
+ .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_MJPEG_NO_EOF) },
/* MT6227 */
{ .match_flags = USB_DEVICE_ID_MATCH_DEVICE
| USB_DEVICE_ID_MATCH_INT_INFO,