提交 6949d864 编写于 作者: H Hugues Fruchet 提交者: Mauro Carvalho Chehab

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: NHugues Fruchet <hugues.fruchet@st.com>
Signed-off-by: NSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab+samsung@kernel.org>
上级 b5f6ec53
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册