atomic_inc(&csi->vvalid);
{
u32 vsync_cnt = atomic_read(&csi->fcount);
+ struct fimc_is_device_sensor *sensor;
+ u32 hashkey;
+
+ sensor = v4l2_get_subdev_hostdata(*csi->subdev);
+ if (!sensor) {
+ err("sensor is NULL");
+ BUG();
+ }
+
+ hashkey = vsync_cnt % FIMC_IS_TIMESTAMP_HASH_KEY;
+ sensor->timestamp[hashkey] = fimc_is_get_timestamp();
+ sensor->timestampboot[hashkey] = fimc_is_get_timestamp_boot();
v4l2_subdev_notify(*csi->subdev, CSI_NOTIFY_VSYNC, &vsync_cnt);
}
int ret = 0;
struct fimc_is_framemgr *framemgr;
struct fimc_is_frame *frame;
- u32 hashkey;
struct fimc_is_device_csi *csi;
struct fimc_is_subdev *dma_subdev;
struct v4l2_control ctrl;
wake_up(&device->instant_wait);
}
-#if !defined(ENABLE_HW_FAST_READ_OUT)
- hashkey = device->fcount % FIMC_IS_TIMESTAMP_HASH_KEY;
- device->timestamp[hashkey] = fimc_is_get_timestamp();
- device->timestampboot[hashkey] = fimc_is_get_timestamp_boot();
-#endif
-
#ifdef MEASURE_TIME
#ifdef MONITOR_TIME
{
TIME_SHOT(TMS_SHOT2);
}
-#ifdef ENABLE_HW_FAST_READ_OUT
- if ((frame) && (device->image.framerate > 240)
- && (group->tail->id == FULL_OTF_TAIL_GROUP_ID)) /* FULL OTF path + 480fps */
- hashkey = frame->fcount % FIMC_IS_TIMESTAMP_HASH_KEY;
- else
- hashkey = device->fcount % FIMC_IS_TIMESTAMP_HASH_KEY;
-
- device->timestamp[hashkey] = fimc_is_get_timestamp();
- device->timestampboot[hashkey] = fimc_is_get_timestamp_boot();
-#endif
#endif
#endif