media: i2c: rk628: add RKMODULE_GET_DSI_MODE ioctl for dsi mode

Change-Id: I47e642c5535469c6df0d0a2252613b6585bc124d
Signed-off-by: Jianwei Fan <jianwei.fan@rock-chips.com>
This commit is contained in:
Jianwei Fan
2023-12-18 07:01:32 +00:00
committed by Tao Huang
parent 71940785b8
commit 39b63d0caa

View File

@@ -2249,6 +2249,9 @@ static long rk628_csi_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
case RK_HDMIRX_CMD_GET_COLOR_SPACE:
*(int *)arg = rk628_hdmirx_get_color_space(csi->rk628);
break;
case RKMODULE_GET_DSI_MODE:
*(int *)arg = csi->dsi.vid_mode;
break;
default:
ret = -ENOIOCTLCMD;
break;
@@ -2533,6 +2536,7 @@ static long rk628_csi_compat_ioctl32(struct v4l2_subdev *sd,
}
kfree(seq);
break;
case RK_HDMIRX_CMD_GET_COLOR_SPACE:
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
if (!seq) {
@@ -2547,6 +2551,20 @@ static long rk628_csi_compat_ioctl32(struct v4l2_subdev *sd,
}
kfree(seq);
break;
case RKMODULE_GET_DSI_MODE:
seq = kzalloc(sizeof(*seq), GFP_KERNEL);
if (!seq) {
ret = -ENOMEM;
return ret;
}
ret = rk628_csi_ioctl(sd, cmd, seq);
if (!ret) {
ret = copy_to_user(up, seq, sizeof(*seq));
if (ret)
ret = -EFAULT;
}
kfree(seq);
break;
default:
ret = -ENOIOCTLCMD;
break;