Loading drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1747,7 +1747,7 @@ static int msm_vfe40_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); /* if any stream is waiting for update, signal complete */ /* if any stream is waiting for update, signal complete */ for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading drivers/media/platform/msm/camera_v2/isp/msm_isp44.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1377,7 +1377,7 @@ static int msm_vfe44_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x2C0); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x2C0); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { /* if any stream is waiting for update, signal complete */ /* if any stream is waiting for update, signal complete */ msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading drivers/media/platform/msm/camera_v2/isp/msm_isp46.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1464,7 +1464,7 @@ static int msm_vfe46_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x374); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x374); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading drivers/media/platform/msm/camera_v2/isp/msm_isp47.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1798,7 +1798,7 @@ int msm_vfe47_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x400); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x400); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { /* if any stream is waiting for update, signal fake completes */ /* if any stream is waiting for update, signal fake completes */ msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +11 −12 Original line number Original line Diff line number Diff line Loading @@ -1060,7 +1060,7 @@ void msm_isp_start_avtimer(void) avcs_core_disable_power_collapse(1); avcs_core_disable_power_collapse(1); } } static inline void msm_isp_get_avtimer_ts( void msm_isp_get_avtimer_ts( struct msm_isp_timestamp *time_stamp) struct msm_isp_timestamp *time_stamp) { { int rc = 0; int rc = 0; Loading Loading @@ -1088,7 +1088,7 @@ void msm_isp_start_avtimer(void) pr_err("AV Timer is not supported\n"); pr_err("AV Timer is not supported\n"); } } static inline void msm_isp_get_avtimer_ts( void msm_isp_get_avtimer_ts( struct msm_isp_timestamp *time_stamp) struct msm_isp_timestamp *time_stamp) { { pr_err_ratelimited("%s: Error: AVTimer driver not available\n", pr_err_ratelimited("%s: Error: AVTimer driver not available\n", Loading Loading @@ -2282,7 +2282,7 @@ int msm_isp_axi_reset(struct vfe_device *vfe_dev, update_vfes[vfe_dev->pdev->id] = vfe_dev; update_vfes[vfe_dev->pdev->id] = vfe_dev; } } msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); for (k = 0; k < MAX_VFE; k++) { for (k = 0; k < MAX_VFE; k++) { vfe_dev = update_vfes[k]; vfe_dev = update_vfes[k]; Loading Loading @@ -2700,8 +2700,8 @@ static int __msm_isp_check_stream_state(struct msm_vfe_axi_stream *stream_info, } } static void __msm_isp_stop_axi_streams(struct msm_vfe_axi_stream **streams, static void __msm_isp_stop_axi_streams(struct vfe_device *vfe_dev, int num_streams, int cmd_type) struct msm_vfe_axi_stream **streams, int num_streams, int cmd_type) { { int i; int i; struct msm_vfe_axi_shared_data *axi_data; struct msm_vfe_axi_shared_data *axi_data; Loading @@ -2712,11 +2712,10 @@ static void __msm_isp_stop_axi_streams(struct msm_vfe_axi_stream **streams, unsigned long flags; unsigned long flags; uint32_t intf; uint32_t intf; int rc; int rc; struct vfe_device *vfe_dev; struct vfe_device *update_vfes[MAX_VFE] = {0, 0}; struct vfe_device *update_vfes[MAX_VFE] = {0, 0}; int k; int k; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); for (i = 0; i < num_streams; i++) { for (i = 0; i < num_streams; i++) { stream_info = streams[i]; stream_info = streams[i]; Loading Loading @@ -2881,7 +2880,7 @@ static int msm_isp_start_axi_stream(struct vfe_device *vfe_dev_ioctl, if (stream_cfg_cmd->num_streams > MAX_NUM_STREAM) if (stream_cfg_cmd->num_streams > MAX_NUM_STREAM) return -EINVAL; return -EINVAL; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev_ioctl); for (i = 0; i < stream_cfg_cmd->num_streams; i++) { for (i = 0; i < stream_cfg_cmd->num_streams; i++) { if (stream_cfg_cmd->stream_handle[i] == 0) if (stream_cfg_cmd->stream_handle[i] == 0) Loading Loading @@ -3005,7 +3004,7 @@ static int msm_isp_start_axi_stream(struct vfe_device *vfe_dev_ioctl, return 0; return 0; error: error: __msm_isp_stop_axi_streams(streams, num_streams, __msm_isp_stop_axi_streams(vfe_dev_ioctl, streams, num_streams, STOP_STREAM); STOP_STREAM); return rc; return rc; Loading Loading @@ -3043,7 +3042,7 @@ static int msm_isp_stop_axi_stream(struct vfe_device *vfe_dev_ioctl, } } streams[num_streams++] = stream_info; streams[num_streams++] = stream_info; } } __msm_isp_stop_axi_streams(streams, num_streams, __msm_isp_stop_axi_streams(vfe_dev_ioctl, streams, num_streams, stream_cfg_cmd->cmd); stream_cfg_cmd->cmd); return rc; return rc; Loading Loading @@ -3172,7 +3171,7 @@ static int msm_isp_return_empty_buffer(struct vfe_device *vfe_dev, return rc; return rc; } } msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); buf->buf_debug.put_state[buf->buf_debug.put_state_last] = buf->buf_debug.put_state[buf->buf_debug.put_state_last] = MSM_ISP_BUFFER_STATE_DROP_REG; MSM_ISP_BUFFER_STATE_DROP_REG; buf->buf_debug.put_state_last ^= 1; buf->buf_debug.put_state_last ^= 1; Loading Loading @@ -3576,7 +3575,7 @@ int msm_isp_update_axi_stream(struct vfe_device *vfe_dev, void *arg) stream_info = msm_isp_get_stream_common_data(vfe_dev, stream_info = msm_isp_get_stream_common_data(vfe_dev, HANDLE_TO_IDX(update_info->stream_handle)); HANDLE_TO_IDX(update_info->stream_handle)); stream_info->buf_divert = 0; stream_info->buf_divert = 0; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); frame_id = vfe_dev->axi_data.src_info[ frame_id = vfe_dev->axi_data.src_info[ SRC_TO_INTF(stream_info->stream_src)].frame_id; SRC_TO_INTF(stream_info->stream_src)].frame_id; /* set ping pong address to scratch before flush */ /* set ping pong address to scratch before flush */ Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1747,7 +1747,7 @@ static int msm_vfe40_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0xFEFFFEFF, vfe_dev->vfe_base + 0x34); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_camera_io_w(0x1, vfe_dev->vfe_base + 0x24); msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); /* if any stream is waiting for update, signal complete */ /* if any stream is waiting for update, signal complete */ for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp44.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1377,7 +1377,7 @@ static int msm_vfe44_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x2C0); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x2C0); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { /* if any stream is waiting for update, signal complete */ /* if any stream is waiting for update, signal complete */ msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp46.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1464,7 +1464,7 @@ static int msm_vfe46_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x374); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x374); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp47.c +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1798,7 +1798,7 @@ int msm_vfe47_axi_halt(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x400); msm_camera_io_w_mb(0x1, vfe_dev->vfe_base + 0x400); } } msm_isp_get_timestamp(&ts); msm_isp_get_timestamp(&ts, vfe_dev); for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { for (i = VFE_PIX_0; i <= VFE_RAW_2; i++) { /* if any stream is waiting for update, signal fake completes */ /* if any stream is waiting for update, signal fake completes */ msm_isp_axi_stream_update(vfe_dev, i, &ts); msm_isp_axi_stream_update(vfe_dev, i, &ts); Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +11 −12 Original line number Original line Diff line number Diff line Loading @@ -1060,7 +1060,7 @@ void msm_isp_start_avtimer(void) avcs_core_disable_power_collapse(1); avcs_core_disable_power_collapse(1); } } static inline void msm_isp_get_avtimer_ts( void msm_isp_get_avtimer_ts( struct msm_isp_timestamp *time_stamp) struct msm_isp_timestamp *time_stamp) { { int rc = 0; int rc = 0; Loading Loading @@ -1088,7 +1088,7 @@ void msm_isp_start_avtimer(void) pr_err("AV Timer is not supported\n"); pr_err("AV Timer is not supported\n"); } } static inline void msm_isp_get_avtimer_ts( void msm_isp_get_avtimer_ts( struct msm_isp_timestamp *time_stamp) struct msm_isp_timestamp *time_stamp) { { pr_err_ratelimited("%s: Error: AVTimer driver not available\n", pr_err_ratelimited("%s: Error: AVTimer driver not available\n", Loading Loading @@ -2282,7 +2282,7 @@ int msm_isp_axi_reset(struct vfe_device *vfe_dev, update_vfes[vfe_dev->pdev->id] = vfe_dev; update_vfes[vfe_dev->pdev->id] = vfe_dev; } } msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); for (k = 0; k < MAX_VFE; k++) { for (k = 0; k < MAX_VFE; k++) { vfe_dev = update_vfes[k]; vfe_dev = update_vfes[k]; Loading Loading @@ -2700,8 +2700,8 @@ static int __msm_isp_check_stream_state(struct msm_vfe_axi_stream *stream_info, } } static void __msm_isp_stop_axi_streams(struct msm_vfe_axi_stream **streams, static void __msm_isp_stop_axi_streams(struct vfe_device *vfe_dev, int num_streams, int cmd_type) struct msm_vfe_axi_stream **streams, int num_streams, int cmd_type) { { int i; int i; struct msm_vfe_axi_shared_data *axi_data; struct msm_vfe_axi_shared_data *axi_data; Loading @@ -2712,11 +2712,10 @@ static void __msm_isp_stop_axi_streams(struct msm_vfe_axi_stream **streams, unsigned long flags; unsigned long flags; uint32_t intf; uint32_t intf; int rc; int rc; struct vfe_device *vfe_dev; struct vfe_device *update_vfes[MAX_VFE] = {0, 0}; struct vfe_device *update_vfes[MAX_VFE] = {0, 0}; int k; int k; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); for (i = 0; i < num_streams; i++) { for (i = 0; i < num_streams; i++) { stream_info = streams[i]; stream_info = streams[i]; Loading Loading @@ -2881,7 +2880,7 @@ static int msm_isp_start_axi_stream(struct vfe_device *vfe_dev_ioctl, if (stream_cfg_cmd->num_streams > MAX_NUM_STREAM) if (stream_cfg_cmd->num_streams > MAX_NUM_STREAM) return -EINVAL; return -EINVAL; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev_ioctl); for (i = 0; i < stream_cfg_cmd->num_streams; i++) { for (i = 0; i < stream_cfg_cmd->num_streams; i++) { if (stream_cfg_cmd->stream_handle[i] == 0) if (stream_cfg_cmd->stream_handle[i] == 0) Loading Loading @@ -3005,7 +3004,7 @@ static int msm_isp_start_axi_stream(struct vfe_device *vfe_dev_ioctl, return 0; return 0; error: error: __msm_isp_stop_axi_streams(streams, num_streams, __msm_isp_stop_axi_streams(vfe_dev_ioctl, streams, num_streams, STOP_STREAM); STOP_STREAM); return rc; return rc; Loading Loading @@ -3043,7 +3042,7 @@ static int msm_isp_stop_axi_stream(struct vfe_device *vfe_dev_ioctl, } } streams[num_streams++] = stream_info; streams[num_streams++] = stream_info; } } __msm_isp_stop_axi_streams(streams, num_streams, __msm_isp_stop_axi_streams(vfe_dev_ioctl, streams, num_streams, stream_cfg_cmd->cmd); stream_cfg_cmd->cmd); return rc; return rc; Loading Loading @@ -3172,7 +3171,7 @@ static int msm_isp_return_empty_buffer(struct vfe_device *vfe_dev, return rc; return rc; } } msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); buf->buf_debug.put_state[buf->buf_debug.put_state_last] = buf->buf_debug.put_state[buf->buf_debug.put_state_last] = MSM_ISP_BUFFER_STATE_DROP_REG; MSM_ISP_BUFFER_STATE_DROP_REG; buf->buf_debug.put_state_last ^= 1; buf->buf_debug.put_state_last ^= 1; Loading Loading @@ -3576,7 +3575,7 @@ int msm_isp_update_axi_stream(struct vfe_device *vfe_dev, void *arg) stream_info = msm_isp_get_stream_common_data(vfe_dev, stream_info = msm_isp_get_stream_common_data(vfe_dev, HANDLE_TO_IDX(update_info->stream_handle)); HANDLE_TO_IDX(update_info->stream_handle)); stream_info->buf_divert = 0; stream_info->buf_divert = 0; msm_isp_get_timestamp(×tamp); msm_isp_get_timestamp(×tamp, vfe_dev); frame_id = vfe_dev->axi_data.src_info[ frame_id = vfe_dev->axi_data.src_info[ SRC_TO_INTF(stream_info->stream_src)].frame_id; SRC_TO_INTF(stream_info->stream_src)].frame_id; /* set ping pong address to scratch before flush */ /* set ping pong address to scratch before flush */ Loading