mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
media: i2c: imx415: add quick stream on function
Signed-off-by: Allon Huang <allon.huang@rock-chips.com> Change-Id: Ia277224a25214263564b9bc21ada83c76f021d8d
This commit is contained in:
@@ -1458,7 +1458,7 @@ static long imx415_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
||||
{
|
||||
struct imx415 *imx415 = to_imx415(sd);
|
||||
struct rkmodule_hdr_cfg *hdr;
|
||||
u32 i, h, w;
|
||||
u32 i, h, w, stream;
|
||||
long ret = 0;
|
||||
const struct imx415_mode *mode;
|
||||
u64 pixel_rate = 0;
|
||||
@@ -1520,6 +1520,18 @@ static long imx415_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
|
||||
pixel_rate);
|
||||
}
|
||||
break;
|
||||
case RKMODULE_SET_QUICK_STREAM:
|
||||
|
||||
stream = *((u32 *)arg);
|
||||
|
||||
if (stream)
|
||||
ret = imx415_write_reg(imx415->client, IMX415_REG_CTRL_MODE,
|
||||
IMX415_REG_VALUE_08BIT, IMX415_MODE_STREAMING);
|
||||
else
|
||||
ret = imx415_write_reg(imx415->client, IMX415_REG_CTRL_MODE,
|
||||
IMX415_REG_VALUE_08BIT, IMX415_MODE_SW_STANDBY);
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = -ENOIOCTLCMD;
|
||||
break;
|
||||
@@ -1538,6 +1550,7 @@ static long imx415_compat_ioctl32(struct v4l2_subdev *sd,
|
||||
struct rkmodule_hdr_cfg *hdr;
|
||||
struct preisp_hdrae_exp_s *hdrae;
|
||||
long ret;
|
||||
u32 stream;
|
||||
|
||||
switch (cmd) {
|
||||
case RKMODULE_GET_MODULE_INFO:
|
||||
@@ -1600,6 +1613,19 @@ static long imx415_compat_ioctl32(struct v4l2_subdev *sd,
|
||||
ret = imx415_ioctl(sd, cmd, hdrae);
|
||||
kfree(hdrae);
|
||||
break;
|
||||
case RKMODULE_SET_QUICK_STREAM:
|
||||
|
||||
ret = copy_from_user(&stream, up, sizeof(u32));
|
||||
if (!ret) {
|
||||
if (stream)
|
||||
ret = imx415_write_reg(imx415->client, IMX415_REG_CTRL_MODE,
|
||||
IMX415_REG_VALUE_08BIT, IMX415_MODE_STREAMING);
|
||||
else
|
||||
ret = imx415_write_reg(imx415->client, IMX415_REG_CTRL_MODE,
|
||||
IMX415_REG_VALUE_08BIT, IMX415_MODE_SW_STANDBY);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
ret = -ENOIOCTLCMD;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user