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

Commit 89d66531 authored by Siddharth Gupta's avatar Siddharth Gupta Committed by Elliot Berman
Browse files

thermal: qcom: Migrate SCM calls in msm_lmh_dcvs



Migrate SCM calls present in lmh_dbg to use the upstream driver.

Change-Id: I6daa774f5dc3af630676c9f3f70f0a5d09a8e7b6
Signed-off-by: default avatarSiddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: default avatarElliot Berman <eberman@codeaurora.org>
parent fb0a0412
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -1520,6 +1520,27 @@ int __qcom_scm_lmh_read_buf_size(struct device *dev, int *size)
	return ret;
}

int __qcom_scm_lmh_limit_dcvsh(struct device *dev, phys_addr_t payload,
			uint32_t payload_size, u64 limit_node, uint32_t node_id,
			u64 version)
{
	struct qcom_scm_desc desc = {
		.svc = QCOM_SCM_SVC_LMH,
		.cmd = QCOM_SCM_LMH_LIMIT_DCVSH,
		.owner = ARM_SMCCC_OWNER_SIP
	};

	desc.args[0] = payload;
	desc.args[1] = payload_size;
	desc.args[2] = limit_node;
	desc.args[3] = node_id;
	desc.args[4] = version;
	desc.arginfo = QCOM_SCM_ARGS(5, QCOM_SCM_RO, QCOM_SCM_VAL, QCOM_SCM_VAL,
					QCOM_SCM_VAL, QCOM_SCM_VAL);

	return qcom_scm_call(dev, &desc);
}

int __qcom_scm_lmh_debug_read(struct device *dev, phys_addr_t payload,
				uint32_t size)
{
+8 −0
Original line number Diff line number Diff line
@@ -709,6 +709,14 @@ int qcom_scm_lmh_read_buf_size(int *size)
}
EXPORT_SYMBOL(qcom_scm_lmh_read_buf_size);

int qcom_scm_lmh_limit_dcvsh(phys_addr_t payload, uint32_t payload_size,
			u64 limit_node, uint32_t node_id, u64 version)
{
	return __qcom_scm_lmh_limit_dcvsh(__scm->dev, payload, payload_size,
					limit_node, node_id, version);
}
EXPORT_SYMBOL(qcom_scm_lmh_limit_dcvsh);

int qcom_scm_lmh_debug_read(phys_addr_t payload, uint32_t size)
{
	return __qcom_scm_lmh_debug_read(__scm->dev, payload, size);
+4 −0
Original line number Diff line number Diff line
@@ -164,9 +164,13 @@ extern int __qcom_scm_hdcp_req(struct device *dev,
#define QCOM_SCM_SVC_LMH			0x13
#define QCOM_SCM_LMH_DEBUG_SET			0x08
#define QCOM_SCM_LMH_DEBUG_READ_BUF_SIZE	0x09
#define QCOM_SCM_LMH_LIMIT_DCVSH		0x10
#define QCOM_SCM_LMH_DEBUG_READ			0x0A
#define QCOM_SCM_LMH_DEBUG_GET_TYPE		0x0B
extern int __qcom_scm_lmh_read_buf_size(struct device *dev, int *size);
extern int __qcom_scm_lmh_limit_dcvsh(struct device *dev, phys_addr_t payload,
			uint32_t payload_size, u64 limit_node, uint32_t node_id,
			u64 version);
extern int __qcom_scm_lmh_debug_read(struct device *dev, phys_addr_t payload,
					uint32_t size);
extern int __qcom_scm_lmh_debug_config_write(struct device *dev, u64 cmd_id,
+5 −0
Original line number Diff line number Diff line
@@ -103,6 +103,8 @@ extern bool qcom_scm_is_lmh_debug_read_buf_size_available(void);
extern bool qcom_scm_is_lmh_debug_read_buf_available(void);
extern bool qcom_scm_is_lmh_debug_get_type_available(void);
extern int qcom_scm_lmh_read_buf_size(int *size);
extern int qcom_scm_lmh_limit_dcvsh(phys_addr_t payload, uint32_t payload_size,
			u64 limit_node, uint32_t node_id, u64 version);
extern int qcom_scm_lmh_debug_read(phys_addr_t payload, uint32_t size);
extern int qcom_scm_lmh_debug_set_config_write(phys_addr_t payload,
			int payload_size, uint32_t *buf, int buf_size);
@@ -215,6 +217,9 @@ static inline bool qcom_scm_is_lmh_debug_read_buf_available(void)
static inline bool qcom_scm_is_lmh_debug_get_type_available(void)
			{ return -EINVAL; }
static inline int qcom_scm_lmh_read_buf_size(int *size) { return -ENODEV; }
static inline int qcom_scm_lmh_limit_dcvsh(phys_addr_t payload,
			uint32_t payload_size, u64 limit_node, uint32_t node_id,
			u64 version)	{ return -ENODEV; }
static inline int qcom_scm_lmh_debug_read(phys_addr_t payload, uint32_t size)
			{ return -ENODEV; }
static inline int qcom_scm_lmh_debug_set_config_write(phys_addr_t payload,