Merge "qcom: Update early random APIs to scmv8"
This commit is contained in:
commit
778c13d30c
1 changed files with 14 additions and 4 deletions
|
@ -36,14 +36,24 @@ void __init init_random_pool(void)
|
|||
struct tz_prng_data data;
|
||||
int ret;
|
||||
u32 resp;
|
||||
struct scm_desc desc;
|
||||
|
||||
data.out_buf = (uint8_t *) virt_to_phys(random_buffer);
|
||||
data.out_buf_sz = SZ_512;
|
||||
desc.args[0] = (unsigned long) data.out_buf;
|
||||
desc.args[1] = data.out_buf_sz = SZ_512;
|
||||
desc.arginfo = SCM_ARGS(2, SCM_RW, SCM_VAL);
|
||||
|
||||
dmac_flush_range(random_buffer, random_buffer + RANDOM_BUFFER_SIZE);
|
||||
|
||||
ret = scm_call_noalloc(TZ_SVC_CRYPTO, PRNG_CMD_ID, &data,
|
||||
sizeof(data), &resp, sizeof(resp),
|
||||
common_scm_buf, SCM_BUFFER_SIZE(common_scm_buf));
|
||||
if (!is_scm_armv8())
|
||||
ret = scm_call_noalloc(TZ_SVC_CRYPTO, PRNG_CMD_ID, &data,
|
||||
sizeof(data), &resp, sizeof(resp),
|
||||
common_scm_buf,
|
||||
SCM_BUFFER_SIZE(common_scm_buf));
|
||||
else
|
||||
ret = scm_call2(SCM_SIP_FNID(TZ_SVC_CRYPTO, PRNG_CMD_ID),
|
||||
&desc);
|
||||
|
||||
if (!ret) {
|
||||
dmac_inv_range(random_buffer, random_buffer +
|
||||
RANDOM_BUFFER_SIZE);
|
||||
|
|
Loading…
Add table
Reference in a new issue