From: Laurent Pinchart Date: Wed, 18 Mar 2026 23:59:01 +0000 (+0200) Subject: media: renesas: vsp1: brx: Fix format propagation X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=937f3e6b51f1cea079be9ba642665f2bf8bcc31f;p=thirdparty%2Fkernel%2Fstable.git media: renesas: vsp1: brx: Fix format propagation 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 Tested-by: Niklas Söderlund Reviewed-by: Jacopo Mondi Tested-by: Lad Prabhakar # HiHope RZ/G2M Link: https://patch.msgid.link/20260318235907.831556-8-laurent.pinchart+renesas@ideasonboard.com Signed-off-by: Laurent Pinchart Signed-off-by: Hans Verkuil --- 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: