msm: camera: common: Stopping HW before stopping tasklet
Tasklet must be stopped after stopping HW. In current implementation we are stopping same tasklet both in CSID and IFE/TFE stop call. This change adds to stop both csid and ife/tfe HW first and then stopping tasklet. CRs-Fixed: 3855774 Change-Id: I93de831c45d2f61142db300140e36c17e0dd9b31 Signed-off-by: Yash Upadhyay <quic_yupadhya@quicinc.com>
This commit is contained in:
@@ -2711,7 +2711,6 @@ static int cam_ife_csid_ver1_enable_hw(struct cam_ife_csid_ver1_hw *csid_hw)
|
||||
csid_hw->flags.fatal_err_detected = false;
|
||||
csid_hw->flags.device_enabled = true;
|
||||
spin_unlock_irqrestore(&csid_hw->lock_state, flags);
|
||||
cam_tasklet_start(csid_hw->tasklet);
|
||||
|
||||
return rc;
|
||||
|
||||
@@ -2890,7 +2889,6 @@ static int cam_ife_csid_ver1_disable_hw(
|
||||
cam_io_w_mb(0, soc_info->reg_map[0].mem_base +
|
||||
csid_reg->cmn_reg->top_irq_mask_addr);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
rc = cam_ife_csid_disable_soc_resources(soc_info);
|
||||
if (rc)
|
||||
CAM_ERR(CAM_ISP, "CSID:%d Disable CSID SOC failed",
|
||||
|
@@ -1343,7 +1343,6 @@ static int cam_tfe_csid_enable_hw(struct cam_tfe_csid_hw *csid_hw)
|
||||
csid_hw->fatal_err_detected = false;
|
||||
csid_hw->device_enabled = 1;
|
||||
spin_unlock_irqrestore(&csid_hw->spin_lock, flags);
|
||||
cam_tasklet_start(csid_hw->tasklet);
|
||||
|
||||
if (csid_hw->pxl_pipe_enable ) {
|
||||
path_data = (struct cam_tfe_csid_path_cfg *)
|
||||
@@ -1415,8 +1414,6 @@ static int cam_tfe_csid_disable_hw(struct cam_tfe_csid_hw *csid_hw)
|
||||
cam_io_w_mb(0, soc_info->reg_map[0].mem_base +
|
||||
csid_reg->cmn_reg->csid_top_irq_mask_addr);
|
||||
|
||||
cam_tasklet_stop(csid_hw->tasklet);
|
||||
|
||||
rc = cam_tfe_csid_disable_soc_resources(soc_info);
|
||||
if (rc)
|
||||
CAM_ERR(CAM_ISP, "CSID:%d Disable CSID SOC failed",
|
||||
|
Reference in New Issue
Block a user