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@ideasonboard.com>
---
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.
*/
--
2.43.0
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@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> > --- > 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
© 2016 - 2026 Red Hat, Inc.