Commit f4ed8e3b authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab
Browse files

media: atomisp: ov2680: Drop v4l2_find_nearest_size() call from set_fmt()



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: default avatarAndy Shevchenko <andy@kernel.org>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent a6fc86ed
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -510,17 +510,14 @@ 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;

	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;