Hi Laurent, On Fri, 8 Dec 2023 20:16:43 +0200 Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > Due to a historical mishap, the v4l2_subdev_frame_interval structure > is the only part of the V4L2 subdev userspace API that doesn't contain a > 'which' field. This prevents trying frame intervals using the subdev > 'TRY' state mechanism. > > Adding a 'which' field is simple as the structure has 8 reserved fields. > This would however break userspace as the field is currently set to 0, > corresponding to V4L2_SUBDEV_FORMAT_TRY, while the corresponding ioctls > currently operate on the 'ACTIVE' state. We thus need to add a new > subdev client cap, V4L2_SUBDEV_CLIENT_CAP_WHICH_INTERVAL, to indicate > that userspace is aware of this new field. > > All drivers that implement the subdev .get_frame_interval() and > .set_frame_interval() operations are updated to return -EINVAL when > operating on the TRY state, preserving the current behaviour. > > While at it, fix a bad copy&paste in the documentation of the struct > v4l2_subdev_frame_interval_enum 'which' field. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> # for imx-media > Reviewed-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> ... > drivers/staging/media/tegra-video/csi.c | 3 +++ For tegra-video: Reviewed-by: Luca Ceresoli <luca.ceresoli@xxxxxxxxxxx> -- Luca Ceresoli, Bootlin Embedded Linux and Kernel engineering https://bootlin.com