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 <quic_kartanan@quicinc.com>
This commit is contained in:
parent
c98bea4b04
commit
57f2caba95
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user