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:
Zefa Chen
2023-06-29 15:55:42 +08:00
parent 6bd92608df
commit deb5581bef
23 changed files with 23 additions and 46 deletions

View File

@@ -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:

View File

@@ -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);

View File

@@ -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);

View File

@@ -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:

View File

@@ -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);

View File

@@ -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,

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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:

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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,

View File

@@ -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,

View File

@@ -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:

View File

@@ -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;