From 57f2caba9542a931c7ec18bd2e469412dbfa6b9e Mon Sep 17 00:00:00 2001 From: Karthik Anantha Ram Date: Tue, 20 Jun 2023 17:40:26 -0700 Subject: [PATCH] msm: camera: isp: Unsubscribe for IRQ events only on CSID stop All the IRQs are masked out at the start of the stop sequence. When unsubscribing for respective IRQ controllers, only clean up internal data structures without impacting the mask registers. CRs-Fixed: 3535921 Change-Id: I7f05867f07fcfabe065269734c67c5e11e0a9fe2 Signed-off-by: Karthik Anantha Ram --- .../isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c b/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c index 473a9cc4c8..c3fe4a1981 100644 --- a/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c +++ b/drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c @@ -5559,7 +5559,7 @@ int cam_ife_csid_ver2_stop(void *hw_priv, res->res_name); } if (csid_hw->buf_done_irq_handle) { - rc = cam_irq_controller_unsubscribe_irq( + rc = cam_irq_controller_unsubscribe_irq_evt( csid_hw->top_irq_controller[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0], csid_hw->buf_done_irq_handle); csid_hw->buf_done_irq_handle = 0; @@ -5570,21 +5570,21 @@ int cam_ife_csid_ver2_stop(void *hw_priv, } if (csid_hw->top_err_irq_handle[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0]) { - rc = cam_irq_controller_unsubscribe_irq( + rc = cam_irq_controller_unsubscribe_irq_evt( csid_hw->top_irq_controller[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0], csid_hw->top_err_irq_handle[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0]); csid_hw->top_err_irq_handle[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0] = 0; } if (csid_hw->top_mc_irq_handle) { - rc = cam_irq_controller_unsubscribe_irq( + rc = cam_irq_controller_unsubscribe_irq_evt( csid_hw->top_irq_controller[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0], csid_hw->top_mc_irq_handle); csid_hw->top_mc_irq_handle = 0; } if (csid_hw->debug_info.top_mask) { - cam_irq_controller_unsubscribe_irq( + cam_irq_controller_unsubscribe_irq_evt( csid_hw->top_irq_controller[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0], csid_hw->top_info_irq_handle[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0]); csid_hw->top_info_irq_handle[CAM_IFE_CSID_TOP_IRQ_STATUS_REG0] = 0;