Merge tag 'rproc-v4.15' of git://github.com/andersson/remoteproc
Pull remoteproc updates from Bjorn Andersson: "This adds an interface for configuring Qualcomm's "secure SMMU" and adds support for booting the modem Hexagon on MSM8996. Two new debugfs entries are added in the remoteproc core to introspect the list of memory carveouts and the loaded resource table" * tag 'rproc-v4.15' of git://github.com/andersson/remoteproc: remoteproc: qcom: Fix error handling paths in order to avoid memory leaks remoteproc: qcom: Drop pr_err in q6v5_xfer_mem_ownership() remoteproc: debug: add carveouts list dump feature remoteproc: debug: add resource table dump feature remoteproc: qcom: Add support for mss remoteproc on msm8996 remoteproc: qcom: Make secure world call for mem ownership switch remoteproc: qcom: refactor mss fw image loading sequence firmware: scm: Add new SCM call API for switching memory ownership
This commit is contained in:
@@ -382,6 +382,33 @@ int __qcom_scm_set_remote_state(struct device *dev, u32 state, u32 id)
|
||||
return ret ? : res.a1;
|
||||
}
|
||||
|
||||
int __qcom_scm_assign_mem(struct device *dev, phys_addr_t mem_region,
|
||||
size_t mem_sz, phys_addr_t src, size_t src_sz,
|
||||
phys_addr_t dest, size_t dest_sz)
|
||||
{
|
||||
int ret;
|
||||
struct qcom_scm_desc desc = {0};
|
||||
struct arm_smccc_res res;
|
||||
|
||||
desc.args[0] = mem_region;
|
||||
desc.args[1] = mem_sz;
|
||||
desc.args[2] = src;
|
||||
desc.args[3] = src_sz;
|
||||
desc.args[4] = dest;
|
||||
desc.args[5] = dest_sz;
|
||||
desc.args[6] = 0;
|
||||
|
||||
desc.arginfo = QCOM_SCM_ARGS(7, QCOM_SCM_RO, QCOM_SCM_VAL,
|
||||
QCOM_SCM_RO, QCOM_SCM_VAL, QCOM_SCM_RO,
|
||||
QCOM_SCM_VAL, QCOM_SCM_VAL);
|
||||
|
||||
ret = qcom_scm_call(dev, QCOM_SCM_SVC_MP,
|
||||
QCOM_MEM_PROT_ASSIGN_ID,
|
||||
&desc, &res);
|
||||
|
||||
return ret ? : res.a1;
|
||||
}
|
||||
|
||||
int __qcom_scm_restore_sec_cfg(struct device *dev, u32 device_id, u32 spare)
|
||||
{
|
||||
struct qcom_scm_desc desc = {0};
|
||||
|
Reference in New Issue
Block a user