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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>

> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
> ---
>  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





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux