| .. | .. |
|---|
| 149 | 149 | |
|---|
| 150 | 150 | #define IMX347_NUM_SUPPLIES ARRAY_SIZE(imx347_supply_names) |
|---|
| 151 | 151 | |
|---|
| 152 | | -enum imx347_max_pad { |
|---|
| 153 | | - PAD0, /* link to isp */ |
|---|
| 154 | | - PAD1, /* link to csi wr0 | hdr x2:L x3:M */ |
|---|
| 155 | | - PAD2, /* link to csi wr1 | hdr x3:L */ |
|---|
| 156 | | - PAD3, /* link to csi wr2 | hdr x2:M x3:S */ |
|---|
| 157 | | - PAD_MAX, |
|---|
| 158 | | -}; |
|---|
| 159 | | - |
|---|
| 160 | 152 | struct regval { |
|---|
| 161 | 153 | u16 addr; |
|---|
| 162 | 154 | u8 val; |
|---|
| .. | .. |
|---|
| 1021 | 1013 | struct imx347 *imx347 = to_imx347(sd); |
|---|
| 1022 | 1014 | const struct imx347_mode *mode = imx347->cur_mode; |
|---|
| 1023 | 1015 | |
|---|
| 1024 | | - mutex_lock(&imx347->mutex); |
|---|
| 1025 | 1016 | fi->interval = mode->max_fps; |
|---|
| 1026 | | - mutex_unlock(&imx347->mutex); |
|---|
| 1027 | 1017 | |
|---|
| 1028 | 1018 | return 0; |
|---|
| 1029 | 1019 | } |
|---|
| 1030 | 1020 | |
|---|
| 1031 | | -static int imx347_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 1021 | +static int imx347_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 1032 | 1022 | struct v4l2_mbus_config *config) |
|---|
| 1033 | 1023 | { |
|---|
| 1034 | 1024 | struct imx347 *imx347 = to_imx347(sd); |
|---|
| .. | .. |
|---|
| 1051 | 1041 | V4L2_MBUS_CSI2_CONTINUOUS_CLOCK | |
|---|
| 1052 | 1042 | V4L2_MBUS_CSI2_CHANNEL_1; |
|---|
| 1053 | 1043 | |
|---|
| 1054 | | - config->type = V4L2_MBUS_CSI2; |
|---|
| 1044 | + config->type = V4L2_MBUS_CSI2_DPHY; |
|---|
| 1055 | 1045 | config->flags = val; |
|---|
| 1056 | 1046 | |
|---|
| 1057 | 1047 | return 0; |
|---|
| .. | .. |
|---|
| 1811 | 1801 | static const struct v4l2_subdev_video_ops imx347_video_ops = { |
|---|
| 1812 | 1802 | .s_stream = imx347_s_stream, |
|---|
| 1813 | 1803 | .g_frame_interval = imx347_g_frame_interval, |
|---|
| 1814 | | - .g_mbus_config = imx347_g_mbus_config, |
|---|
| 1815 | 1804 | }; |
|---|
| 1816 | 1805 | |
|---|
| 1817 | 1806 | static const struct v4l2_subdev_pad_ops imx347_pad_ops = { |
|---|
| .. | .. |
|---|
| 1821 | 1810 | .get_fmt = imx347_get_fmt, |
|---|
| 1822 | 1811 | .set_fmt = imx347_set_fmt, |
|---|
| 1823 | 1812 | .get_selection = imx347_get_selection, |
|---|
| 1813 | + .get_mbus_config = imx347_g_mbus_config, |
|---|
| 1824 | 1814 | }; |
|---|
| 1825 | 1815 | |
|---|
| 1826 | 1816 | static const struct v4l2_subdev_ops imx347_subdev_ops = { |
|---|