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>
This commit is contained in:

committed by
Mauro Carvalho Chehab

parent
786fa584ed
commit
0929983e49
@@ -2573,8 +2573,6 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd,
|
|||||||
if (frame_rate < 0)
|
if (frame_rate < 0)
|
||||||
frame_rate = OV5640_15_FPS;
|
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 = ov5640_find_mode(sensor, frame_rate, mode->hact,
|
||||||
mode->vact, true);
|
mode->vact, true);
|
||||||
if (!mode) {
|
if (!mode) {
|
||||||
@@ -2582,7 +2580,10 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd,
|
|||||||
goto out;
|
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->current_mode = mode;
|
||||||
sensor->pending_mode_change = true;
|
sensor->pending_mode_change = true;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user