Loading drivers/cam_cdm/cam_cdm_hw_core.c +6 −5 Original line number Diff line number Diff line Loading @@ -665,6 +665,12 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data) kfree(payload); return IRQ_HANDLED; } if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR, payload->irq_status)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ Clear"); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR_CMD, 0x01)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ cmd"); if (payload->irq_status & CAM_CDM_IRQ_STATUS_INFO_INLINE_IRQ_MASK) { if (cam_cdm_read_hw_reg(cdm_hw, CDM_IRQ_USR_DATA, Loading @@ -677,11 +683,6 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data) payload->hw = cdm_hw; INIT_WORK((struct work_struct *)&payload->work, cam_hw_cdm_work); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR, payload->irq_status)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ Clear"); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR_CMD, 0x01)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ cmd"); work_status = queue_work(cdm_core->work_queue, &payload->work); if (work_status == false) { CAM_ERR(CAM_CDM, "Failed to queue work for irq=0x%x", Loading drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c +14 −1 Original line number Diff line number Diff line Loading @@ -3750,7 +3750,20 @@ static int cam_ife_mgr_stop_hw(void *hw_mgr_priv, void *stop_hw_args) cam_ife_mgr_pause_hw(ctx); wait_for_completion(&ctx->config_done_complete); rc = wait_for_completion_timeout( &ctx->config_done_complete, msecs_to_jiffies(300)); if (rc <= 0) { CAM_WARN(CAM_ISP, "config done completion timeout for last applied req_id=%llu rc=%d ctx_index %d", ctx->applied_req_id, rc, ctx->ctx_index); rc = -ETIMEDOUT; } else { CAM_DBG(CAM_ISP, "config done Success for req_id=%llu ctx_index %d", ctx->applied_req_id, ctx->ctx_index); rc = 0; } if (stop_isp->stop_only) goto end; Loading Loading
drivers/cam_cdm/cam_cdm_hw_core.c +6 −5 Original line number Diff line number Diff line Loading @@ -665,6 +665,12 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data) kfree(payload); return IRQ_HANDLED; } if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR, payload->irq_status)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ Clear"); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR_CMD, 0x01)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ cmd"); if (payload->irq_status & CAM_CDM_IRQ_STATUS_INFO_INLINE_IRQ_MASK) { if (cam_cdm_read_hw_reg(cdm_hw, CDM_IRQ_USR_DATA, Loading @@ -677,11 +683,6 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data) payload->hw = cdm_hw; INIT_WORK((struct work_struct *)&payload->work, cam_hw_cdm_work); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR, payload->irq_status)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ Clear"); if (cam_cdm_write_hw_reg(cdm_hw, CDM_IRQ_CLEAR_CMD, 0x01)) CAM_ERR(CAM_CDM, "Failed to Write CDM HW IRQ cmd"); work_status = queue_work(cdm_core->work_queue, &payload->work); if (work_status == false) { CAM_ERR(CAM_CDM, "Failed to queue work for irq=0x%x", Loading
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c +14 −1 Original line number Diff line number Diff line Loading @@ -3750,7 +3750,20 @@ static int cam_ife_mgr_stop_hw(void *hw_mgr_priv, void *stop_hw_args) cam_ife_mgr_pause_hw(ctx); wait_for_completion(&ctx->config_done_complete); rc = wait_for_completion_timeout( &ctx->config_done_complete, msecs_to_jiffies(300)); if (rc <= 0) { CAM_WARN(CAM_ISP, "config done completion timeout for last applied req_id=%llu rc=%d ctx_index %d", ctx->applied_req_id, rc, ctx->ctx_index); rc = -ETIMEDOUT; } else { CAM_DBG(CAM_ISP, "config done Success for req_id=%llu ctx_index %d", ctx->applied_req_id, ctx->ctx_index); rc = 0; } if (stop_isp->stop_only) goto end; Loading