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

From: Laurent Pinchart
Date: Wed Apr 03 2024 - 21:11:47 EST


Hi Oleksandr,

On Mon, Apr 01, 2024 at 06:45:16PM +0200, Oleksandr Natalenko wrote:
> 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@xxxxxxxxxxxxxx/
> > Reviewed-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> > Signed-off-by: Oleksandr Natalenko <oleksandr@xxxxxxxxxxxxxx>
> > ---
> > 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.

Ricardo, could you include this in the next version of your hw timestamp
series ?

> Also, should I have added:
>
> Fixes: 5d0fd3c806b9 ("[media] uvcvideo: Disable hardware timestamps by default")
>
> ?

I don't think that's needed, no.

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

--
Regards,

Laurent Pinchart