On Thu Mar 19 01:59:01 2026 +0200, Laurent Pinchart wrote:
> The format width and height is never propagated to the BRX source pad,
> leaving its initial configuration invalid. Propagate the whole format
> from the first sink pad to the source pad instead of only propagating
> the media bus code. This fixes compliance with the subdev format
> propagation rules.
>
> Reviewed-by: Jacopo Mondi <[email protected]>
> Tested-by: Niklas Söderlund <[email protected]>
> Reviewed-by: Jacopo Mondi <[email protected]>
> Tested-by: Lad Prabhakar <[email protected]> # HiHope
> RZ/G2M
> Link:
> https://patch.msgid.link/20260318235907.831556-8-laurent.pinchart+rene...@ideasonboard.com
> Signed-off-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>
Patch committed.
Thanks,
Hans Verkuil
drivers/media/platform/renesas/vsp1/vsp1_brx.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/drivers/media/platform/renesas/vsp1/vsp1_brx.c
b/drivers/media/platform/renesas/vsp1/vsp1_brx.c
index dd651cef93e4..911359faa600 100644
--- a/drivers/media/platform/renesas/vsp1/vsp1_brx.c
+++ b/drivers/media/platform/renesas/vsp1/vsp1_brx.c
@@ -156,14 +156,20 @@ static int brx_set_format(struct v4l2_subdev *subdev,
compose->height = format->height;
}
- /* Propagate the format code to all pads. */
+ /*
+ * Propagate the format code to all pads, and the whole format to the
+ * source pad.
+ */
if (fmt->pad == BRX_PAD_SINK(0)) {
unsigned int i;
- for (i = 0; i <= brx->entity.source_pad; ++i) {
+ for (i = 0; i < brx->entity.source_pad; ++i) {
format = v4l2_subdev_state_get_format(state, i);
format->code = fmt->format.code;
}
+
+ format = v4l2_subdev_state_get_format(state, i);
+ *format = fmt->format;
}
done:
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]