Linux Media Controller development
 help / color / mirror / Atom feed
* [PATCH 0/3] media: uvcvideo: live pan/tilt position on the OBSBOT Tiny 2
@ 2026-08-28 15:25 Michael Jordan
  2026-08-28 15:25 ` [PATCH 1/3] media: uvcvideo: report AUTO_UPDATE controls as volatile Michael Jordan
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Michael Jordan @ 2026-08-28 15:25 UTC (permalink / raw)
  To: Laurent Pinchart, Hans de Goede, Ricardo Ribalda
  Cc: Mauro Carvalho Chehab, Hans Verkuil, linux-media, linux-kernel,
	Michael Jordan

This replaces "[PATCH] media: uvcvideo: query pan/tilt position from the
device on every read" [1], following the review there. The approach in
that patch (a driver-side VOLATILE flag with a separate live buffer) is
dropped: as Ricardo pointed out, a control that carries AUTO_UPDATE
already gets re-read from the device on every VIDIOC_G_EXT_CTRLS, so the
problem on this camera reduces to its firmware clearing the AUTOUPDATE
bit in GET_INFO, and the fix reduces to a flags fixup for the device.

Patch 1 reports V4L2_CTRL_FLAG_VOLATILE (with EXECUTE_ON_WRITE for
writable controls) for AUTO_UPDATE controls, which the driver never did.

Patch 2 renames uvc_ctrl_fixup_xu_info() to uvc_ctrl_fixup_flags() and
calls it from uvc_ctrl_get_flags(), so the per-device flags table can
correct standard controls as well as XU ones. No functional change for
the devices already listed.

Patch 3 adds the OBSBOT Tiny 2 entry, restoring AUTO_UPDATE on its
CT_PANTILT_ABSOLUTE control.

Tested on an OBSBOT Tiny 2 (3564:fef8): pan_absolute and tilt_absolute
now report volatile/execute-on-write, and polling VIDIOC_G_CTRL during
a commanded 60 degree pan returns 0, 21600, 46800, 90000, 115200,
158400, 183600, 216000 -- the live position -- where a stock module
returns the commanded value from the first read. Reads also follow the
gimbal when it is moved by hand. The vendor was asked to fix the
firmware on 2026-08-04 (ticket #8220); no fix so far.

[1] https://lore.kernel.org/linux-media/20260725212332.64927-1-jordan.mymail@gmail.com/

Michael Jordan (3):
  media: uvcvideo: report AUTO_UPDATE controls as volatile
  media: uvcvideo: generalise the XU flags fixup to all controls
  media: uvcvideo: fix up missing AUTO_UPDATE on OBSBOT Tiny 2 pan/tilt

 drivers/media/usb/uvc/uvc_ctrl.c | 107 +++++++++++++++++++------------
 1 file changed, 66 insertions(+), 41 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-09-02  0:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-28 15:25 [PATCH 0/3] media: uvcvideo: live pan/tilt position on the OBSBOT Tiny 2 Michael Jordan
2026-08-28 15:25 ` [PATCH 1/3] media: uvcvideo: report AUTO_UPDATE controls as volatile Michael Jordan
2026-08-31  9:36   ` Ricardo Ribalda
2026-08-28 15:25 ` [PATCH 2/3] media: uvcvideo: generalise the XU flags fixup to all controls Michael Jordan
2026-08-31  9:35   ` Ricardo Ribalda
2026-08-28 15:25 ` [PATCH 3/3] media: uvcvideo: fix up missing AUTO_UPDATE on OBSBOT Tiny 2 pan/tilt Michael Jordan
2026-08-31  9:40   ` Ricardo Ribalda
2026-08-31  9:42     ` Ricardo Ribalda
2026-09-02  0:25       ` Michael Jordan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox