| /linux/drivers/crypto/ |
| A D | exynos-rng.c | 127 rng->bytes_seeding = 0; in exynos_rng_set_seed() 199 struct exynos_rng_dev *rng = ctx->rng; in exynos_rng_generate() local 229 struct exynos_rng_dev *rng = ctx->rng; in exynos_rng_seed() local 276 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in exynos_rng_probe() 277 if (!rng) in exynos_rng_probe() 284 rng->dev = &pdev->dev; in exynos_rng_probe() 292 if (IS_ERR(rng->mem)) in exynos_rng_probe() 297 exynos_rng_dev = rng; in exynos_rng_probe() 333 exynos_rng_get_random(rng, rng->seed_save, sizeof(rng->seed_save), in exynos_rng_suspend() 339 rng->seed_save_len); in exynos_rng_suspend() [all …]
|
| A D | qcom-rng.c | 43 struct qcom_rng *rng; member 90 struct qcom_rng *rng = ctx->rng; in qcom_rng_generate() local 97 mutex_lock(&rng->lock); in qcom_rng_generate() 156 ctx->rng = qcom_rng_dev; in qcom_rng_init() 181 struct qcom_rng *rng; in qcom_rng_probe() local 184 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in qcom_rng_probe() 185 if (!rng) in qcom_rng_probe() 189 mutex_init(&rng->lock); in qcom_rng_probe() 192 if (IS_ERR(rng->base)) in qcom_rng_probe() 196 if (IS_ERR(rng->clk)) in qcom_rng_probe() [all …]
|
| /linux/drivers/char/hw_random/ |
| A D | core.c | 72 rng->cleanup(rng); in cleanup_rng() 132 return rng; in get_current_rng() 142 if (rng) in put_rng() 155 ret = rng->init(rng); in hwrng_init() 185 return rng->read(rng, (void *)buffer, size, wait); in rng_get_data() 188 present = rng->data_present(rng, wait); in rng_get_data() 193 return rng->data_read(rng, (u32 *)buffer); in rng_get_data() 213 if (!rng) { in rng_dev_read() 482 if (IS_ERR(rng) || !rng) in hwrng_fillfn() 520 if (!rng->name || (!rng->data_read && !rng->read)) in hwrng_register() [all …]
|
| A D | Makefile | 6 obj-$(CONFIG_HW_RANDOM) += rng-core.o 7 rng-core-y := core.o 9 obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o 10 obj-$(CONFIG_HW_RANDOM_AMD) += amd-rng.o 11 obj-$(CONFIG_HW_RANDOM_ATMEL) += atmel-rng.o 14 obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o 15 n2-rng-y := n2-drv.o n2-asm.o 16 obj-$(CONFIG_HW_RANDOM_VIA) += via-rng.o 19 obj-$(CONFIG_HW_RANDOM_OMAP) += omap-rng.o 35 obj-$(CONFIG_HW_RANDOM_ST) += st-rng.o [all …]
|
| A D | cavium-rng-vf.c | 90 if (!rng->pf_regbase) in check_rng_health() 116 rng->prev_error = 0; in check_rng_health() 117 rng->prev_time = 0; in check_rng_health() 121 if (rng->prev_error) { in check_rng_health() 188 if (!rng->pf_regbase) { in cavium_map_pf_regs() 206 struct cavium_rng *rng; in cavium_rng_probe_vf() local 209 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in cavium_rng_probe_vf() 210 if (!rng) in cavium_rng_probe_vf() 213 rng->pdev = pdev; in cavium_rng_probe_vf() 217 if (!rng->result) { in cavium_rng_probe_vf() [all …]
|
| A D | cn10k-rng.c | 84 if (!rng->reg_base) in check_rng_health() 146 err = check_rng_health(rng); in cn10k_rng_read() 179 struct cn10k_rng *rng; in cn10k_rng_probe() local 182 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in cn10k_rng_probe() 183 if (!rng) in cn10k_rng_probe() 186 rng->pdev = pdev; in cn10k_rng_probe() 187 pci_set_drvdata(pdev, rng); in cn10k_rng_probe() 190 if (!rng->reg_base) in cn10k_rng_probe() 195 if (!rng->ops.name) in cn10k_rng_probe() 199 rng->ops.priv = (unsigned long)rng; in cn10k_rng_probe() [all …]
|
| A D | hisi-rng.c | 31 struct hwrng rng; member 75 struct hisi_rng *rng; in hisi_rng_probe() local 78 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in hisi_rng_probe() 79 if (!rng) in hisi_rng_probe() 83 if (IS_ERR(rng->base)) in hisi_rng_probe() 84 return PTR_ERR(rng->base); in hisi_rng_probe() 86 rng->rng.name = pdev->name; in hisi_rng_probe() 87 rng->rng.init = hisi_rng_init; in hisi_rng_probe() 88 rng->rng.cleanup = hisi_rng_cleanup; in hisi_rng_probe() 89 rng->rng.read = hisi_rng_read; in hisi_rng_probe() [all …]
|
| A D | rockchip-rng.c | 53 struct hwrng rng; member 65 static int rk_rng_init(struct hwrng *rng) in rk_rng_init() argument 67 struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); in rk_rng_init() 92 struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); in rk_rng_cleanup() 103 struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); in rk_rng_read() 163 rk_rng->rng.init = rk_rng_init; in rk_rng_probe() 164 rk_rng->rng.cleanup = rk_rng_cleanup; in rk_rng_probe() 166 rk_rng->rng.read = rk_rng_read; in rk_rng_probe() 168 rk_rng->rng.quality = 900; in rk_rng_probe() 187 rk_rng_cleanup(&rk_rng->rng); in rk_rng_runtime_suspend() [all …]
|
| A D | mtk-rng.c | 38 struct hwrng rng; member 43 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_init() 60 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_cleanup() 91 if (!mtk_rng_wait_ready(rng, wait)) in mtk_rng_read() 115 priv->rng.name = pdev->name; in mtk_rng_probe() 117 priv->rng.init = mtk_rng_init; in mtk_rng_probe() 118 priv->rng.cleanup = mtk_rng_cleanup; in mtk_rng_probe() 120 priv->rng.read = mtk_rng_read; in mtk_rng_probe() 122 priv->rng.quality = 900; in mtk_rng_probe() 157 mtk_rng_cleanup(&priv->rng); in mtk_rng_runtime_suspend() [all …]
|
| A D | octeon-rng.c | 28 static int octeon_rng_init(struct hwrng *rng) in octeon_rng_init() argument 40 static void octeon_rng_cleanup(struct hwrng *rng) in octeon_rng_cleanup() argument 62 struct octeon_rng *rng; in octeon_rng_probe() local 71 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in octeon_rng_probe() 72 if (!rng) in octeon_rng_probe() 84 rng->control_status = devm_ioremap(&pdev->dev, in octeon_rng_probe() 87 if (!rng->control_status) in octeon_rng_probe() 90 rng->result = devm_ioremap(&pdev->dev, in octeon_rng_probe() 93 if (!rng->result) in octeon_rng_probe() 96 rng->ops = ops; in octeon_rng_probe() [all …]
|
| A D | mxc-rnga.c | 56 struct hwrng rng; member 64 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_data_present() 81 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_data_read() 100 static int mxc_rnga_init(struct hwrng *rng) in mxc_rnga_init() argument 103 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_init() 126 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_cleanup() 144 mxc_rng->rng.name = "mxc-rnga"; in mxc_rnga_probe() 145 mxc_rng->rng.init = mxc_rnga_init; in mxc_rnga_probe() 146 mxc_rng->rng.cleanup = mxc_rnga_cleanup; in mxc_rnga_probe() 162 err = hwrng_register(&mxc_rng->rng); in mxc_rnga_probe() [all …]
|
| A D | pic32-rng.c | 30 struct hwrng rng; member 40 static int pic32_rng_init(struct hwrng *rng) in pic32_rng_init() argument 42 struct pic32_rng *priv = container_of(rng, struct pic32_rng, rng); in pic32_rng_init() 52 struct pic32_rng *priv = container_of(rng, struct pic32_rng, rng); in pic32_rng_read() 70 static void pic32_rng_cleanup(struct hwrng *rng) in pic32_rng_cleanup() argument 72 struct pic32_rng *priv = container_of(rng, struct pic32_rng, rng); in pic32_rng_cleanup() 94 priv->rng.name = pdev->name; in pic32_rng_probe() 95 priv->rng.init = pic32_rng_init; in pic32_rng_probe() 96 priv->rng.read = pic32_rng_read; in pic32_rng_probe() 97 priv->rng.cleanup = pic32_rng_cleanup; in pic32_rng_probe() [all …]
|
| A D | npcm-rng.c | 34 struct hwrng rng; member 38 static int npcm_rng_init(struct hwrng *rng) in npcm_rng_init() argument 40 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_init() 49 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_cleanup() 56 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_read() 107 priv->rng.init = npcm_rng_init; in npcm_rng_probe() 108 priv->rng.cleanup = npcm_rng_cleanup; in npcm_rng_probe() 110 priv->rng.name = pdev->name; in npcm_rng_probe() 111 priv->rng.read = npcm_rng_read; in npcm_rng_probe() 143 npcm_rng_cleanup(&priv->rng); in npcm_rng_runtime_suspend() [all …]
|
| A D | ingenic-rng.c | 36 struct hwrng rng; member 39 static int ingenic_rng_init(struct hwrng *rng) in ingenic_rng_init() argument 41 struct ingenic_rng *priv = container_of(rng, struct ingenic_rng, rng); in ingenic_rng_init() 50 struct ingenic_rng *priv = container_of(rng, struct ingenic_rng, rng); in ingenic_rng_cleanup() 57 struct ingenic_rng *priv = container_of(rng, struct ingenic_rng, rng); in ingenic_rng_read() 100 priv->rng.name = pdev->name; in ingenic_rng_probe() 101 priv->rng.init = ingenic_rng_init; in ingenic_rng_probe() 102 priv->rng.cleanup = ingenic_rng_cleanup; in ingenic_rng_probe() 103 priv->rng.read = ingenic_rng_read; in ingenic_rng_probe() 105 ret = hwrng_register(&priv->rng); in ingenic_rng_probe() [all …]
|
| A D | cavium-rng.c | 26 struct cavium_rng_pf *rng; in cavium_rng_probe() local 29 rng = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in cavium_rng_probe() 30 if (!rng) in cavium_rng_probe() 34 rng->control_status = pcim_iomap(pdev, 0, 0); in cavium_rng_probe() 35 if (!rng->control_status) { in cavium_rng_probe() 43 rng->control_status); in cavium_rng_probe() 45 pci_set_drvdata(pdev, rng); in cavium_rng_probe() 51 writeq(0, rng->control_status); in cavium_rng_probe() 64 struct cavium_rng_pf *rng; in cavium_rng_remove() local 66 rng = pci_get_drvdata(pdev); in cavium_rng_remove() [all …]
|
| A D | ingenic-trng.c | 32 struct hwrng rng; member 35 static int ingenic_trng_init(struct hwrng *rng) in ingenic_trng_init() argument 37 struct ingenic_trng *trng = container_of(rng, struct ingenic_trng, rng); in ingenic_trng_init() 47 static void ingenic_trng_cleanup(struct hwrng *rng) in ingenic_trng_cleanup() argument 49 struct ingenic_trng *trng = container_of(rng, struct ingenic_trng, rng); in ingenic_trng_cleanup() 59 struct ingenic_trng *trng = container_of(rng, struct ingenic_trng, rng); in ingenic_trng_read() 96 trng->rng.name = pdev->name; in ingenic_trng_probe() 97 trng->rng.init = ingenic_trng_init; in ingenic_trng_probe() 98 trng->rng.cleanup = ingenic_trng_cleanup; in ingenic_trng_probe() 99 trng->rng.read = ingenic_trng_read; in ingenic_trng_probe() [all …]
|
| A D | iproc-rng200.c | 42 struct hwrng rng; member 46 #define to_rng_priv(rng) container_of(rng, struct iproc_rng200_dev, rng) argument 93 struct iproc_rng200_dev *priv = to_rng_priv(rng); in iproc_rng200_read() 151 static int iproc_rng200_init(struct hwrng *rng) in iproc_rng200_init() argument 186 priv->rng.name = "iproc-rng200"; in iproc_rng200_probe() 187 priv->rng.read = iproc_rng200_read; in iproc_rng200_probe() 188 priv->rng.init = iproc_rng200_init; in iproc_rng200_probe() 189 priv->rng.cleanup = iproc_rng200_cleanup; in iproc_rng200_probe() 192 ret = devm_hwrng_register(dev, &priv->rng); in iproc_rng200_probe() 207 iproc_rng200_cleanup(&priv->rng); in iproc_rng200_suspend() [all …]
|
| A D | bcm2835-rng.c | 31 struct hwrng rng; member 40 return container_of(rng, struct bcm2835_rng_priv, rng); in to_rng_priv() 66 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_read() 73 hwrng_yield(rng); in bcm2835_rng_read() 86 static int bcm2835_rng_init(struct hwrng *rng) in bcm2835_rng_init() argument 88 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_init() 168 priv->rng.name = pdev->name; in bcm2835_rng_probe() 169 priv->rng.init = bcm2835_rng_init; in bcm2835_rng_probe() 170 priv->rng.read = bcm2835_rng_read; in bcm2835_rng_probe() 171 priv->rng.cleanup = bcm2835_rng_cleanup; in bcm2835_rng_probe() [all …]
|
| /linux/arch/powerpc/platforms/powernv/ |
| A D | rng.c | 44 val ^= rng->mask; in rng_whiten() 47 rng->mask = (rng->mask << 1) | (parity & 1); in rng_whiten() 90 *v = rng_whiten(rng, in_be64(rng->regs)); in pnv_get_random_long() 91 put_cpu_var(rng); in pnv_get_random_long() 94 *v = rng_whiten(rng, __raw_rm_readq(rng->regs_real)); in pnv_get_random_long() 123 rng = kzalloc(sizeof(*rng), GFP_KERNEL); in rng_create() 124 if (!rng) in rng_create() 128 kfree(rng); in rng_create() 135 if (!rng->regs) { in rng_create() 136 kfree(rng); in rng_create() [all …]
|
| /linux/Documentation/devicetree/bindings/rng/ |
| A D | mtk-rng.yaml | 4 $id: http://devicetree.org/schemas/rng/mtk-rng.yaml# 14 pattern: "^rng@[0-9a-f]+$" 19 - mediatek,mt7623-rng 22 - mediatek,mt7622-rng 23 - mediatek,mt7629-rng 24 - mediatek,mt7986-rng 25 - mediatek,mt8365-rng 26 - mediatek,mt8516-rng 37 - const: rng 50 rng: rng@1020f000 { [all …]
|
| A D | brcm,bcm2835.yaml | 17 - brcm,bcm2835-rng 18 - brcm,bcm-nsp-rng 19 - brcm,bcm5301x-rng 20 - brcm,bcm6368-rng 48 - brcm,bcm6368-rng 60 rng@7e104000 { 61 compatible = "brcm,bcm2835-rng"; 67 rng@18033000 { 68 compatible = "brcm,bcm-nsp-rng"; 73 rng@10004180 { [all …]
|
| /linux/crypto/ |
| A D | jitterentropy-kcapi.c | 204 spin_lock(&rng->jent_lock); in jent_kcapi_cleanup() 206 if (rng->sdesc) { in jent_kcapi_cleanup() 208 kfree(rng->sdesc); in jent_kcapi_cleanup() 210 rng->sdesc = NULL; in jent_kcapi_cleanup() 212 if (rng->tfm) in jent_kcapi_cleanup() 214 rng->tfm = NULL; in jent_kcapi_cleanup() 216 if (rng->entropy_collector) in jent_kcapi_cleanup() 245 rng->tfm = hash; in jent_kcapi_init() 256 rng->sdesc = sdesc; in jent_kcapi_init() 258 rng->entropy_collector = in jent_kcapi_init() [all …]
|
| /linux/include/linux/ |
| A D | hw_random.h | 40 int (*init)(struct hwrng *rng); 41 void (*cleanup)(struct hwrng *rng); 42 int (*data_present)(struct hwrng *rng, int wait); 43 int (*data_read)(struct hwrng *rng, u32 *data); 44 int (*read)(struct hwrng *rng, void *data, size_t max, bool wait); 58 extern int hwrng_register(struct hwrng *rng); 59 extern int devm_hwrng_register(struct device *dev, struct hwrng *rng); 61 extern void hwrng_unregister(struct hwrng *rng); 62 extern void devm_hwrng_unregister(struct device *dve, struct hwrng *rng); 64 extern long hwrng_msleep(struct hwrng *rng, unsigned int msecs); [all …]
|
| /linux/drivers/crypto/caam/ |
| A D | caamrng.c | 38 struct hwrng rng; member 186 read_len = rng->read(rng, buf, len, wait); in test_len() 207 test_len(rng, 32, wait); in test_mode_once() 208 test_len(rng, 64, wait); in test_mode_once() 209 test_len(rng, 128, wait); in test_mode_once() 215 test_mode_once(rng, true); in self_test() 291 ctx->rng.name = "rng-caam"; in caam_rng_init() 292 ctx->rng.init = caam_init; in caam_rng_init() 293 ctx->rng.cleanup = caam_cleanup; in caam_rng_init() 294 ctx->rng.read = caam_read; in caam_rng_init() [all …]
|
| /linux/drivers/crypto/amcc/ |
| A D | crypto4xx_trng.c | 30 struct crypto4xx_device *dev = (void *)rng->priv; in ppc4xx_trng_data_present() 47 struct crypto4xx_device *dev = (void *)rng->priv; in ppc4xx_trng_data_read() 75 struct hwrng *rng = NULL; in ppc4xx_trng_probe() local 90 rng = kzalloc(sizeof(*rng), GFP_KERNEL); in ppc4xx_trng_probe() 91 if (!rng) in ppc4xx_trng_probe() 94 rng->name = KBUILD_MODNAME; in ppc4xx_trng_probe() 95 rng->data_present = ppc4xx_trng_data_present; in ppc4xx_trng_probe() 96 rng->data_read = ppc4xx_trng_data_read; in ppc4xx_trng_probe() 97 rng->priv = (unsigned long) dev; in ppc4xx_trng_probe() 98 core_dev->trng = rng; in ppc4xx_trng_probe() [all …]
|