Re: [PATCH v3 12/15] media: rcar-csi2: Add more stream support to rcsi2_calc_mbps()

From: Laurent Pinchart
Date: Mon Jun 02 2025 - 09:28:56 EST


Hi Tomi,

Thank you for the patch.

On Fri, May 30, 2025 at 04:50:41PM +0300, Tomi Valkeinen wrote:
> In the case where link-freq is not available, make sure we fail if there
> are more than one stream configured, and also use the correct stream
> number for that single stream.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx>
> ---
> drivers/media/platform/renesas/rcar-csi2.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
> index 65c7f3040696..b9f83aae725a 100644
> --- a/drivers/media/platform/renesas/rcar-csi2.c
> +++ b/drivers/media/platform/renesas/rcar-csi2.c
> @@ -1018,17 +1018,22 @@ static int rcsi2_calc_mbps(struct rcar_csi2 *priv,
> */
> freq = v4l2_get_link_freq(remote_pad, 0, 0);
> if (freq < 0) {
> + struct v4l2_subdev_route *route = &state->routing.routes[0];

const

> const struct rcar_csi2_format *format;
> struct v4l2_mbus_framefmt *fmt;
> unsigned int lanes;
> unsigned int bpp;
> int ret;
>
> + if (state->routing.num_routes > 1)
> + return -EINVAL;

Do we have to guard against the case where there would be no route ?

> +
> ret = rcsi2_get_active_lanes(priv, &lanes);
> if (ret)
> return ret;
>
> - fmt = v4l2_subdev_state_get_format(state, RCAR_CSI2_SINK, 0);
> + fmt = v4l2_subdev_state_get_format(state, route->sink_pad,
> + route->sink_stream);
> if (!fmt)
> return -EINVAL;
>

--
Regards,

Laurent Pinchart