Merge "qcom: Update early random APIs to scmv8"

This commit is contained in:
Linux Build Service Account 2016-10-19 11:17:58 -07:00 committed by Gerrit - the friendly Code Review server
commit 778c13d30c

View file

@ -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);