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

Commit 130c3606 authored by Raja Mallik's avatar Raja Mallik Committed by Gerrit - the friendly Code Review server
Browse files

Merge remote-tracking branch 'dev/msm-4.14' into msm-4.9 07/03



* commit '8819f223628c45a1934349cff8e7c7e2f27190c0':
  msm: camera: sensor: Add check to know if device acquired
  msm: camera: isp: remove the check for bpp
  msm: camera: jpeg: Check the HW state before accessing register
  msm: camera: isp: Enabling critical logs to improve debugging
  msm: camera: cpas: Avoid array underflow during client registration
  msm: camera: isp: Halt device with the command parsed
  msm: camera: core: Fix context release timing issue
  msm: camera: mem: print error value
  msm: camera: isp: Update the context hw events dump
  msm: camera: smmu: Set smmu non fatal flag true
  msm: camera: isp: Buffer size validation at IFE

Change-Id: Iee23d9b045065e8a5569c3ad7355333d2825d3a3
Signed-off-by: default avatarRaja Mallik <rmallik@codeaurora.org>
parent b7401f45
Loading
Loading
Loading
Loading
+14 −4
Original line number Original line Diff line number Diff line
@@ -461,6 +461,17 @@ int32_t cam_context_prepare_dev_to_hw(struct cam_context *ctx,
				"[%s][%d] : Moving req[%llu] from free_list to pending_list",
				"[%s][%d] : Moving req[%llu] from free_list to pending_list",
				ctx->dev_name, ctx->ctx_id, req->request_id);
				ctx->dev_name, ctx->ctx_id, req->request_id);


		for (j = 0; j < req->num_in_map_entries; j++) {
			rc = cam_sync_check_valid(
				req->in_map_entries[j].sync_id);
			if (rc) {
				CAM_ERR(CAM_CTXT,
					"invalid in map sync object %d",
					req->in_map_entries[j].sync_id);
				goto put_ref;
			}
		}

		for (j = 0; j < req->num_in_map_entries; j++) {
		for (j = 0; j < req->num_in_map_entries; j++) {
			cam_context_getref(ctx);
			cam_context_getref(ctx);
			rc = cam_sync_register_callback(
			rc = cam_sync_register_callback(
@@ -482,7 +493,9 @@ int32_t cam_context_prepare_dev_to_hw(struct cam_context *ctx,
						ctx->dev_name, ctx->ctx_id,
						ctx->dev_name, ctx->ctx_id,
						req->request_id);
						req->request_id);


				goto put_ctx_ref;
				cam_context_putref(ctx);
				goto put_ref;

			}
			}
			CAM_DBG(CAM_CTXT, "register in fence cb: %d ret = %d",
			CAM_DBG(CAM_CTXT, "register in fence cb: %d ret = %d",
				req->in_map_entries[j].sync_id, rc);
				req->in_map_entries[j].sync_id, rc);
@@ -491,9 +504,6 @@ int32_t cam_context_prepare_dev_to_hw(struct cam_context *ctx,
	}
	}


	return rc;
	return rc;
put_ctx_ref:
	for (--j; j >= 0; j--)
		cam_context_putref(ctx);
put_ref:
put_ref:
	for (--i; i >= 0; i--) {
	for (--i; i >= 0; i--) {
		rc = cam_sync_put_obj_ref(req->out_map_entries[i].sync_id);
		rc = cam_sync_put_obj_ref(req->out_map_entries[i].sync_id);
+7 −0
Original line number Original line Diff line number Diff line
@@ -1234,6 +1234,13 @@ static int cam_cpas_hw_register_client(struct cam_hw_info *cpas_hw,
	rc = cam_common_util_get_string_index(soc_private->client_name,
	rc = cam_common_util_get_string_index(soc_private->client_name,
		soc_private->num_clients, client_name, &client_indx);
		soc_private->num_clients, client_name, &client_indx);


	if (rc) {
		CAM_ERR(CAM_CPAS, "No match found for client %s",
			client_name);
		mutex_unlock(&cpas_hw->hw_mutex);
		return rc;
	}

	mutex_lock(&cpas_core->client_mutex[client_indx]);
	mutex_lock(&cpas_core->client_mutex[client_indx]);


	if (rc || !CAM_CPAS_CLIENT_VALID(client_indx) ||
	if (rc || !CAM_CPAS_CLIENT_VALID(client_indx) ||
+210 −116

File changed.

Preview size limit exceeded, changes collapsed.

+35 −23

File changed.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Original line Diff line number Diff line
@@ -2637,7 +2637,7 @@ static int cam_ife_mgr_stop_hw(void *hw_mgr_priv, void *stop_hw_args)


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


	/* stop rest of the CSID paths  */
	/* stop rest of the CSID paths  */
	for (i = 0; i < ctx->num_base; i++) {
	for (i = 0; i < ctx->num_base; i++) {
@@ -2647,7 +2647,7 @@ static int cam_ife_mgr_stop_hw(void *hw_mgr_priv, void *stop_hw_args)
			ctx->base[i].idx, i, master_base_idx);
			ctx->base[i].idx, i, master_base_idx);


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


	CAM_DBG(CAM_ISP, "Stopping master CID idx %d", master_base_idx);
	CAM_DBG(CAM_ISP, "Stopping master CID idx %d", master_base_idx);
Loading