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;
|
struct tz_prng_data data;
|
||||||
int ret;
|
int ret;
|
||||||
u32 resp;
|
u32 resp;
|
||||||
|
struct scm_desc desc;
|
||||||
|
|
||||||
data.out_buf = (uint8_t *) virt_to_phys(random_buffer);
|
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);
|
dmac_flush_range(random_buffer, random_buffer + RANDOM_BUFFER_SIZE);
|
||||||
|
|
||||||
ret = scm_call_noalloc(TZ_SVC_CRYPTO, PRNG_CMD_ID, &data,
|
if (!is_scm_armv8())
|
||||||
sizeof(data), &resp, sizeof(resp),
|
ret = scm_call_noalloc(TZ_SVC_CRYPTO, PRNG_CMD_ID, &data,
|
||||||
common_scm_buf, SCM_BUFFER_SIZE(common_scm_buf));
|
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) {
|
if (!ret) {
|
||||||
dmac_inv_range(random_buffer, random_buffer +
|
dmac_inv_range(random_buffer, random_buffer +
|
||||||
RANDOM_BUFFER_SIZE);
|
RANDOM_BUFFER_SIZE);
|
||||||
|
|
Loading…
Add table
Reference in a new issue