diff options
author | Hugues Fruchet | 2018-10-04 13:21:57 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab | 2018-10-05 17:04:39 +0200 |
commit | 0929983e49c81c1d413702cd9b83bb06c4a2555c (patch) | |
tree | d00a0955533b4dc02aca5515f02b782ef843880f /drivers/media/i2c/ov5640.c | |
parent | media: ov7670: make "xclk" clock optional (diff) | |
download | kernel-qcow2-linux-0929983e49c81c1d413702cd9b83bb06c4a2555c.tar.gz kernel-qcow2-linux-0929983e49c81c1d413702cd9b83bb06c4a2555c.tar.xz kernel-qcow2-linux-0929983e49c81c1d413702cd9b83bb06c4a2555c.zip |
media: ov5640: fix framerate update
Changing framerate right before streamon had no effect,
the new framerate value was taken into account only at
next streamon, fix this.
Signed-off-by: Hugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/i2c/ov5640.c')
-rw-r--r-- | drivers/media/i2c/ov5640.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/media/i2c/ov5640.c b/drivers/media/i2c/ov5640.c index 73a4bd7c0291..eaefdb58653b 100644 --- a/drivers/media/i2c/ov5640.c +++ b/drivers/media/i2c/ov5640.c @@ -2573,8 +2573,6 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd, if (frame_rate < 0) frame_rate = OV5640_15_FPS; - sensor->current_fr = frame_rate; - sensor->frame_interval = fi->interval; mode = ov5640_find_mode(sensor, frame_rate, mode->hact, mode->vact, true); if (!mode) { @@ -2582,7 +2580,10 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd, goto out; } - if (mode != sensor->current_mode) { + if (mode != sensor->current_mode || + frame_rate != sensor->current_fr) { + sensor->current_fr = frame_rate; + sensor->frame_interval = fi->interval; sensor->current_mode = mode; sensor->pending_mode_change = true; } |