summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-10-23 05:47:56 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-10-23 05:47:56 -0700
commit0267b3cfacc144be45ea4c7d1dd49e8f1bbffba9 (patch)
tree2bf10fbc82b8e360afbc3d1de87d1abd6ddb531e
parent5de1a28a4bf08920912f97b8b2741d1864a4eec8 (diff)
parent26f81bc56cbb0f0c6a76645e570ee14c03de0f8a (diff)
Merge "msm: isp: Clear irq status if irq is set again with same value"
-rw-r--r--drivers/media/platform/msm/camera_v2/isp/msm_isp40.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
index b5b160bc48c8..e04229fed666 100644
--- a/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
+++ b/drivers/media/platform/msm/camera_v2/isp/msm_isp40.c
@@ -591,6 +591,11 @@ static void msm_vfe40_read_and_clear_irq_status(struct vfe_device *vfe_dev,
*irq_status0 &= vfe_dev->irq0_mask;
*irq_status1 &= vfe_dev->irq1_mask;
+ if (*irq_status0 &&
+ (*irq_status0 == msm_camera_io_r(vfe_dev->vfe_base + 0x38))) {
+ msm_camera_io_w(*irq_status0, vfe_dev->vfe_base + 0x30);
+ msm_camera_io_w_mb(1, vfe_dev->vfe_base + 0x24);
+ }
if (*irq_status1 & (1 << 0)) {
vfe_dev->error_info.camif_status =