media: i2c: optimize gc2053 sync issue
Signed-off-by: LongChang Ma <chad.ma@rock-chips.com> Change-Id: Ibedcc39845d7a1e02fe4f5bcf6794b32a882e793
This commit is contained in:
@@ -574,11 +574,13 @@ static int gc2053_set_ctrl(struct v4l2_ctrl *ctrl)
|
||||
break;
|
||||
case V4L2_CID_VBLANK:
|
||||
vts = ctrl->val + gc2053->cur_mode->height;
|
||||
ret = gc2053_write_reg(gc2053->client, GC2053_REG_VTS_H, (vts >> 8) & 0x3f);
|
||||
ret |= gc2053_write_reg(gc2053->client, GC2053_REG_VTS_L, vts & 0xff);
|
||||
/* Note: In master-slave mode, Galaxycore request slave sensor frame rate bigger than master. */
|
||||
if (gc2053->sync_mode == INTERNAL_MASTER_MODE)
|
||||
gc2053_write_reg(gc2053->client, GC2053_REG_VTS_L, (vts & 0xff) + 10);
|
||||
vts += 10;
|
||||
ret = gc2053_write_reg(gc2053->client, GC2053_REG_VTS_H, (vts >> 8) & 0x3f);
|
||||
ret |= gc2053_write_reg(gc2053->client, GC2053_REG_VTS_L, vts & 0xff);
|
||||
/* TBD: master and slave not sync to streaming, but except sleep 20ms below */
|
||||
usleep_range(20000, 50000);
|
||||
break;
|
||||
case V4L2_CID_HFLIP:
|
||||
if (ctrl->val)
|
||||
|
||||
Reference in New Issue
Block a user