Loading drivers/media/platform/msm/camera_v2/isp/msm_isp.h +0 −1 Original line number Diff line number Diff line Loading @@ -762,7 +762,6 @@ struct msm_vfe_common_dev_data { /* Irq debug Info */ struct msm_vfe_irq_dump vfe_irq_dump; struct msm_vfe_tasklet tasklets[MAX_VFE + 1]; uint32_t drop_reconfig; }; struct msm_vfe_common_subdev { Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +19 −12 Original line number Diff line number Diff line Loading @@ -635,7 +635,8 @@ static void msm_isp_update_framedrop_reg(struct msm_vfe_axi_stream *stream_info, drop_reconfig != 1) stream_info->current_framedrop_period = MSM_VFE_STREAM_STOP_PERIOD; if (stream_info->controllable_output && drop_reconfig == 1) stream_info->current_framedrop_period = 1; /* * re-configure the period pattern, only if it's not already * set to what we want Loading Loading @@ -691,9 +692,20 @@ void msm_isp_process_reg_upd_epoch_irq(struct vfe_device *vfe_dev, break; case MSM_ISP_COMP_IRQ_EPOCH: if (stream_info->state == ACTIVE) { struct vfe_device *temp = NULL; struct msm_vfe_common_dev_data *c_data; uint32_t drop_reconfig = vfe_dev->isp_page->drop_reconfig; if (stream_info->num_isp > 1 && vfe_dev->pdev->id == ISP_VFE0) { c_data = vfe_dev->common_data; temp = c_data->dual_vfe_res->vfe_dev[ ISP_VFE1]; drop_reconfig = temp->isp_page->drop_reconfig; } msm_isp_update_framedrop_reg(stream_info, vfe_dev->common_data->drop_reconfig); vfe_dev->common_data->drop_reconfig = 0; drop_reconfig); } break; default: Loading Loading @@ -2516,6 +2528,7 @@ static void msm_isp_input_enable(struct vfe_device *vfe_dev, continue; /* activate the input since it is deactivated */ axi_data->src_info[i].frame_id = 0; vfe_dev->irq_sof_id = 0; if (axi_data->src_info[i].input_mux != EXTERNAL_READ) axi_data->src_info[i].active = 1; if (i >= VFE_RAW_0 && sync_frame_id_src) { Loading Loading @@ -3131,7 +3144,6 @@ static void __msm_isp_stop_axi_streams(struct vfe_device *vfe_dev, msm_isp_cfg_stream_scratch(stream_info, VFE_PING_FLAG); msm_isp_cfg_stream_scratch(stream_info, VFE_PONG_FLAG); stream_info->undelivered_request_cnt = 0; vfe_dev->irq_sof_id = 0; if (stream_info->controllable_output && stream_info->pending_buf_info.is_buf_done_pending) { msm_isp_free_pending_buffer(vfe_dev, stream_info, Loading Loading @@ -3653,10 +3665,6 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, pr_debug("%s:%d invalid time to request frame %d\n", __func__, __LINE__, frame_id); vfe_dev->isp_page->drop_reconfig = 1; /*keep it in vfe_dev variable also to avoid skip pattern * programming the variable in page can be overwritten by MCT */ vfe_dev->common_data->drop_reconfig = 1; } else if ((vfe_dev->axi_data.src_info[frame_src].active) && ((frame_id == vfe_dev->axi_data.src_info[frame_src].frame_id) || Loading @@ -3664,7 +3672,6 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, (stream_info->undelivered_request_cnt <= MAX_BUFFERS_IN_HW)) { vfe_dev->isp_page->drop_reconfig = 1; vfe_dev->common_data->drop_reconfig = 1; pr_debug("%s: vfe_%d request_frame %d cur frame id %d pix %d\n", __func__, vfe_dev->pdev->id, frame_id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, Loading Loading @@ -4472,7 +4479,7 @@ void msm_isp_process_axi_irq_stream(struct vfe_device *vfe_dev, */ done_buf->is_drop_reconfig = 0; if (!stream_info->buf[pingpong_bit]) { /*samebuffer is not re-programeed so program scratch*/ /* samebuffer is not re-programeed so write scratch */ msm_isp_cfg_stream_scratch(stream_info, pingpong_status); } Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -2357,7 +2357,6 @@ int msm_isp_open_node(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) vfe_dev->isp_raw1_debug = 0; vfe_dev->isp_raw2_debug = 0; vfe_dev->irq_sof_id = 0; vfe_dev->common_data->drop_reconfig = 0; if (vfe_dev->hw_info->vfe_ops.core_ops.init_hw(vfe_dev) < 0) { pr_err("%s: init hardware failed\n", __func__); vfe_dev->vfe_open_cnt--; Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp.h +0 −1 Original line number Diff line number Diff line Loading @@ -762,7 +762,6 @@ struct msm_vfe_common_dev_data { /* Irq debug Info */ struct msm_vfe_irq_dump vfe_irq_dump; struct msm_vfe_tasklet tasklets[MAX_VFE + 1]; uint32_t drop_reconfig; }; struct msm_vfe_common_subdev { Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_axi_util.c +19 −12 Original line number Diff line number Diff line Loading @@ -635,7 +635,8 @@ static void msm_isp_update_framedrop_reg(struct msm_vfe_axi_stream *stream_info, drop_reconfig != 1) stream_info->current_framedrop_period = MSM_VFE_STREAM_STOP_PERIOD; if (stream_info->controllable_output && drop_reconfig == 1) stream_info->current_framedrop_period = 1; /* * re-configure the period pattern, only if it's not already * set to what we want Loading Loading @@ -691,9 +692,20 @@ void msm_isp_process_reg_upd_epoch_irq(struct vfe_device *vfe_dev, break; case MSM_ISP_COMP_IRQ_EPOCH: if (stream_info->state == ACTIVE) { struct vfe_device *temp = NULL; struct msm_vfe_common_dev_data *c_data; uint32_t drop_reconfig = vfe_dev->isp_page->drop_reconfig; if (stream_info->num_isp > 1 && vfe_dev->pdev->id == ISP_VFE0) { c_data = vfe_dev->common_data; temp = c_data->dual_vfe_res->vfe_dev[ ISP_VFE1]; drop_reconfig = temp->isp_page->drop_reconfig; } msm_isp_update_framedrop_reg(stream_info, vfe_dev->common_data->drop_reconfig); vfe_dev->common_data->drop_reconfig = 0; drop_reconfig); } break; default: Loading Loading @@ -2516,6 +2528,7 @@ static void msm_isp_input_enable(struct vfe_device *vfe_dev, continue; /* activate the input since it is deactivated */ axi_data->src_info[i].frame_id = 0; vfe_dev->irq_sof_id = 0; if (axi_data->src_info[i].input_mux != EXTERNAL_READ) axi_data->src_info[i].active = 1; if (i >= VFE_RAW_0 && sync_frame_id_src) { Loading Loading @@ -3131,7 +3144,6 @@ static void __msm_isp_stop_axi_streams(struct vfe_device *vfe_dev, msm_isp_cfg_stream_scratch(stream_info, VFE_PING_FLAG); msm_isp_cfg_stream_scratch(stream_info, VFE_PONG_FLAG); stream_info->undelivered_request_cnt = 0; vfe_dev->irq_sof_id = 0; if (stream_info->controllable_output && stream_info->pending_buf_info.is_buf_done_pending) { msm_isp_free_pending_buffer(vfe_dev, stream_info, Loading Loading @@ -3653,10 +3665,6 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, pr_debug("%s:%d invalid time to request frame %d\n", __func__, __LINE__, frame_id); vfe_dev->isp_page->drop_reconfig = 1; /*keep it in vfe_dev variable also to avoid skip pattern * programming the variable in page can be overwritten by MCT */ vfe_dev->common_data->drop_reconfig = 1; } else if ((vfe_dev->axi_data.src_info[frame_src].active) && ((frame_id == vfe_dev->axi_data.src_info[frame_src].frame_id) || Loading @@ -3664,7 +3672,6 @@ static int msm_isp_request_frame(struct vfe_device *vfe_dev, (stream_info->undelivered_request_cnt <= MAX_BUFFERS_IN_HW)) { vfe_dev->isp_page->drop_reconfig = 1; vfe_dev->common_data->drop_reconfig = 1; pr_debug("%s: vfe_%d request_frame %d cur frame id %d pix %d\n", __func__, vfe_dev->pdev->id, frame_id, vfe_dev->axi_data.src_info[VFE_PIX_0].frame_id, Loading Loading @@ -4472,7 +4479,7 @@ void msm_isp_process_axi_irq_stream(struct vfe_device *vfe_dev, */ done_buf->is_drop_reconfig = 0; if (!stream_info->buf[pingpong_bit]) { /*samebuffer is not re-programeed so program scratch*/ /* samebuffer is not re-programeed so write scratch */ msm_isp_cfg_stream_scratch(stream_info, pingpong_status); } Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +0 −1 Original line number Diff line number Diff line Loading @@ -2357,7 +2357,6 @@ int msm_isp_open_node(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh) vfe_dev->isp_raw1_debug = 0; vfe_dev->isp_raw2_debug = 0; vfe_dev->irq_sof_id = 0; vfe_dev->common_data->drop_reconfig = 0; if (vfe_dev->hw_info->vfe_ops.core_ops.init_hw(vfe_dev) < 0) { pr_err("%s: init hardware failed\n", __func__); vfe_dev->vfe_open_cnt--; Loading