aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/media/i2c/ov13858.c
diff options
context:
space:
mode:
authorChiranjeevi Rapolu <chiranjeevi.rapolu@intel.com>2017-07-27 03:44:19 -0400
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2017-08-09 11:18:09 -0400
commit33eea13263ed7af4784f177037eb335e55fc6b4c (patch)
tree17e135238f743b672c72bc2e53b4e5da59bd8258 /drivers/media/i2c/ov13858.c
parentmedia: ov13858: Set default fps as current fps (diff)
downloadwireguard-linux-33eea13263ed7af4784f177037eb335e55fc6b4c.tar.xz
wireguard-linux-33eea13263ed7af4784f177037eb335e55fc6b4c.zip
media: ov13858: Fix initial expsoure max
Previously, initial exposure max was set incorrectly to (0x7fff - 8). Now, limit exposure max to current resolution (VTS - 8). 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>
Diffstat (limited to 'drivers/media/i2c/ov13858.c')
-rw-r--r--drivers/media/i2c/ov13858.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/media/i2c/ov13858.c b/drivers/media/i2c/ov13858.c
index 8e6c8f00797d..85fd82f44add 100644
--- a/drivers/media/i2c/ov13858.c
+++ b/drivers/media/i2c/ov13858.c
@@ -66,7 +66,6 @@
/* Exposure control */
#define OV13858_REG_EXPOSURE 0x3500
#define OV13858_EXPOSURE_MIN 4
-#define OV13858_EXPOSURE_MAX (OV13858_VTS_MAX - 8)
#define OV13858_EXPOSURE_STEP 1
#define OV13858_EXPOSURE_DEFAULT 0x640
@@ -1605,6 +1604,7 @@ static int ov13858_init_controls(struct ov13858 *ov13858)
{
struct i2c_client *client = v4l2_get_subdevdata(&ov13858->sd);
struct v4l2_ctrl_handler *ctrl_hdlr;
+ s64 exposure_max;
int ret;
ctrl_hdlr = &ov13858->ctrl_handler;
@@ -1643,10 +1643,11 @@ static int ov13858_init_controls(struct ov13858 *ov13858)
OV13858_PPL_1080MHZ - ov13858->cur_mode->width);
ov13858->hblank->flags |= V4L2_CTRL_FLAG_READ_ONLY;
+ exposure_max = ov13858->cur_mode->vts - 8;
ov13858->exposure = v4l2_ctrl_new_std(
ctrl_hdlr, &ov13858_ctrl_ops,
V4L2_CID_EXPOSURE, OV13858_EXPOSURE_MIN,
- OV13858_EXPOSURE_MAX, OV13858_EXPOSURE_STEP,
+ exposure_max, OV13858_EXPOSURE_STEP,
OV13858_EXPOSURE_DEFAULT);
v4l2_ctrl_new_std(ctrl_hdlr, &ov13858_ctrl_ops, V4L2_CID_ANALOGUE_GAIN,