Re: [PATCH v4 1/4] media: uvcvideo: report AUTO_UPDATE controls as volatile

From: Michael Jordan

Date: Fri Oct 02 2026 - 08:45:14 EST


Hi Hans,

Thanks for pointing me to `v4l2_ctrl_auto_cluster()`. I’m trying to
understand how to apply that model correctly here.

>From UVC 1.5 §4.1.2, Table 4-3, I understand that GET_INFO distinguishes
“Disabled due to automatic mode” (D2, a state bit) from “Autoupdate
Control” (D3, a capability bit). That helps me understand why AUTO_UPDATE
alone should not determine the flags for controls with an auto/manual
master.

The Tiny 2 and Tail 2 pan/tilt case is what I’m unsure about. These are
the only cameras I have available to test. On both, writing the V4L2
pan/tilt controls sends a target position to the camera. With the
AUTO_UPDATE fixups applied, subsequent V4L2 reads retrieve values from
the camera that follow its movement towards that target, rather than
immediately returning the commanded target. I observed this with tracking
disabled as well. The pan/tilt mappings in uvcvideo have no `master_id`.

This is what I observed on these devices; I’m not assuming the
specification requires live position feedback. In particular,
§4.2.2.1.14 describes pan/tilt “settings,” and both cameras advertise
UVC 1.00.

Would the appropriate approach be to follow the mode-dependent flag
handling you described for controls with an auto/manual master, and use
`VOLATILE | EXECUTE_ON_WRITE` for writable PTZ controls exhibiting this
behavior? Or am I misunderstanding how that read/write behavior should
be represented in V4L2?

The v5 I sent fixes the event-notification issue but retains the blanket
flag mapping, so your feedback still applies.

Thanks for helping me understand this.

Michael