input: touchscreen: synaptics_dsx: Migrate SCM calls

Migrate secure world calls to qcom_scm driver in synaptics_dsx_core.c.

Change-Id: Ie339dcad416658a0f1227b9a9ee995799695dc94
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:
Elliot Berman 2019-10-14 11:20:51 -07:00
commit 6009e24b13
4 changed files with 37 additions and 0 deletions

View file

@ -853,6 +853,28 @@ int __qcom_scm_get_sec_dump_state(struct device *dev, u32 *dump_state)
return ret;
}
int __qcom_scm_tz_blsp_modify_owner(struct device *dev, int food, u64 subsystem,
int *out)
{
int ret;
struct qcom_scm_desc desc = {
.svc = QCOM_SCM_SVC_TZ,
.cmd = QOCM_SCM_TZ_BLSP_MODIFY_OWNER,
.owner = ARM_SMCCC_OWNER_SIP
};
desc.args[0] = subsystem;
desc.args[1] = food;
desc.arginfo = QCOM_SCM_ARGS(2);
ret = qcom_scm_call(dev, &desc);
if (out)
*out = desc.res[0];
return ret;
}
int __qcom_scm_io_readl(struct device *dev, phys_addr_t addr,
unsigned int *val)
{

View file

@ -329,6 +329,13 @@ int qcom_scm_get_sec_dump_state(u32 *dump_state)
}
EXPORT_SYMBOL(qcom_scm_get_sec_dump_state);
int qcom_scm_tz_blsp_modify_owner(int food, u64 subsystem, int *out)
{
return __qcom_scm_tz_blsp_modify_owner(__scm->dev, subsystem, food,
out);
}
EXPORT_SYMBOL(qcom_scm_tz_blsp_modify_owner);
int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val)
{
return __qcom_scm_io_readl(__scm->dev, addr, val);

View file

@ -41,6 +41,11 @@ extern int __qcom_scm_pas_mss_reset(struct device *dev, bool reset);
#define QCOM_SCM_UTIL_GET_SEC_DUMP_STATE 0x10
extern int __qcom_scm_get_sec_dump_state(struct device *dev, u32 *dump_state);
#define QCOM_SCM_SVC_TZ 0x04
#define QOCM_SCM_TZ_BLSP_MODIFY_OWNER 0x03
extern int __qcom_scm_tz_blsp_modify_owner(struct device *dev, int food,
u64 subsystem, int *out);
#define QCOM_SCM_SVC_IO 0x05
#define QCOM_SCM_IO_READ 0x01
#define QCOM_SCM_IO_WRITE 0x02

View file

@ -48,6 +48,7 @@ extern int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr,
extern int qcom_scm_pas_auth_and_reset(u32 peripheral);
extern int qcom_scm_pas_shutdown(u32 peripheral);
extern int qcom_scm_get_sec_dump_state(u32 *dump_state);
extern int qcom_scm_tz_blsp_modify_owner(int food, u64 subsystem, int *out);
extern int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val);
extern int qcom_scm_io_writel(phys_addr_t addr, unsigned int val);
extern int qcom_scm_io_reset(void);
@ -128,6 +129,8 @@ static inline int qcom_scm_pas_auth_and_reset(u32 peripheral)
static inline int qcom_scm_pas_shutdown(u32 peripheral) { return -ENODEV; }
static inline int qcom_scm_get_sec_dump_state(u32 *dump_state)
{return -ENODEV; }
static inline int qcom_scm_tz_blsp_modify_owner(int food, u64 subsystem,
int *out) { return -ENODEV; }
static inline int qcom_scm_io_readl(phys_addr_t addr, unsigned int *val)
{ return -ENODEV; }
static inline int qcom_scm_io_writel(phys_addr_t addr, unsigned int val)