// SPDX-License-Identifier: GPL-2.0 /* * sun8i-ce-prng.c - hardware cryptographic offloader for * Allwinner H3/A64/H5/H2+/H6/R40 SoC * * Copyright (C) 2015-2020 Corentin Labbe <clabbe@baylibre.com> * * This file handle the PRNG * * You could find a link for the datasheet in Documentation/arch/arm/sunxi.rst
*/ #include"sun8i-ce.h" #include <linux/dma-mapping.h> #include <linux/pm_runtime.h> #include <crypto/internal/rng.h>
int sun8i_ce_prng_init(struct crypto_tfm *tfm)
{ struct sun8i_ce_rng_tfm_ctx *ctx = crypto_tfm_ctx(tfm);
/* recent CE (H6) need length in bytes, in word otherwise */ if (ce->variant->prng_t_dlen_in_bytes)
cet->t_dlen = cpu_to_le32(todo); else
cet->t_dlen = cpu_to_le32(todo / 4);
err_pm:
dma_unmap_single(ce->dev, dma_dst, todo, DMA_FROM_DEVICE);
err_dst:
dma_unmap_single(ce->dev, dma_iv, ctx->slen, DMA_TO_DEVICE);
if (!err) {
memcpy(dst, d, dlen);
memcpy(ctx->seed, d + dlen, ctx->slen);
}
err_iv:
kfree_sensitive(d);
err_mem: return err;
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.13Bemerkung:
(vorverarbeitet am 2026-06-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.