Re: [PATCH 39/57] media: atomisp: ov2680: Drop v4l2_find_nearest_size() call from set_fmt()

Andy Shevchenko
2023-01-24T10:43:38Z

On Mon, Jan 23, 2023 at 01:51:47PM +0100, Hans de Goede wrote:
> Since we now calculate timings baded on the desired width and height,
> any width and height are valid as long as they don't exceed the sensor's
> dimensions.
>
> Drop the v4l2_find_nearest_size() call and instead clamp the requested
> width and height.

Reviewed-by: Andy Shevchenko <andy@kernel.org>

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> drivers/staging/media/atomisp/i2c/atomisp-ov2680.c | 11 ++++-------
> 1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
> index 75d09c44202c..3d5e18fb45ee 100644
> --- a/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
> +++ b/drivers/staging/media/atomisp/i2c/atomisp-ov2680.c
> @@ -512,7 +512,7 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
> struct ov2680_device *dev = to_ov2680_sensor(sd);
> struct i2c_client *client = v4l2_get_subdevdata(sd);
> struct v4l2_mbus_framefmt *fmt;
> - struct ov2680_resolution *res;
> + unsigned int width, height;
> int ret = 0;
>
> dev_dbg(&client->dev, "%s: %s: pad: %d, fmt: %p\n",
> @@ -520,14 +520,11 @@ static int ov2680_set_fmt(struct v4l2_subdev *sd,
> (format->which == V4L2_SUBDEV_FORMAT_TRY) ? "try" : "set",
> format->pad, fmt);
>
> - res = v4l2_find_nearest_size(ov2680_res_preview, ARRAY_SIZE(ov2680_res_preview),
> - width, height,
> - format->format.width, format->format.height);
> - if (!res)
> - res = &ov2680_res_preview[N_RES_PREVIEW - 1];
> + width = min_t(unsigned int, ALIGN(format->format.width, 2), OV2680_NATIVE_WIDTH);
> + height = min_t(unsigned int, ALIGN(format->format.height, 2), OV2680_NATIVE_HEIGHT);
>
> fmt = __ov2680_get_pad_format(dev, sd_state, format->pad, format->which);
> - ov2680_fill_format(dev, fmt, res->width, res->height);
> + ov2680_fill_format(dev, fmt, width, height);
>
> format->format = *fmt;
>
> --
> 2.39.0
>

--
With Best Regards,
Andy Shevchenko