Re: [PATCH v2 1/3] media: subdev: Improve v4l2_subdev_get_frame_desc_passthrough() kdoc

From: Laurent Pinchart

Date: Wed Mar 18 2026 - 12:46:41 EST


Hi Tomi,

Thank you for the patch.

On Tue, Mar 17, 2026 at 02:09:40PM +0200, Tomi Valkeinen wrote:
> Improve the v4l2_subdev_get_frame_desc_passthrough() kernel doc:
>
> - Fix 'v4l2_get_frame_desc' operation to 'get_frame_desc' operation
> - Rewrite the body text to be more understandable and specific, and
> specifically mention the frame desc type handling.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>

> ---
> include/media/v4l2-subdev.h | 22 ++++++++++++++--------
> 1 file changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index e754ed3421c5..23c03ba7f84c 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -1724,19 +1724,25 @@ int v4l2_subdev_s_stream_helper(struct v4l2_subdev *sd, int enable);
>
> /**
> * v4l2_subdev_get_frame_desc_passthrough() - Helper to implement the subdev
> - * v4l2_get_frame_desc operation in simple passthrough cases
> + * get_frame_desc operation in simple passthrough cases
> * @sd: The subdevice
> * @pad: The source pad index
> * @fd: The mbus frame desc
> *
> - * Subdevice drivers that only pass through the streams can use this helper
> - * to implement the &v4l2_subdev_pad_ops.v4l2_get_frame_desc operation.
> + * This helper implements get_frame_desc operation for subdevices that pass
> + * streams through without modification. It can be assigned directly as the
> + * .get_frame_desc callback in &v4l2_subdev_pad_ops.
> *
> - * The helper will call get_frame_desc on the subdevice's sources, create a new
> - * frame desc which contains only the streams on the given source pad. The data
> - * for each frame desc entry is copied directly from the data provided from the
> - * calls to the subdevice's sources, with the exception of the 'stream' field
> - * which is set according to the subdevice's routing table.
> + * The helper iterates over the subdevice's sink pads, calls get_frame_desc on
> + * the remote subdevice connected to each sink pad, and collects the frame desc
> + * entries for streams that are routed to the given source pad according to the
> + * subdevice's routing table. Each entry is copied as-is from the upstream
> + * source, with the exception of the 'stream' field which is remapped to the
> + * source stream ID from the routing table.
> + *
> + * The frame desc type is taken from the first upstream source. If multiple
> + * sink pads are involved and the upstream sources report different frame desc
> + * types, -EPIPE is returned.
> *
> * Return: 0 on success, or a negative error code otherwise.
> */
>

--
Regards,

Laurent Pinchart