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: Siddharth Gupta <sidgup@codeaurora.org>
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:
Siddharth Gupta 2019-10-17 15:45:25 -07:00 committed by Elliot Berman
parent fb0a041246
commit 89d665314e
4 changed files with 38 additions and 0 deletions

View File

@ -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)
{

View File

@ -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);

View File

@ -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,

View File

@ -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,