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

Commit 6009e24b authored by Elliot Berman's avatar Elliot Berman
Browse files

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: default avatarElliot Berman <eberman@codeaurora.org>
parent 0d8b2730
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -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)
{
+7 −0
Original line number Diff line number Diff line
@@ -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);
+5 −0
Original line number Diff line number Diff line
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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)