crypto: ice: Migrate SCM calls
Migrating all SCM calls made to the old driver to now be made through the backported upstream driver. Change-Id: Ic77d315c5a55859f0cc58d7bbf05c0c24d1ef155 Signed-off-by: Siddharth Gupta <sidgup@codeaurora.org> Signed-off-by: Elliot Berman <eberman@codeaurora.org>
This commit is contained in:
parent
050d2dca67
commit
5d6607bbfc
@ -1078,6 +1078,19 @@ int __qcom_scm_qsmmu500_wait_safe_toggle(struct device *dev, bool en)
|
||||
return qcom_scm_call_atomic(dev, &desc);
|
||||
}
|
||||
|
||||
int __qcom_scm_ice_restore_cfg(struct device *dev)
|
||||
{
|
||||
struct qcom_scm_desc desc = {
|
||||
.svc = QCOM_SCM_SVC_KEYSTORE,
|
||||
.cmd = QCOM_SCM_ICE_RESTORE_KEY_ID,
|
||||
.owner = ARM_SMCCC_OWNER_TRUSTED_OS
|
||||
};
|
||||
|
||||
desc.arginfo = QCOM_SCM_ARGS(0);
|
||||
|
||||
return qcom_scm_call(dev, &desc);
|
||||
}
|
||||
|
||||
void __qcom_scm_init(void)
|
||||
{
|
||||
__query_convention();
|
||||
|
@ -505,6 +505,12 @@ int qcom_scm_qsmmu500_wait_safe_toggle(bool en)
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_qsmmu500_wait_safe_toggle);
|
||||
|
||||
int qcom_scm_ice_restore_cfg(void)
|
||||
{
|
||||
return __qcom_scm_ice_restore_cfg(__scm->dev);
|
||||
}
|
||||
EXPORT_SYMBOL(qcom_scm_ice_restore_cfg);
|
||||
|
||||
/**
|
||||
* qcom_scm_is_available() - Checks if SCM is available
|
||||
*/
|
||||
|
@ -4,6 +4,7 @@
|
||||
#ifndef __QCOM_SCM_INT_H
|
||||
#define __QCOM_SCM_INT_H
|
||||
|
||||
// SIP Services and Function IDs
|
||||
#define QCOM_SCM_SVC_BOOT 0x01
|
||||
#define QCOM_SCM_BOOT_SET_ADDR 0x01
|
||||
#define QCOM_SCM_BOOT_TERMINATE_PC 0x02
|
||||
@ -77,7 +78,6 @@ extern int __qcom_scm_assign_mem(struct device *dev,
|
||||
phys_addr_t dest, size_t dest_sz);
|
||||
#define QCOM_SCM_IOMMU_TLBINVAL_FLAG 0x00000001
|
||||
|
||||
|
||||
#define QCOM_SCM_SVC_HDCP 0x11
|
||||
#define QCOM_SCM_HDCP_INVOKE 0x01
|
||||
extern int __qcom_scm_hdcp_req(struct device *dev,
|
||||
@ -89,6 +89,11 @@ extern int __qcom_scm_qsmmu500_wait_safe_toggle(struct device *dev,
|
||||
bool enable);
|
||||
#define QCOM_SCM_SMMU_CONFIG_ERRATA1_CLIENT_ALL 0x2
|
||||
|
||||
// TOS Services and Function IDs
|
||||
#define QCOM_SCM_SVC_KEYSTORE 0x05
|
||||
#define QCOM_SCM_ICE_RESTORE_KEY_ID 0x06
|
||||
extern int __qcom_scm_ice_restore_cfg(struct device *dev);
|
||||
|
||||
extern void __qcom_scm_init(void);
|
||||
|
||||
/* common error codes */
|
||||
|
@ -66,6 +66,7 @@ extern bool qcom_scm_hdcp_available(void);
|
||||
extern int qcom_scm_hdcp_req(struct qcom_scm_hdcp_req *req, u32 req_cnt,
|
||||
u32 *resp);
|
||||
extern int qcom_scm_qsmmu500_wait_safe_toggle(bool en);
|
||||
extern int qcom_scm_ice_restore_cfg(void);
|
||||
extern bool qcom_scm_is_available(void);
|
||||
#else
|
||||
|
||||
@ -114,6 +115,7 @@ static inline int qcom_scm_hdcp_req(struct qcom_scm_hdcp_req *req, u32 req_cnt,
|
||||
u32 *resp) { return -ENODEV; }
|
||||
static inline int qcom_scm_qsmmu500_wait_safe_toggle(bool en)
|
||||
{ return -ENODEV; }
|
||||
static inline int qcom_scm_ice_restore_cfg(void) { return -ENODEV; }
|
||||
static inline bool qcom_scm_is_available(void) { return false; }
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user