Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb536a82 authored by Jing Zhou's avatar Jing Zhou
Browse files

msm: camera: isp: Address the review comments in ISP context and CSID



This change addressed the review comments from the code review. It
fixes the CSID release issue with TPG and clean up several debug
texts.

Change-Id: I9ae2fb3c8dde05bd5b7599280831680ad6d2199b
Signed-off-by: default avatarJing Zhou <jzhou70@codeaurora.org>
parent d56766f7
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
@@ -59,15 +59,22 @@ static int __cam_isp_ctx_handle_buf_done_in_activated_state(
		}

		if (!bubble_state) {
			CDBG("%s: Sync success: fd 0x%x\n", __func__,
			CDBG("%s: Sync with success: fd 0x%x\n", __func__,
				   req_isp->fence_map_out[j].sync_id);
			cam_sync_signal(req_isp->fence_map_out[j].sync_id,
			rc = cam_sync_signal(req_isp->fence_map_out[j].sync_id,
				CAM_SYNC_STATE_SIGNALED_SUCCESS);
			if (rc)
				pr_err("%s: Sync failed with rc = %d\n",
					__func__, rc);

		} else if (!req_isp->bubble_report) {
			CDBG("%s: Sync failure: fd 0x%x\n", __func__,
			CDBG("%s: Sync with failure: fd 0x%x\n", __func__,
				   req_isp->fence_map_out[j].sync_id);
			cam_sync_signal(req_isp->fence_map_out[j].sync_id,
			rc = cam_sync_signal(req_isp->fence_map_out[j].sync_id,
				CAM_SYNC_STATE_SIGNALED_ERROR);
			if (rc)
				pr_err("%s: Sync failed with rc = %d\n",
					__func__, rc);
		} else {
			/*
			 * Ignore the buffer done if bubble detect is on
@@ -277,7 +284,7 @@ static int __cam_isp_ctx_sof_in_epoch(struct cam_isp_context *ctx_isp,

	ctx_isp->frame_id++;
	ctx_isp->substate_activated = CAM_ISP_CTX_ACTIVATED_SOF;
	pr_err("%s: next substate %d\n", __func__,
	CDBG("%s: next substate %d\n", __func__,
		ctx_isp->substate_activated);

	return rc;
+11 −12
Original line number Diff line number Diff line
@@ -1493,29 +1493,28 @@ static int cam_ife_mgr_stop_hw(void *hw_mgr_priv, void *stop_hw_args)
	if (i == ctx->num_base)
		master_base_idx = ctx->base[0].idx;

	/* Stop the master CIDs first */
	cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_cid,
	/* Stop the master CSID path first */
	cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_csid,
			master_base_idx, CAM_CSID_HALT_AT_FRAME_BOUNDARY);

	/* stop rest of the CIDs  */
	/* stop rest of the CSID paths  */
	for (i = 0; i < ctx->num_base; i++) {
		if (i == master_base_idx)
			continue;
		cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_cid,

		cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_csid,
			ctx->base[i].idx, CAM_CSID_HALT_AT_FRAME_BOUNDARY);
	}


	/* Stop the master CSID path first */
	cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_csid,
	/* Stop the master CIDs first */
	cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_cid,
			master_base_idx, CAM_CSID_HALT_AT_FRAME_BOUNDARY);

	/* stop rest of the CSID paths  */
	/* stop rest of the CIDs  */
	for (i = 0; i < ctx->num_base; i++) {
		if (i == master_base_idx)
			continue;

		cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_csid,
		cam_ife_mgr_csid_stop_hw(ctx, &ctx->res_list_ife_cid,
			ctx->base[i].idx, CAM_CSID_HALT_AT_FRAME_BOUNDARY);
	}

@@ -2884,7 +2883,7 @@ int cam_ife_hw_mgr_init(struct cam_hw_mgr_intf *hw_mgr_intf)
	int i, j;
	struct cam_iommu_handle cdm_handles;

	pr_info("%s: Enter\n", __func__);
	CDBG("%s: Enter\n", __func__);

	memset(&g_ife_hw_mgr, 0, sizeof(g_ife_hw_mgr));

@@ -3037,7 +3036,7 @@ int cam_ife_hw_mgr_init(struct cam_hw_mgr_intf *hw_mgr_intf)
	hw_mgr_intf->hw_prepare_update = cam_ife_mgr_prepare_hw_update;
	hw_mgr_intf->hw_config = cam_ife_mgr_config_hw;

	pr_info("%s: Exit\n", __func__);
	CDBG("%s: Exit\n", __func__);
	return 0;
end:
	if (rc) {
+2 −2
Original line number Diff line number Diff line
@@ -1133,7 +1133,7 @@ static int cam_ife_csid_init_config_ipp_path(
	if (rc)
		return rc;

	/**
	/*
	 * configure the IPP and enable the time stamp capture.
	 * enable the HW measrurement blocks
	 */
@@ -1417,7 +1417,7 @@ static int cam_ife_csid_init_config_rdi_path(
	if (rc)
		return rc;

	/**
	/*
	 * RDI path config and enable the time stamp capture
	 * Enable the measurement blocks
	 */