[PATCH RESEND v5 0/5] uvcvideo: Fixes for hw timestamping

From: Ricardo Ribalda
Date: Wed Mar 08 2023 - 17:45:56 EST


Add some fixes for fixing hw timestamp on some Logitech and SunplusIT
cameras. The issues have been previously reported to the manufacturers.

Also include a patch to fix the current hw timestamping logic for ANY
uvc 1.5 model running at under 16 fps.

@HungNien, the logic for empty_ts has slightly changed since v4, would
be great if you could test it on your end.

To: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
To: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Cc: linux-media@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: hn.chen <hn.chen@xxxxxxxxxxxxx>
Tested-by: HungNien Chen <hn.chen@xxxxxxxxxxxxx>
Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>

---
Changes in v5: Thanks Dan
- Check for !buf on empty TS packets.
- Link to v4: https://lore.kernel.org/r/20220920-resend-hwtimestamp-v4-0-a8ddc1358a29@xxxxxxxxxxxx

Changes in v4 (Thanks Laurent!):
- Rebase on top of pinchart/next/uvc
- Use heuristic for UVC_QUIRK_IGNORE_EMPTY_TS
- Link to v3: https://lore.kernel.org/r/20220920-resend-hwtimestamp-v3-0-db9faee7f47d@xxxxxxxxxxxx

Changes in v3 (Thanks Laurent!):
- Rebase on top of pinchart/uvc/next
- Fix hw timestampt handling for slow FPS
- Improve commit message
- Quirk for invalid dev_sof in Logi C922
- Improve commit message
- Allow hw clock updates with buffers not full
- Fix typo and improve messages
- Refactor clock circular buffer
- Improve commit message
- Quirk for autosuspend in Logi C910
- Improve commit message
- Add comments around the quirk
- Create UVC_QUIRK_IGNORE_EMPTY_TS quirk
- Improve comments
- Allow quirking by entity guid
- unsinged int
- Extend documentation of uvc_video_clock_decode()
- uvcvideo on commit message
- Improve comment
- Link to v2: https://lore.kernel.org/r/20220920-resend-hwtimestamp-v2-0-d8d0616bb612@xxxxxxxxxxxx

Changes in v2:
- Require 1/4 sec of data before using the hw timestamps
- Add Tested-by SunplusIT
- Link to v1: https://lore.kernel.org/r/20220920-resend-hwtimestamp-v1-0-e9c14b258404@xxxxxxxxxxxx

---
Ricardo Ribalda (5):
media: uvc: Ignore empty TS packets
media: uvcvideo: Quirk for invalid dev_sof in Logitech C922
media: uvcvideo: Allow hw clock updates with buffers not full
media: uvcvideo: Refactor clock circular buffer
media: uvcvideo: Fix hw timestamp handling for slow FPS

drivers/media/usb/uvc/uvc_driver.c | 9 +++
drivers/media/usb/uvc/uvc_video.c | 123 ++++++++++++++++++++++++-------------
drivers/media/usb/uvc/uvcvideo.h | 2 +
3 files changed, 91 insertions(+), 43 deletions(-)
---
base-commit: 73d6709376914f577a61bb29e596fa93ec66598c
change-id: 20220920-resend-hwtimestamp-b3e22729284d

Best regards,
--
Ricardo Ribalda <ribalda@xxxxxxxxxxxx>