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: Chiranjeevi Rapolu <chiranjeevi.rapolu@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
parent
8e2803ffd6
commit
b3775edc66
@ -1377,6 +1377,7 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
|
|||||||
struct ov13858 *ov13858 = to_ov13858(sd);
|
struct ov13858 *ov13858 = to_ov13858(sd);
|
||||||
const struct ov13858_mode *mode;
|
const struct ov13858_mode *mode;
|
||||||
struct v4l2_mbus_framefmt *framefmt;
|
struct v4l2_mbus_framefmt *framefmt;
|
||||||
|
s32 vblank_def;
|
||||||
s64 h_blank;
|
s64 h_blank;
|
||||||
|
|
||||||
mutex_lock(&ov13858->mutex);
|
mutex_lock(&ov13858->mutex);
|
||||||
@ -1397,10 +1398,12 @@ ov13858_set_pad_format(struct v4l2_subdev *sd,
|
|||||||
ov13858->pixel_rate,
|
ov13858->pixel_rate,
|
||||||
link_freq_configs[mode->link_freq_index].pixel_rate);
|
link_freq_configs[mode->link_freq_index].pixel_rate);
|
||||||
/* Update limits and set FPS to default */
|
/* Update limits and set FPS to default */
|
||||||
|
vblank_def = ov13858->cur_mode->vts - ov13858->cur_mode->height;
|
||||||
__v4l2_ctrl_modify_range(
|
__v4l2_ctrl_modify_range(
|
||||||
ov13858->vblank, OV13858_VBLANK_MIN,
|
ov13858->vblank, OV13858_VBLANK_MIN,
|
||||||
OV13858_VTS_MAX - ov13858->cur_mode->height, 1,
|
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 =
|
h_blank =
|
||||||
link_freq_configs[mode->link_freq_index].pixels_per_line
|
link_freq_configs[mode->link_freq_index].pixels_per_line
|
||||||
- ov13858->cur_mode->width;
|
- ov13858->cur_mode->width;
|
||||||
|
Loading…
Reference in New Issue
Block a user