Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e81179ed authored by Nagesh Subba Reddy's avatar Nagesh Subba Reddy Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: isp: Fix camif raw only snapshot usecase



For camif raw only usecase, user space does not configure reg_update.
Configure it in kernel when epoch irq is received. Currently, frame
skip registers are configured in both epoch irq routine and sof
routine. This causes frame skip not applied properly. Remove it from
sof irq routine.

Change-Id: Ide6eabfe30bf3d201acffb8fe075b556bdf7915d
Signed-off-by: default avatarNagesh Subba Reddy <nageshsreddy@codeaurora.org>
parent ff56aaf1
Loading
Loading
Loading
Loading
+10 −12
Original line number Diff line number Diff line
@@ -293,18 +293,6 @@ static void msm_vfe44_process_input_irq(struct vfe_device *vfe_dev,
			&vfe_dev->fetch_engine_info);
	}

	if (irq_status0 & (1 << 0)) {
		if (vfe_dev->axi_data.src_info[VFE_PIX_0].raw_stream_count > 0
			&& vfe_dev->axi_data.src_info[VFE_PIX_0].
			pix_stream_count == 0) {
			ISP_DBG("%s: SOF IRQ\n", __func__);
			msm_isp_notify(vfe_dev, ISP_EVENT_SOF, VFE_PIX_0, ts);
			if (vfe_dev->axi_data.stream_update[VFE_PIX_0])
				msm_isp_axi_stream_update(vfe_dev, VFE_PIX_0);
			msm_isp_update_framedrop_reg(vfe_dev, VFE_PIX_0);
		}
	}

	if (irq_status0 & (1 << 1))
		ISP_DBG("%s: EOF IRQ\n", __func__);
}
@@ -558,6 +546,16 @@ static void msm_vfe44_process_epoch_irq(struct vfe_device *vfe_dev,
		msm_isp_update_framedrop_reg(vfe_dev, VFE_PIX_0);
		msm_isp_update_stats_framedrop_reg(vfe_dev);
		msm_isp_update_error_frame_count(vfe_dev);
		if (vfe_dev->axi_data.src_info[VFE_PIX_0].raw_stream_count > 0
			&& vfe_dev->axi_data.src_info[VFE_PIX_0].
			pix_stream_count == 0) {
			ISP_DBG("%s: SOF IRQ\n", __func__);
			msm_isp_notify(vfe_dev, ISP_EVENT_SOF, VFE_PIX_0, ts);
			if (vfe_dev->axi_data.stream_update[VFE_PIX_0])
				msm_isp_axi_stream_update(vfe_dev, VFE_PIX_0);
				vfe_dev->hw_info->vfe_ops.core_ops.reg_update(
				   vfe_dev, VFE_PIX_0);
		}
	}
}