mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
media: i2c: sensor driver remove limit of modify sensor fps
to solve the problem of the camera being unable to restore the default frame rate after adjust it to other frame rates Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com> Change-Id: Iedbeca79cb17368922d41a55ef2aafeb58170e1f
This commit is contained in:
@@ -606,8 +606,7 @@ static int gc2093_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(vts >> 8) & 0x3f);
|
||||
ret |= gc2093_write_reg(gc2093, GC2093_REG_VTS_L,
|
||||
vts & 0xff);
|
||||
if (gc2093->cur_vts != gc2093->cur_mode->vts_def)
|
||||
gc2093_modify_fps_info(gc2093);
|
||||
gc2093_modify_fps_info(gc2093);
|
||||
dev_dbg(gc2093->dev, " set blank value 0x%x\n", ctrl->val);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
|
||||
@@ -1040,8 +1040,7 @@ static int sc031gs_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc031gs->cur_mode->height);
|
||||
if (!ret)
|
||||
sc031gs->cur_vts = ctrl->val + sc031gs->cur_mode->height;
|
||||
if (sc031gs->cur_vts != sc031gs->cur_mode->vts_def)
|
||||
sc031gs_modify_fps_info(sc031gs);
|
||||
sc031gs_modify_fps_info(sc031gs);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc031gs_enable_test_pattern(sc031gs, ctrl->val);
|
||||
|
||||
@@ -1025,8 +1025,7 @@ static int sc035gs_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc035gs->cur_mode->height);
|
||||
if (!ret)
|
||||
sc035gs->cur_vts = ctrl->val + sc035gs->cur_mode->height;
|
||||
if (sc035gs->cur_vts != sc035gs->cur_mode->vts_def)
|
||||
sc035gs_modify_fps_info(sc035gs);
|
||||
sc035gs_modify_fps_info(sc035gs);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc035gs_enable_test_pattern(sc035gs, ctrl->val);
|
||||
|
||||
@@ -1140,8 +1140,7 @@ static int sc132gs_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc132gs->cur_mode->height);
|
||||
if (!ret)
|
||||
sc132gs->cur_vts = ctrl->val + sc132gs->cur_mode->height;
|
||||
if (sc132gs->cur_vts != sc132gs->cur_mode->vts_def)
|
||||
sc132gs_modify_fps_info(sc132gs);
|
||||
sc132gs_modify_fps_info(sc132gs);
|
||||
break;
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
|
||||
@@ -1744,8 +1744,7 @@ static int sc200ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
& 0xff);
|
||||
if (!ret)
|
||||
sc200ai->cur_vts = ctrl->val + sc200ai->cur_mode->height;
|
||||
if (sc200ai->cur_vts != sc200ai->cur_mode->vts_def)
|
||||
sc200ai_modify_fps_info(sc200ai);
|
||||
sc200ai_modify_fps_info(sc200ai);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc200ai_enable_test_pattern(sc200ai, ctrl->val);
|
||||
|
||||
@@ -408,8 +408,7 @@ static int sc210iot_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc210iot->cur_mode->height) & 0xff);
|
||||
if (!ret)
|
||||
sc210iot->cur_vts = ctrl->val + sc210iot->cur_mode->height;
|
||||
if (sc210iot->cur_vts != sc210iot->cur_mode->vts_def)
|
||||
sc210iot_modify_fps_info(sc210iot);
|
||||
sc210iot_modify_fps_info(sc210iot);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
regmap_update_bits(sc210iot->regmap, SC210IOT_REG_MIRROR_FLIP,
|
||||
|
||||
@@ -1219,8 +1219,7 @@ static int sc2232_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc2232->cur_mode->height);
|
||||
if (!ret)
|
||||
sc2232->cur_vts = ctrl->val + sc2232->cur_mode->height;
|
||||
if (sc2232->cur_vts != sc2232->cur_mode->vts_def)
|
||||
sc2232_modify_fps_info(sc2232);
|
||||
sc2232_modify_fps_info(sc2232);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n",
|
||||
ctrl->val);
|
||||
break;
|
||||
|
||||
@@ -974,8 +974,7 @@ static int sc2239_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc2239->cur_mode->height);
|
||||
if (!ret)
|
||||
sc2239->cur_vts = ctrl->val + sc2239->cur_mode->height;
|
||||
if (sc2239->cur_vts != sc2239->cur_mode->vts_def)
|
||||
sc2239_modify_fps_info(sc2239);
|
||||
sc2239_modify_fps_info(sc2239);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc2239_enable_test_pattern(sc2239, ctrl->val);
|
||||
|
||||
@@ -1243,8 +1243,7 @@ static int sc223a_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc223a->cur_mode->height)
|
||||
& 0xff);
|
||||
sc223a->cur_vts = ctrl->val + sc223a->cur_mode->height;
|
||||
if (sc223a->cur_vts != sc223a->cur_mode->vts_def)
|
||||
sc223a_modify_fps_info(sc223a);
|
||||
sc223a_modify_fps_info(sc223a);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc223a_enable_test_pattern(sc223a, ctrl->val);
|
||||
|
||||
@@ -1469,8 +1469,7 @@ static int sc230ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc230ai->cur_mode->height)
|
||||
& 0xff);
|
||||
sc230ai->cur_vts = ctrl->val + sc230ai->cur_mode->height;
|
||||
if (sc230ai->cur_vts != sc230ai->cur_mode->vts_def)
|
||||
sc230ai_modify_fps_info(sc230ai);
|
||||
sc230ai_modify_fps_info(sc230ai);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc230ai_enable_test_pattern(sc230ai, ctrl->val);
|
||||
|
||||
@@ -1653,8 +1653,7 @@ static int sc2310_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc2310->cur_mode->height);
|
||||
if (!ret)
|
||||
sc2310->cur_vts = ctrl->val + sc2310->cur_mode->height;
|
||||
if (sc2310->cur_vts != sc2310->cur_mode->vts_def)
|
||||
sc2310_modify_fps_info(sc2310);
|
||||
sc2310_modify_fps_info(sc2310);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n",
|
||||
ctrl->val);
|
||||
break;
|
||||
|
||||
@@ -1951,8 +1951,7 @@ static int SC301IOT_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
& 0xff);
|
||||
if (!ret)
|
||||
SC301IOT->cur_vts = ctrl->val + SC301IOT->cur_mode->height;
|
||||
if (SC301IOT->cur_vts != SC301IOT->cur_mode->vts_def)
|
||||
SC301IOT_modify_fps_info(SC301IOT);
|
||||
SC301IOT_modify_fps_info(SC301IOT);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = SC301IOT_enable_test_pattern(SC301IOT, ctrl->val);
|
||||
|
||||
@@ -1382,8 +1382,7 @@ static int sc3336_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc3336->cur_mode->height)
|
||||
& 0xff);
|
||||
sc3336->cur_vts = ctrl->val + sc3336->cur_mode->height;
|
||||
if (sc3336->cur_vts != sc3336->cur_mode->vts_def)
|
||||
sc3336_modify_fps_info(sc3336);
|
||||
sc3336_modify_fps_info(sc3336);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc3336_enable_test_pattern(sc3336, ctrl->val);
|
||||
|
||||
@@ -1202,8 +1202,7 @@ static int sc3338_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc3338->cur_mode->height)
|
||||
& 0xff);
|
||||
sc3338->cur_vts = ctrl->val + sc3338->cur_mode->height;
|
||||
if (sc3338->cur_vts != sc3338->cur_mode->vts_def)
|
||||
sc3338_modify_fps_info(sc3338);
|
||||
sc3338_modify_fps_info(sc3338);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc3338_enable_test_pattern(sc3338, ctrl->val);
|
||||
|
||||
@@ -1331,8 +1331,7 @@ static int sc401ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
& 0xff);
|
||||
if (!ret)
|
||||
sc401ai->cur_vts = ctrl->val + sc401ai->cur_mode->height;
|
||||
if (sc401ai->cur_vts != sc401ai->cur_mode->vts_def)
|
||||
sc401ai_modify_fps_info(sc401ai);
|
||||
sc401ai_modify_fps_info(sc401ai);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc401ai_enable_test_pattern(sc401ai, ctrl->val);
|
||||
|
||||
@@ -2408,8 +2408,7 @@ static int sc4210_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
SC4210_REG_VALUE_08BIT,
|
||||
vts & 0xff);
|
||||
sc4210->cur_vts = ctrl->val + sc4210->cur_mode->height;
|
||||
if (sc4210->cur_vts != sc4210->cur_mode->vts_def)
|
||||
sc4210_modify_fps_info(sc4210);
|
||||
sc4210_modify_fps_info(sc4210);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n", ctrl->val);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
|
||||
@@ -2484,8 +2484,7 @@ static int sc4238_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc4238->cur_mode->height);
|
||||
if (ret == 0)
|
||||
sc4238->cur_vts = ctrl->val + sc4238->cur_mode->height;
|
||||
if (sc4238->cur_vts != sc4238->cur_mode->vts_def)
|
||||
sc4238_modify_fps_info(sc4238);
|
||||
sc4238_modify_fps_info(sc4238);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n",
|
||||
ctrl->val);
|
||||
break;
|
||||
|
||||
@@ -1202,8 +1202,7 @@ static int sc430cs_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
& 0xff);
|
||||
if (!ret)
|
||||
sc430cs->cur_vts = ctrl->val + sc430cs->cur_mode->height;
|
||||
if (sc430cs->cur_vts != sc430cs->cur_mode->vts_def)
|
||||
sc430cs_modify_fps_info(sc430cs);
|
||||
sc430cs_modify_fps_info(sc430cs);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc430cs_enable_test_pattern(sc430cs, ctrl->val);
|
||||
|
||||
@@ -1199,8 +1199,7 @@ static int sc4336_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
(ctrl->val + sc4336->cur_mode->height)
|
||||
& 0xff);
|
||||
sc4336->cur_vts = ctrl->val + sc4336->cur_mode->height;
|
||||
if (sc4336->cur_vts != sc4336->cur_mode->vts_def)
|
||||
sc4336_modify_fps_info(sc4336);
|
||||
sc4336_modify_fps_info(sc4336);
|
||||
break;
|
||||
case V4L2_CID_TEST_PATTERN:
|
||||
ret = sc4336_enable_test_pattern(sc4336, ctrl->val);
|
||||
|
||||
@@ -1489,8 +1489,7 @@ static int sc500ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
vts & 0xff);
|
||||
if (!ret)
|
||||
sc500ai->cur_vts = vts;
|
||||
if (sc500ai->cur_vts != sc500ai->cur_mode->vts_def)
|
||||
sc500ai_modify_fps_info(sc500ai);
|
||||
sc500ai_modify_fps_info(sc500ai);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
ret = sc500ai_read_reg(sc500ai->client, SC500AI_FLIP_MIRROR_REG,
|
||||
|
||||
@@ -1044,8 +1044,7 @@ static int sc501ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
SC501AI_REG_VALUE_08BIT,
|
||||
vts & 0xff);
|
||||
sc501ai->cur_vts = vts;
|
||||
if (sc501ai->cur_vts != sc501ai->cur_mode->vts_def)
|
||||
sc501ai_modify_fps_info(sc501ai);
|
||||
sc501ai_modify_fps_info(sc501ai);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
ret = sc501ai_read_reg(sc501ai->client, SC501AI_FLIP_MIRROR_REG,
|
||||
|
||||
@@ -1716,8 +1716,7 @@ static int sc530ai_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
vts & 0xff);
|
||||
if (!ret)
|
||||
sc530ai->cur_vts = vts;
|
||||
if (sc530ai->cur_vts != sc530ai->cur_mode->vts_def)
|
||||
sc530ai_modify_fps_info(sc530ai);
|
||||
sc530ai_modify_fps_info(sc530ai);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n", ctrl->val);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
|
||||
@@ -1412,8 +1412,7 @@ static int sc850sl_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
ctrl->val + sc850sl->cur_mode->height);
|
||||
if (!ret)
|
||||
sc850sl->cur_vts = ctrl->val + sc850sl->cur_mode->height;
|
||||
if (sc850sl->cur_vts != sc850sl->cur_mode->vts_def)
|
||||
sc850sl_modify_fps_info(sc850sl);
|
||||
sc850sl_modify_fps_info(sc850sl);
|
||||
dev_dbg(&client->dev, "set vblank 0x%x\n",
|
||||
ctrl->val);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user