Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +15 −10 Original line number Diff line number Diff line Loading @@ -427,7 +427,8 @@ void msm_isp_cfg_framedrop_reg(struct vfe_device *vfe_dev, * ensure that no frame will came after last, even if * userspace reg update is delayed */ framedrop_pattern = (1 << stream_info->runtime_burst_frame_count) - 1; (1 << stream_info->runtime_num_burst_capture) - 1; framedrop_pattern <<= stream_info->runtime_init_frame_drop; /* Alternate maximum two values for period to ensure Loading Loading @@ -497,23 +498,27 @@ void msm_isp_update_framedrop_reg(struct vfe_device *vfe_dev, void msm_isp_reset_framedrop(struct vfe_device *vfe_dev, struct msm_vfe_axi_stream *stream_info) { stream_info->runtime_init_frame_drop = stream_info->init_frame_drop; /* * While deriving burst_frame_count, Initial frame skip * is taken into consideration But if skip frame has already * passed, burst count has to be updated accordingly */ if (vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id == 0) { stream_info->runtime_burst_frame_count = stream_info->burst_frame_count; } else { stream_info->runtime_burst_frame_count = stream_info->burst_frame_count - stream_info->runtime_init_frame_drop; if (vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id > stream_info->init_frame_drop) stream_info->runtime_init_frame_drop = 0; } else stream_info->runtime_init_frame_drop = stream_info->init_frame_drop - vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id; stream_info->runtime_num_burst_capture = stream_info->num_burst_capture; stream_info->runtime_burst_frame_count = stream_info->runtime_init_frame_drop + (stream_info->runtime_num_burst_capture - 1) * (stream_info->framedrop_period + 1) + 1; stream_info->runtime_framedrop_update = stream_info->framedrop_update; msm_isp_cfg_framedrop_reg(vfe_dev, stream_info); ISP_DBG("%s: init frame drop: %d\n", __func__, Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +15 −10 Original line number Diff line number Diff line Loading @@ -427,7 +427,8 @@ void msm_isp_cfg_framedrop_reg(struct vfe_device *vfe_dev, * ensure that no frame will came after last, even if * userspace reg update is delayed */ framedrop_pattern = (1 << stream_info->runtime_burst_frame_count) - 1; (1 << stream_info->runtime_num_burst_capture) - 1; framedrop_pattern <<= stream_info->runtime_init_frame_drop; /* Alternate maximum two values for period to ensure Loading Loading @@ -497,23 +498,27 @@ void msm_isp_update_framedrop_reg(struct vfe_device *vfe_dev, void msm_isp_reset_framedrop(struct vfe_device *vfe_dev, struct msm_vfe_axi_stream *stream_info) { stream_info->runtime_init_frame_drop = stream_info->init_frame_drop; /* * While deriving burst_frame_count, Initial frame skip * is taken into consideration But if skip frame has already * passed, burst count has to be updated accordingly */ if (vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id == 0) { stream_info->runtime_burst_frame_count = stream_info->burst_frame_count; } else { stream_info->runtime_burst_frame_count = stream_info->burst_frame_count - stream_info->runtime_init_frame_drop; if (vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id > stream_info->init_frame_drop) stream_info->runtime_init_frame_drop = 0; } else stream_info->runtime_init_frame_drop = stream_info->init_frame_drop - vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id; stream_info->runtime_num_burst_capture = stream_info->num_burst_capture; stream_info->runtime_burst_frame_count = stream_info->runtime_init_frame_drop + (stream_info->runtime_num_burst_capture - 1) * (stream_info->framedrop_period + 1) + 1; stream_info->runtime_framedrop_update = stream_info->framedrop_update; msm_isp_cfg_framedrop_reg(vfe_dev, stream_info); ISP_DBG("%s: init frame drop: %d\n", __func__, Loading