From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78FBF1E9B1E; Tue, 28 Jan 2025 17:53:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738086839; cv=none; b=rr15ad8NobuZ6RF/GrTEvyjXpCAVEDMx65r32vKKcPcNVgT80/uiP4KXR21ooH1l9nC3KwdeCX20rgK4KL5JsdKEqK9emzZ1FnMAfuH45FwyC/7YgtTGKW2+AV+v5fzGAjaQiykEFT8/Qp9B+XpXqKLuw8N1qkJeCa14k64rSGw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738086839; c=relaxed/simple; bh=SCtgI849sik+0ORmdyiQw7A0KQpydXzp5TtoZD3Hxv4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=f7grM7WLn0lc6oprx4XaHzkReUHjR5PEkc7OsJe3G8NejFcz3PiP+AmoZBvcd9f+gT8ySLNt5iRlKYAwJJPf0phPscJjffTIQ01JlrCcdPb+HsImeFzbWh/5DCPs3i34aTkRnOqj1D85bTXgbR0XER5BSfrCPNRD746gw+TBTJI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VqsaHp3v; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VqsaHp3v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F801C4CEE1; Tue, 28 Jan 2025 17:53:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1738086839; bh=SCtgI849sik+0ORmdyiQw7A0KQpydXzp5TtoZD3Hxv4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VqsaHp3vt0LOTBAW1eqk2iJ4znywqpprfRfUl0TNDOWyW0Ju9FkxOWf3BpNgWZwM+ GURY/GX9x8+wYU3+Uy5OuBxSadaxLSHaRHspjZNT2LXUBnib3x2rI5Kj/jCOgHTUQJ QFHJkc8dYEwmyfaDnNCdx76OvTtDhIg41f441N9CJ22XtWTgSYrH779+ufb3/Ze/LD p/yMbDqGkfl0kIEURhfm4sOC3rJ2PkInAQSxSe59rFnxrqSncITR1su6mG2f7ozjBx IFXqJhni8+UiENFt8j77QX09k5p8/7WCPG0pBOvHiO3Huk+84GzpaEuZXlduHSvBqF gt3uWXTuxKkrw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Isaac Scott , Laurent Pinchart , Mauro Carvalho Chehab , Sasha Levin , hdegoede@redhat.com, mchehab@kernel.org, linux-media@vger.kernel.org Subject: [PATCH AUTOSEL 6.13 07/15] media: uvcvideo: Add new quirk definition for the Sonix Technology Co. 292a camera Date: Tue, 28 Jan 2025 12:53:38 -0500 Message-Id: <20250128175346.1197097-7-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250128175346.1197097-1-sashal@kernel.org> References: <20250128175346.1197097-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.13 Content-Transfer-Encoding: 8bit From: Isaac Scott [ 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 Signed-off-by: Isaac Scott Link: https://lore.kernel.org/r/20241128145144.61475-3-isaac.scott@ideasonboard.com Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index b3c8411dc05c9..f76289bd8bb3c 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c @@ -2802,6 +2802,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, -- 2.39.5