Commit b3775edc authored by Chiranjeevi Rapolu's avatar Chiranjeevi Rapolu Committed by Mauro Carvalho Chehab
Browse files

media: ov13858: Set default fps as current fps



On format change, sometimes, sensor was streaming at a much higher
FPS than the default. This was resulting in various problems like
frame drops/corruption.

Upon format change, set default vblank as current vblank. This will
ensure that sensor will start streaming at default fps.

Signed-off-by: default avatarChiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 8e2803ff
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1377,6 +1377,7 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
	struct ov13858 *ov13858 = to_ov13858(sd);
	const struct ov13858_mode *mode;
	struct v4l2_mbus_framefmt *framefmt;
	s32 vblank_def;
	s64 h_blank;

	mutex_lock(&ov13858->mutex);
@@ -1397,10 +1398,12 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
			ov13858->pixel_rate,
			link_freq_configs[mode->link_freq_index].pixel_rate);
		/* Update limits and set FPS to default */
		vblank_def = ov13858->cur_mode->vts - ov13858->cur_mode->height;
		__v4l2_ctrl_modify_range(
			ov13858->vblank, OV13858_VBLANK_MIN,
			OV13858_VTS_MAX - ov13858->cur_mode->height, 1,
			ov13858->cur_mode->vts - ov13858->cur_mode->height);
			vblank_def);
		__v4l2_ctrl_s_ctrl(ov13858->vblank, vblank_def);
		h_blank =
			link_freq_configs[mode->link_freq_index].pixels_per_line
			 - ov13858->cur_mode->width;