req, req_cnt * sizeof(*req), resp, sizeof(*resp));
}
+int __qcom_scm_restart_proc(u32 proc_id, int restart, u32 *resp)
+{
+
+ return qcom_scm_call(QCOM_SCM_SVC_PIL, proc_id,
+ &restart, sizeof(restart),
+ &resp, sizeof(resp));
+}
+
bool __qcom_scm_pas_supported(u32 peripheral)
{
u32 ret_val;
return ret;
}
+int __qcom_scm_restart_proc(u32 proc_id, int restart, u32 *resp)
+{
+ int ret;
+ struct qcom_scm_desc desc = {0};
+
+ desc.args[0] = restart;
+ desc.args[1] = 0;
+ desc.arginfo = QCOM_SCM_ARGS(2);
+
+ ret = qcom_scm_call(QCOM_SCM_SVC_PIL, proc_id,
+ &desc);
+ *resp = desc.ret[0];
+
+ return ret;
+}
+
bool __qcom_scm_pas_supported(u32 peripheral)
{
int ret;
}
EXPORT_SYMBOL(qcom_scm_hdcp_req);
+int qcom_scm_restart_proc(u32 pid, int restart, u32 *resp)
+{
+ return __qcom_scm_restart_proc(pid, restart, resp);
+}
+EXPORT_SYMBOL(qcom_scm_restart_proc);
/**
* qcom_scm_pas_supported() - Check if the peripheral authentication service is
* available for the given peripherial
extern int __qcom_scm_is_call_available(u32 svc_id, u32 cmd_id);
extern int __qcom_scm_get_feat_version(u32 feat);
extern int __qcom_scm_restore_sec_cfg(u32 device_id, u32 spare);
+extern int __qcom_scm_restart_proc(u32 proc_id, int restart, u32 *resp);
extern int __qcom_scm_set_video_state(u32 state, u32 spare);
extern int __qcom_scm_mem_protect_video_var(u32 start, u32 size,
u32 *resp);
extern bool qcom_scm_pas_supported(u32 peripheral);
+extern int qcom_scm_restart_proc(u32 pid, int restart, u32 *resp);
extern int qcom_scm_pas_init_image(struct device *dev, u32 peripheral, const void *metadata, size_t size);
extern int qcom_scm_pas_mem_setup(u32 peripheral, phys_addr_t addr, phys_addr_t size);
extern int qcom_scm_pas_auth_and_reset(u32 peripheral);