media: ov5640: do not change mode if format or frame interval is unchanged
Save load of mode registers array when V4L2 client sets a format or a frame interval which selects the same mode than the current one. 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:
parent
b5f6ec535f
commit
6949d86477
|
@ -1966,9 +1966,11 @@ static int ov5640_set_fmt(struct v4l2_subdev *sd,
|
|||
goto out;
|
||||
}
|
||||
|
||||
sensor->current_mode = new_mode;
|
||||
sensor->fmt = *mbus_fmt;
|
||||
sensor->pending_mode_change = true;
|
||||
if (new_mode != sensor->current_mode) {
|
||||
sensor->current_mode = new_mode;
|
||||
sensor->fmt = *mbus_fmt;
|
||||
sensor->pending_mode_change = true;
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&sensor->lock);
|
||||
return ret;
|
||||
|
@ -2508,8 +2510,10 @@ static int ov5640_s_frame_interval(struct v4l2_subdev *sd,
|
|||
goto out;
|
||||
}
|
||||
|
||||
sensor->current_mode = mode;
|
||||
sensor->pending_mode_change = true;
|
||||
if (mode != sensor->current_mode) {
|
||||
sensor->current_mode = mode;
|
||||
sensor->pending_mode_change = true;
|
||||
}
|
||||
out:
|
||||
mutex_unlock(&sensor->lock);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue