| .. | .. |
|---|
| 141 | 141 | static const struct regval ar0230_regs[] = { |
|---|
| 142 | 142 | #ifdef USE_HDR_MODE |
|---|
| 143 | 143 | {0x301A, 0x0001}, |
|---|
| 144 | | - {REG_DELAY, 2000}, |
|---|
| 144 | + {REG_DELAY, 20000}, |
|---|
| 145 | 145 | {0x301A, 0x10D8}, |
|---|
| 146 | | - {REG_DELAY, 2000}, |
|---|
| 146 | + {REG_DELAY, 20000}, |
|---|
| 147 | 147 | {0x3088, 0x8000}, |
|---|
| 148 | 148 | {0x3086, 0x4558}, |
|---|
| 149 | 149 | {0x3086, 0x729B}, |
|---|
| .. | .. |
|---|
| 1144 | 1144 | struct ar0230 *ar0230 = to_ar0230(sd); |
|---|
| 1145 | 1145 | const struct ar0230_mode *mode = ar0230->cur_mode; |
|---|
| 1146 | 1146 | |
|---|
| 1147 | | - mutex_lock(&ar0230->mutex); |
|---|
| 1148 | 1147 | fi->interval = mode->max_fps; |
|---|
| 1149 | | - mutex_unlock(&ar0230->mutex); |
|---|
| 1150 | 1148 | |
|---|
| 1151 | 1149 | return 0; |
|---|
| 1152 | 1150 | } |
|---|
| .. | .. |
|---|
| 1292 | 1290 | } |
|---|
| 1293 | 1291 | #endif |
|---|
| 1294 | 1292 | |
|---|
| 1295 | | -static int ar0230_g_mbus_config(struct v4l2_subdev *sd, |
|---|
| 1293 | +static int ar0230_g_mbus_config(struct v4l2_subdev *sd, unsigned int pad_id, |
|---|
| 1296 | 1294 | struct v4l2_mbus_config *config) |
|---|
| 1297 | 1295 | { |
|---|
| 1298 | 1296 | config->type = V4L2_MBUS_PARALLEL; |
|---|
| .. | .. |
|---|
| 1309 | 1307 | if (fie->index >= ARRAY_SIZE(supported_modes)) |
|---|
| 1310 | 1308 | return -EINVAL; |
|---|
| 1311 | 1309 | |
|---|
| 1312 | | - if (fie->code != PIX_FORMAT) |
|---|
| 1313 | | - return -EINVAL; |
|---|
| 1314 | | - |
|---|
| 1310 | + fie->code = PIX_FORMAT; |
|---|
| 1315 | 1311 | fie->width = supported_modes[fie->index].width; |
|---|
| 1316 | 1312 | fie->height = supported_modes[fie->index].height; |
|---|
| 1317 | 1313 | fie->interval = supported_modes[fie->index].max_fps; |
|---|
| .. | .. |
|---|
| 1339 | 1335 | |
|---|
| 1340 | 1336 | static const struct v4l2_subdev_video_ops ar0230_video_ops = { |
|---|
| 1341 | 1337 | .s_stream = ar0230_s_stream, |
|---|
| 1342 | | - .g_mbus_config = ar0230_g_mbus_config, |
|---|
| 1343 | 1338 | .g_frame_interval = ar0230_g_frame_interval, |
|---|
| 1344 | 1339 | }; |
|---|
| 1345 | 1340 | |
|---|
| .. | .. |
|---|
| 1349 | 1344 | .enum_frame_interval = ar0230_enum_frame_interval, |
|---|
| 1350 | 1345 | .get_fmt = ar0230_get_fmt, |
|---|
| 1351 | 1346 | .set_fmt = ar0230_set_fmt, |
|---|
| 1347 | + .get_mbus_config = ar0230_g_mbus_config, |
|---|
| 1352 | 1348 | }; |
|---|
| 1353 | 1349 | |
|---|
| 1354 | 1350 | static const struct v4l2_subdev_ops ar0230_subdev_ops = { |
|---|