Loading drivers/soc/qcom/early_random.c +14 −4 Original line number Diff line number Diff line Loading @@ -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); 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)); 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 Loading
drivers/soc/qcom/early_random.c +14 −4 Original line number Diff line number Diff line Loading @@ -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); 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)); 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