Hi,
On 02/06/2025 16:28, Laurent Pinchart wrote:
> 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@ideasonboard.com>
>> ---
>> 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
Ok.
>> 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 ?
No, but I think it still makes sense to use != here (and in other
similar places). Just in case. I'll do that change.
Tomi
>> +
>> 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;
>>
>