| .. | .. |
|---|
| 104 | 104 | |
|---|
| 105 | 105 | #define OV4686_NUM_SUPPLIES ARRAY_SIZE(OV4686_supply_names) |
|---|
| 106 | 106 | |
|---|
| 107 | | -enum OV4686_max_pad { |
|---|
| 108 | | - PAD0, /* link to isp */ |
|---|
| 109 | | - PAD1, /* link to csi wr0 | hdr x2:L x3:M */ |
|---|
| 110 | | - PAD2, /* link to csi wr1 | hdr x3:L */ |
|---|
| 111 | | - PAD3, /* link to csi wr2 | hdr x2:M x3:S */ |
|---|
| 112 | | - PAD_MAX, |
|---|
| 113 | | -}; |
|---|
| 114 | | - |
|---|
| 115 | 107 | struct regval { |
|---|
| 116 | 108 | u16 addr; |
|---|
| 117 | 109 | u8 val; |
|---|
| .. | .. |
|---|
| 726 | 718 | struct OV4686 *OV4686 = to_OV4686(sd); |
|---|
| 727 | 719 | const struct OV4686_mode *mode = OV4686->cur_mode; |
|---|
| 728 | 720 | |
|---|
| 729 | | - mutex_lock(&OV4686->mutex); |
|---|
| 730 | 721 | fi->interval = mode->max_fps; |
|---|
| 731 | | - mutex_unlock(&OV4686->mutex); |
|---|
| 732 | 722 | |
|---|
| 733 | 723 | return 0; |
|---|
| 734 | 724 | } |
|---|
| 735 | 725 | |
|---|
| 736 | | -static int OV4686_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 726 | +static int OV4686_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 737 | 727 | struct v4l2_mbus_config *config) |
|---|
| 738 | 728 | { |
|---|
| 739 | 729 | struct OV4686 *OV4686 = to_OV4686(sd); |
|---|
| .. | .. |
|---|
| 747 | 737 | if (mode->hdr_mode == HDR_X3) |
|---|
| 748 | 738 | val |= V4L2_MBUS_CSI2_CHANNEL_2; |
|---|
| 749 | 739 | |
|---|
| 750 | | - config->type = V4L2_MBUS_CSI2; |
|---|
| 740 | + config->type = V4L2_MBUS_CSI2_DPHY; |
|---|
| 751 | 741 | config->flags = val; |
|---|
| 752 | 742 | |
|---|
| 753 | 743 | return 0; |
|---|
| .. | .. |
|---|
| 1237 | 1227 | static const struct v4l2_subdev_video_ops OV4686_video_ops = { |
|---|
| 1238 | 1228 | .s_stream = OV4686_s_stream, |
|---|
| 1239 | 1229 | .g_frame_interval = OV4686_g_frame_interval, |
|---|
| 1240 | | - .g_mbus_config = OV4686_g_mbus_config, |
|---|
| 1241 | 1230 | }; |
|---|
| 1242 | 1231 | |
|---|
| 1243 | 1232 | static const struct v4l2_subdev_pad_ops OV4686_pad_ops = { |
|---|
| .. | .. |
|---|
| 1246 | 1235 | .enum_frame_interval = OV4686_enum_frame_interval, |
|---|
| 1247 | 1236 | .get_fmt = OV4686_get_fmt, |
|---|
| 1248 | 1237 | .set_fmt = OV4686_set_fmt, |
|---|
| 1238 | + .get_mbus_config = OV4686_g_mbus_config, |
|---|
| 1249 | 1239 | }; |
|---|
| 1250 | 1240 | |
|---|
| 1251 | 1241 | static const struct v4l2_subdev_ops OV4686_subdev_ops = { |
|---|