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

Commit cba9648f authored by qctecmdr Service's avatar qctecmdr Service Committed by Gerrit - the friendly Code Review server
Browse files

Merge "UPSTREAM commit '8cb6469b' on 11/6"

parents ec911d29 cf416a93
Loading
Loading
Loading
Loading
+12 −0
Original line number Original line Diff line number Diff line
@@ -37,6 +37,16 @@ of A5, IPE and BPS devices present on the hardware.
  Value type: <u32>
  Value type: <u32>
  Definition: Number of supported BPS HW blocks.
  Definition: Number of supported BPS HW blocks.


- icp_pc_en
  Usage: optional
  Value type: boolean
  Definition: Specifies ICP power collapse enablement

- ipe_bps_pc_en
  Usage: optional
  Value type: boolean
  Definition: Specifies IPE/BPS power collapse enablement

Example:
Example:
	qcom,cam-icp {
	qcom,cam-icp {
		compatible = "qcom,cam-icp";
		compatible = "qcom,cam-icp";
@@ -44,6 +54,8 @@ Example:
		num-a5 = <1>;
		num-a5 = <1>;
		num-ipe = <2>;
		num-ipe = <2>;
		num-bps = <1>;
		num-bps = <1>;
		icp_pc_en;
		ipe_bps_pc_en;
		status = "ok";
		status = "ok";
	};
	};


+1 −0
Original line number Original line Diff line number Diff line
@@ -850,6 +850,7 @@
		num-a5 = <1>;
		num-a5 = <1>;
		num-ipe = <1>;
		num-ipe = <1>;
		num-bps = <1>;
		num-bps = <1>;
		icp_pc_en;
		status = "ok";
		status = "ok";
	};
	};


+2 −0
Original line number Original line Diff line number Diff line
@@ -982,6 +982,8 @@
		num-a5 = <1>;
		num-a5 = <1>;
		num-ipe = <2>;
		num-ipe = <2>;
		num-bps = <1>;
		num-bps = <1>;
		icp_pc_en;
		ipe_bps_pc_en;
		status = "ok";
		status = "ok";
	};
	};


+0 −2
Original line number Original line Diff line number Diff line
@@ -44,7 +44,6 @@ int cam_context_shutdown(struct cam_context *ctx)
	int rc = 0;
	int rc = 0;
	struct cam_release_dev_cmd cmd;
	struct cam_release_dev_cmd cmd;


	mutex_lock(&ctx->ctx_mutex);
	if (ctx->state > CAM_CTX_AVAILABLE && ctx->state < CAM_CTX_STATE_MAX) {
	if (ctx->state > CAM_CTX_AVAILABLE && ctx->state < CAM_CTX_STATE_MAX) {
		cmd.session_handle = ctx->session_hdl;
		cmd.session_handle = ctx->session_hdl;
		cmd.dev_handle = ctx->dev_hdl;
		cmd.dev_handle = ctx->dev_hdl;
@@ -61,7 +60,6 @@ int cam_context_shutdown(struct cam_context *ctx)
			ctx->dev_name, ctx->ctx_id, ctx->state);
			ctx->dev_name, ctx->ctx_id, ctx->state);
		rc = -EINVAL;
		rc = -EINVAL;
	}
	}
	mutex_unlock(&ctx->ctx_mutex);


	rc = cam_destroy_device_hdl(ctx->dev_hdl);
	rc = cam_destroy_device_hdl(ctx->dev_hdl);
	if (rc)
	if (rc)
+5 −2
Original line number Original line Diff line number Diff line
@@ -31,7 +31,7 @@ static void cam_node_print_ctx_state(
	for (i = 0; i < node->ctx_size; i++) {
	for (i = 0; i < node->ctx_size; i++) {
		ctx = &node->ctx_list[i];
		ctx = &node->ctx_list[i];


		spin_lock(&ctx->lock);
		spin_lock_bh(&ctx->lock);
		CAM_INFO(CAM_CORE,
		CAM_INFO(CAM_CORE,
			"[%s][%d] : state=%d, refcount=%d, active_req_list=%d, pending_req_list=%d, wait_req_list=%d, free_req_list=%d",
			"[%s][%d] : state=%d, refcount=%d, active_req_list=%d, pending_req_list=%d, wait_req_list=%d, free_req_list=%d",
			ctx->dev_name ? ctx->dev_name : "null",
			ctx->dev_name ? ctx->dev_name : "null",
@@ -41,7 +41,7 @@ static void cam_node_print_ctx_state(
			list_empty(&ctx->pending_req_list),
			list_empty(&ctx->pending_req_list),
			list_empty(&ctx->wait_req_list),
			list_empty(&ctx->wait_req_list),
			list_empty(&ctx->free_req_list));
			list_empty(&ctx->free_req_list));
		spin_unlock(&ctx->lock);
		spin_unlock_bh(&ctx->lock);
	}
	}
	mutex_unlock(&node->list_mutex);
	mutex_unlock(&node->list_mutex);
}
}
@@ -657,6 +657,7 @@ int cam_node_handle_ioctl(struct cam_node *node, struct cam_control *cmd)
					"acquire device failed(rc = %d)", rc);
					"acquire device failed(rc = %d)", rc);
				goto acquire_kfree;
				goto acquire_kfree;
			}
			}
			CAM_INFO(CAM_CORE, "Acquire HW successful");
		}
		}


		if (copy_to_user((void __user *)cmd->handle, acquire_ptr,
		if (copy_to_user((void __user *)cmd->handle, acquire_ptr,
@@ -763,6 +764,8 @@ int cam_node_handle_ioctl(struct cam_node *node, struct cam_control *cmd)
					"release device failed(rc = %d)", rc);
					"release device failed(rc = %d)", rc);
		}
		}


		CAM_INFO(CAM_CORE, "Release HW done(rc = %d)", rc);

release_kfree:
release_kfree:
		kfree(release_ptr);
		kfree(release_ptr);
		break;
		break;
Loading