[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5ff5bda1-246e-406e-a07f-6ae7e8f468c3@linaro.org>
Date: Wed, 22 Oct 2025 17:21:52 +0100
From: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
To: Isaac Scott <isaac.scott@...asonboard.com>, mchehab@...nel.org
Cc: rmfrfs@...il.com, laurent.pinchart@...asonboard.com, martink@...teo.de,
kernel@...i.sm, shawnguo@...nel.org, s.hauer@...gutronix.de,
kernel@...gutronix.de, festevam@...il.com, sakari.ailus@...ux.intel.com,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org, Frank.Li@....com
Subject: Re: [PATCH v5 4/4] media: imx-mipi-csis: Support active data lanes
differing from maximum
On 22/10/2025 11:22, Isaac Scott wrote:
> Call on v4l2_get_active_data_lanes() to check if the driver reports that
> the number of lanes actively used by the MIPI CSI transmitter differs to
> the maximum defined in device tree.
>
> If the number of active data lanes reported by the driver is invalid, or
> the operation is not supported, fall back to the number of allowed data
> lanes.
>
> Signed-off-by: Isaac Scott <isaac.scott@...asonboard.com>
> ---
> drivers/media/platform/nxp/imx-mipi-csis.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/media/platform/nxp/imx-mipi-csis.c b/drivers/media/platform/nxp/imx-mipi-csis.c
> index 838a1ad123b5..637ef6e614fa 100644
> --- a/drivers/media/platform/nxp/imx-mipi-csis.c
> +++ b/drivers/media/platform/nxp/imx-mipi-csis.c
> @@ -1034,6 +1034,10 @@ static int mipi_csis_s_stream(struct v4l2_subdev *sd, int enable)
> format = v4l2_subdev_state_get_format(state, CSIS_PAD_SINK);
> csis_fmt = find_csis_format(format->code);
>
> + ret = v4l2_get_active_data_lanes(csis->source.pad,
> + csis->bus.num_data_lanes);
> + csis->num_data_lanes = ret < 0 ? csis->bus.num_data_lanes : ret;
The function you've added can return -EINVAL;
Isn't that a fundamental error at this point ? It would make sense to
trap -EINVAL and refuse to go further.
> +
> ret = mipi_csis_calculate_params(csis, csis_fmt);
> if (ret < 0)
> goto err_unlock;
> --
> 2.43.0
>
>
Powered by blists - more mailing lists