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:
Yash Upadhyay
2024-07-09 10:23:26 +05:30
förälder 789bc32bbd
incheckning edbbcb93c8
2 ändrade filer med 0 tillägg och 5 borttagningar

Visa fil

@@ -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",

Visa fil

@@ -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",