Loading drivers/media/platform/msm/camera_v2/isp/msm_isp.h +1 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,7 @@ struct vfe_device { uint8_t vt_enable; void __iomem *p_avtimer_msw; void __iomem *p_avtimer_lsw; uint8_t ignore_error; }; #endif drivers/media/platform/msm/camera_v2/isp/msm_isp32.c +2 −0 Original line number Diff line number Diff line Loading @@ -631,11 +631,13 @@ static void msm_vfe32_update_camif_state( msm_camera_io_w_mb(0x0, vfe_dev->vfe_base + 0x1E0); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; } else if (update_state == DISABLE_CAMIF_IMMEDIATELY) { vfe_dev->ignore_error = 1; msm_camera_io_w_mb(0x6, vfe_dev->vfe_base + 0x1E0); vfe_dev->hw_info->vfe_ops.axi_ops.halt(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reset_hw(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.init_hw_reg(vfe_dev); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; vfe_dev->ignore_error = 0; } } Loading drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +2 −0 Original line number Diff line number Diff line Loading @@ -885,11 +885,13 @@ static void msm_vfe40_update_camif_state(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x0, vfe_dev->vfe_base + 0x2F4); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; } else if (update_state == DISABLE_CAMIF_IMMEDIATELY) { vfe_dev->ignore_error = 1; msm_camera_io_w_mb(0x6, vfe_dev->vfe_base + 0x2F4); vfe_dev->hw_info->vfe_ops.axi_ops.halt(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reset_hw(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.init_hw_reg(vfe_dev); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; vfe_dev->ignore_error = 0; } } Loading drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +2 −1 Original line number Diff line number Diff line Loading @@ -1113,7 +1113,8 @@ irqreturn_t msm_isp_process_irq(int irq_num, void *data) error_mask1 &= irq_status1; irq_status0 &= ~error_mask0; irq_status1 &= ~error_mask1; if ((error_mask0 != 0) || (error_mask1 != 0)) if (!vfe_dev->ignore_error && ((error_mask0 != 0) || (error_mask1 != 0))) msm_isp_update_error_info(vfe_dev, error_mask0, error_mask1); if ((irq_status0 == 0) && (irq_status1 == 0) && Loading Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp.h +1 −0 Original line number Diff line number Diff line Loading @@ -446,6 +446,7 @@ struct vfe_device { uint8_t vt_enable; void __iomem *p_avtimer_msw; void __iomem *p_avtimer_lsw; uint8_t ignore_error; }; #endif
drivers/media/platform/msm/camera_v2/isp/msm_isp32.c +2 −0 Original line number Diff line number Diff line Loading @@ -631,11 +631,13 @@ static void msm_vfe32_update_camif_state( msm_camera_io_w_mb(0x0, vfe_dev->vfe_base + 0x1E0); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; } else if (update_state == DISABLE_CAMIF_IMMEDIATELY) { vfe_dev->ignore_error = 1; msm_camera_io_w_mb(0x6, vfe_dev->vfe_base + 0x1E0); vfe_dev->hw_info->vfe_ops.axi_ops.halt(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reset_hw(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.init_hw_reg(vfe_dev); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; vfe_dev->ignore_error = 0; } } Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp40.c +2 −0 Original line number Diff line number Diff line Loading @@ -885,11 +885,13 @@ static void msm_vfe40_update_camif_state(struct vfe_device *vfe_dev, msm_camera_io_w_mb(0x0, vfe_dev->vfe_base + 0x2F4); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; } else if (update_state == DISABLE_CAMIF_IMMEDIATELY) { vfe_dev->ignore_error = 1; msm_camera_io_w_mb(0x6, vfe_dev->vfe_base + 0x2F4); vfe_dev->hw_info->vfe_ops.axi_ops.halt(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.reset_hw(vfe_dev); vfe_dev->hw_info->vfe_ops.core_ops.init_hw_reg(vfe_dev); vfe_dev->axi_data.src_info[VFE_PIX_0].active = 0; vfe_dev->ignore_error = 0; } } Loading
drivers/media/platform/msm/camera_v2/isp/msm_isp_util.c +2 −1 Original line number Diff line number Diff line Loading @@ -1113,7 +1113,8 @@ irqreturn_t msm_isp_process_irq(int irq_num, void *data) error_mask1 &= irq_status1; irq_status0 &= ~error_mask0; irq_status1 &= ~error_mask1; if ((error_mask0 != 0) || (error_mask1 != 0)) if (!vfe_dev->ignore_error && ((error_mask0 != 0) || (error_mask1 != 0))) msm_isp_update_error_info(vfe_dev, error_mask0, error_mask1); if ((irq_status0 == 0) && (irq_status1 == 0) && Loading