Re: [PATCH] media/uvcvideo: add quirk for invalid dev_sof in Logitech C920

Oleksandr Natalenko
2024-04-01T16:45:33Z

[-- Attachment #1: Type: text/plain, Size: 2756 bytes --]

On pondělí 25. března 2024 15:26:11, CEST Oleksandr Natalenko wrote:
> Similarly to Logitech C922, C920 seems to also suffer from a firmware
> bug that breaks hardware timestamping.
>
> Add a quirk for this camera model too.
>
> Before applying the quirk:
>
> ```
> 100 (4) [-] none 100 200717 B 212.919114 213.079004 33.727 fps ts mono/SoE
> 101 (5) [-] none 101 200889 B 213.003703 213.114996 11.822 fps ts mono/SoE
> 102 (6) [-] none 102 200926 B 213.035571 213.146999 31.379 fps ts mono/SoE
> 103 (7) [-] none 103 200839 B 213.067424 213.179003 31.394 fps ts mono/SoE
> 104 (0) [-] none 104 200692 B 213.293180 213.214991 4.430 fps ts mono/SoE
> 105 (1) [-] none 105 200937 B 213.322374 213.247001 34.254 fps ts mono/SoE
> 106 (2) [-] none 106 201013 B 213.352228 213.279005 33.496 fps ts mono/SoE
> …
> ```
>
> After applying the quirk:
>
> ```
> 154 (2) [-] none 154 192417 B 42.199823 42.207788 27.779 fps ts mono/SoE
> 155 (3) [-] none 155 192040 B 42.231834 42.239791 31.239 fps ts mono/SoE
> 156 (4) [-] none 156 192213 B 42.263823 42.271822 31.261 fps ts mono/SoE
> 157 (5) [-] none 157 191981 B 42.299824 42.303827 27.777 fps ts mono/SoE
> 158 (6) [-] none 158 191953 B 42.331835 42.339811 31.239 fps ts mono/SoE
> 159 (7) [-] none 159 191904 B 42.363824 42.371813 31.261 fps ts mono/SoE
> 160 (0) [-] none 160 192210 B 42.399834 42.407801 27.770 fps ts mono/SoE
> ```
>
> Link: https://lore.kernel.org/lkml/5764213.DvuYhMxLoT@natalenko.name/
> Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
> Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
> ---
> drivers/media/usb/uvc/uvc_driver.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 723e6d5680c2e..444d7089885ea 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -2573,7 +2573,8 @@ static const struct usb_device_id uvc_ids[] = {
> .bInterfaceClass = USB_CLASS_VIDEO,
> .bInterfaceSubClass = 1,
> .bInterfaceProtocol = 0,
> - .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_RESTORE_CTRLS_ON_INIT) },
> + .driver_info = UVC_INFO_QUIRK(UVC_QUIRK_RESTORE_CTRLS_ON_INIT
> + | UVC_QUIRK_INVALID_DEVICE_SOF) },
> /* Logitech HD Pro Webcam C922 */
> { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
> | USB_DEVICE_ID_MATCH_INT_INFO,
>

Gentle ping on this one.

Also, should I have added:

Fixes: 5d0fd3c806b9 ("[media] uvcvideo: Disable hardware timestamps by default")

?

(it's not that this change re-enables HW timestamping, but 5d0fd3c806b9 explicitly mentions C920 as affected)

--
Oleksandr Natalenko (post-factum)

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]