/kernel/linux/linux-5.10/drivers/crypto/ |
H A D | exynos-rng.c | 3 * exynos-rng.c - Random Number Generator driver for the Exynos 7 * Loosely based on old driver from drivers/char/hw_random/exynos-rng.c: 21 #include <crypto/internal/rng.h> 66 struct exynos_rng_dev *rng; member 87 static u32 exynos_rng_readl(struct exynos_rng_dev *rng, u32 offset) in exynos_rng_readl() argument 89 return readl_relaxed(rng->mem + offset); in exynos_rng_readl() 92 static void exynos_rng_writel(struct exynos_rng_dev *rng, u32 val, u32 offset) in exynos_rng_writel() argument 94 writel_relaxed(val, rng->mem + offset); in exynos_rng_writel() 97 static int exynos_rng_set_seed(struct exynos_rng_dev *rng, in exynos_rng_set_seed() argument 117 exynos_rng_writel(rng, va in exynos_rng_set_seed() 140 exynos_rng_get_random(struct exynos_rng_dev *rng, u8 *dst, unsigned int dlen, unsigned int *read) exynos_rng_get_random() argument 172 exynos_rng_reseed(struct exynos_rng_dev *rng) exynos_rng_reseed() argument 199 struct exynos_rng_dev *rng = ctx->rng; exynos_rng_generate() local 229 struct exynos_rng_dev *rng = ctx->rng; exynos_rng_seed() local 270 struct exynos_rng_dev *rng; exynos_rng_probe() local 320 struct exynos_rng_dev *rng = dev_get_drvdata(dev); exynos_rng_suspend() local 350 struct exynos_rng_dev *rng = dev_get_drvdata(dev); exynos_rng_resume() local [all...] |
H A D | qcom-rng.c | 4 // Based on msm-rng.c and downstream driver 6 #include <crypto/internal/rng.h> 38 struct qcom_rng *rng; member 43 static int qcom_rng_read(struct qcom_rng *rng, u8 *data, unsigned int max) in qcom_rng_read() argument 51 ret = readl_poll_timeout(rng->base + PRNG_STATUS, val, in qcom_rng_read() 57 val = readl_relaxed(rng->base + PRNG_DATA_OUT); in qcom_rng_read() 80 struct qcom_rng *rng = ctx->rng; in qcom_rng_generate() local 83 ret = clk_prepare_enable(rng->clk); in qcom_rng_generate() 87 mutex_lock(&rng in qcom_rng_generate() 103 qcom_rng_enable(struct qcom_rng *rng) qcom_rng_enable() argument 161 struct qcom_rng *rng; qcom_rng_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/crypto/ |
H A D | exynos-rng.c | 3 * exynos-rng.c - Random Number Generator driver for the Exynos 7 * Loosely based on old driver from drivers/char/hw_random/exynos-rng.c: 21 #include <crypto/internal/rng.h> 66 struct exynos_rng_dev *rng; member 87 static u32 exynos_rng_readl(struct exynos_rng_dev *rng, u32 offset) in exynos_rng_readl() argument 89 return readl_relaxed(rng->mem + offset); in exynos_rng_readl() 92 static void exynos_rng_writel(struct exynos_rng_dev *rng, u32 val, u32 offset) in exynos_rng_writel() argument 94 writel_relaxed(val, rng->mem + offset); in exynos_rng_writel() 97 static int exynos_rng_set_seed(struct exynos_rng_dev *rng, in exynos_rng_set_seed() argument 117 exynos_rng_writel(rng, va in exynos_rng_set_seed() 140 exynos_rng_get_random(struct exynos_rng_dev *rng, u8 *dst, unsigned int dlen, unsigned int *read) exynos_rng_get_random() argument 172 exynos_rng_reseed(struct exynos_rng_dev *rng) exynos_rng_reseed() argument 199 struct exynos_rng_dev *rng = ctx->rng; exynos_rng_generate() local 229 struct exynos_rng_dev *rng = ctx->rng; exynos_rng_seed() local 270 struct exynos_rng_dev *rng; exynos_rng_probe() local 320 struct exynos_rng_dev *rng = dev_get_drvdata(dev); exynos_rng_suspend() local 350 struct exynos_rng_dev *rng = dev_get_drvdata(dev); exynos_rng_resume() local [all...] |
H A D | qcom-rng.c | 4 // Based on msm-rng.c and downstream driver 6 #include <crypto/internal/rng.h> 39 struct qcom_rng *rng; member 44 static int qcom_rng_read(struct qcom_rng *rng, u8 *data, unsigned int max) in qcom_rng_read() argument 52 ret = readl_poll_timeout(rng->base + PRNG_STATUS, val, in qcom_rng_read() 58 val = readl_relaxed(rng->base + PRNG_DATA_OUT); in qcom_rng_read() 81 struct qcom_rng *rng = ctx->rng; in qcom_rng_generate() local 84 ret = clk_prepare_enable(rng->clk); in qcom_rng_generate() 88 mutex_lock(&rng in qcom_rng_generate() 104 qcom_rng_enable(struct qcom_rng *rng) qcom_rng_enable() argument 162 struct qcom_rng *rng; qcom_rng_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/char/hw_random/ |
H A D | core.c | 34 /* the current rng has been explicitly chosen by user via sysfs */ 41 /* Protects rng read functions, data_avail, rng_buffer and rng_fillbuf */ 56 static int hwrng_init(struct hwrng *rng); 59 static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, 67 static void add_early_randomness(struct hwrng *rng) in add_early_randomness() argument 72 bytes_read = rng_get_data(rng, rng_fillbuf, 32, 0); in add_early_randomness() 75 size_t entropy = bytes_read * 8 * rng->quality / 1024; in add_early_randomness() 82 struct hwrng *rng = container_of(kref, struct hwrng, ref); in cleanup_rng() local 84 if (rng->cleanup) in cleanup_rng() 85 rng in cleanup_rng() 90 set_current_rng(struct hwrng *rng) set_current_rng() argument 137 struct hwrng *rng; get_current_rng() local 148 put_rng(struct hwrng *rng) put_rng() argument 160 hwrng_init(struct hwrng *rng) hwrng_init() argument 193 rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, int wait) rng_get_data() argument 219 struct hwrng *rng; rng_dev_read() local 313 struct hwrng *rng, *new_rng = NULL; enable_best_rng() local 343 struct hwrng *rng, *old_rng, *new_rng; rng_current_store() local 379 struct hwrng *rng; rng_current_show() local 396 struct hwrng *rng; rng_available_show() local 424 struct hwrng *rng; rng_quality_show() local 507 struct hwrng *rng; hwrng_fillfn() local 543 hwrng_register(struct hwrng *rng) hwrng_register() argument 603 hwrng_unregister(struct hwrng *rng) hwrng_unregister() argument 654 devm_hwrng_register(struct device *dev, struct hwrng *rng) devm_hwrng_register() argument 675 devm_hwrng_unregister(struct device *dev, struct hwrng *rng) devm_hwrng_unregister() argument 681 hwrng_msleep(struct hwrng *rng, unsigned int msecs) hwrng_msleep() argument 689 hwrng_yield(struct hwrng *rng) hwrng_yield() argument [all...] |
H A D | Makefile | 6 obj-$(CONFIG_HW_RANDOM) += rng-core.o 7 rng-core-y := core.o 8 obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.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 12 obj-$(CONFIG_HW_RANDOM_BA431) += ba431-rng.o 13 obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o 14 obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o 15 n2-rng [all...] |
H A D | cavium-rng-vf.c | 82 static int check_rng_health(struct cavium_rng *rng) in check_rng_health() argument 90 if (!rng->pf_regbase) in check_rng_health() 93 status = readq(rng->pf_regbase + HEALTH_STATUS_REG); in check_rng_health() 95 dev_err(&rng->pdev->dev, "HWRNG: Startup health test failed\n"); in check_rng_health() 110 cur_err = (cycles * 1000000000) / rng->clock_rate; /* In nanosec */ 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() 125 time_elapsed = (cur_time - rng->prev_time) * 10; in check_rng_health() 126 time_elapsed += rng in check_rng_health() 146 cavium_rng_read(struct hwrng *rng, void *dat, size_t max, bool wait) cavium_rng_read() argument 169 cavium_map_pf_regs(struct cavium_rng *rng) cavium_map_pf_regs() argument 206 struct cavium_rng *rng; cavium_rng_probe_vf() local 248 struct cavium_rng *rng; cavium_rng_remove_vf() local [all...] |
H A D | hisi-rng.c | 23 #define to_hisi_rng(p) container_of(p, struct hisi_rng, rng) 31 struct hwrng rng; member 34 static int hisi_rng_init(struct hwrng *rng) in hisi_rng_init() argument 36 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_init() 57 static void hisi_rng_cleanup(struct hwrng *rng) in hisi_rng_cleanup() argument 59 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_cleanup() 64 static int hisi_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in hisi_rng_read() argument 66 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_read() 75 struct hisi_rng *rng; in hisi_rng_probe() local 78 rng in hisi_rng_probe() [all...] |
H A D | cn10k-rng.c | 69 static unsigned long reset_rng_health_state(struct cn10k_rng *rng) in reset_rng_health_state() argument 78 static int check_rng_health(struct cn10k_rng *rng) in check_rng_health() argument 84 if (!rng->reg_base) in check_rng_health() 87 status = readq(rng->reg_base + RNM_PF_EBG_HEALTH); in check_rng_health() 89 err = reset_rng_health_state(rng); in check_rng_health() 91 dev_err(&rng->pdev->dev, "HWRNG: Health test failed (status=%llx)\n", in check_rng_health() 93 dev_err(&rng->pdev->dev, "HWRNG: error during reset (error=%lx)\n", in check_rng_health() 102 static bool cn10k_read_trng(struct cn10k_rng *rng, u64 *value) in cn10k_read_trng() argument 108 if (rng->extended_trng_regs) { in cn10k_read_trng() 110 *value = readq(rng in cn10k_read_trng() 140 struct cn10k_rng *rng = (struct cn10k_rng *)hwrng->priv; cn10k_rng_read() local 179 struct cn10k_rng *rng; cn10k_rng_probe() local [all...] |
H A D | mxc-rnga.c | 56 struct hwrng rng; member 61 static int mxc_rnga_data_present(struct hwrng *rng, int wait) in mxc_rnga_data_present() argument 64 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_data_present() 77 static int mxc_rnga_data_read(struct hwrng *rng, u32 * data) in mxc_rnga_data_read() argument 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() 123 mxc_rnga_cleanup(struct hwrng *rng) mxc_rnga_cleanup() argument [all...] |
H A D | npcm-rng.c | 30 #define to_npcm_rng(p) container_of(p, struct npcm_rng, rng) 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() 47 static void npcm_rng_cleanup(struct hwrng *rng) in npcm_rng_cleanup() argument 49 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_cleanup() 54 static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in npcm_rng_read() argument 56 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_read() 60 pm_runtime_get_sync((struct device *)priv->rng.priv); in npcm_rng_read() 82 pm_runtime_mark_last_busy((struct device *)priv->rng in npcm_rng_read() [all...] |
H A D | octeon-rng.c | 28 static int octeon_rng_init(struct hwrng *rng) in octeon_rng_init() argument 31 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_init() 40 static void octeon_rng_cleanup(struct hwrng *rng) in octeon_rng_cleanup() argument 43 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_cleanup() 50 static int octeon_rng_data_read(struct hwrng *rng, u32 *data) in octeon_rng_data_read() argument 52 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_data_read() 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() [all...] |
/kernel/linux/linux-5.10/drivers/char/hw_random/ |
H A D | Makefile | 6 obj-$(CONFIG_HW_RANDOM) += rng-core.o 7 rng-core-y := core.o 8 obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.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 12 obj-$(CONFIG_HW_RANDOM_BA431) += ba431-rng.o 13 obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o 14 obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o 15 n2-rng [all...] |
H A D | core.c | 35 /* the current rng has been explicitly chosen by user via sysfs */ 42 /* Protects rng read functions, data_avail, rng_buffer and rng_fillbuf */ 57 static int hwrng_init(struct hwrng *rng); 60 static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, 68 static void add_early_randomness(struct hwrng *rng) in add_early_randomness() argument 74 bytes_read = rng_get_data(rng, rng_buffer, size, 0); in add_early_randomness() 82 struct hwrng *rng = container_of(kref, struct hwrng, ref); in cleanup_rng() local 84 if (rng->cleanup) in cleanup_rng() 85 rng->cleanup(rng); in cleanup_rng() 90 set_current_rng(struct hwrng *rng) set_current_rng() argument 128 struct hwrng *rng; get_current_rng() local 139 put_rng(struct hwrng *rng) put_rng() argument 151 hwrng_init(struct hwrng *rng) hwrng_init() argument 190 rng_get_data(struct hwrng *rng, u8 *buffer, size_t size, int wait) rng_get_data() argument 216 struct hwrng *rng; rng_dev_read() local 336 struct hwrng *rng, *old_rng, *new_rng; hwrng_attr_current_store() local 371 struct hwrng *rng; hwrng_attr_current_show() local 388 struct hwrng *rng; hwrng_attr_available_show() local 445 struct hwrng *rng; hwrng_fillfn() local 477 hwrng_register(struct hwrng *rng) hwrng_register() argument 544 hwrng_unregister(struct hwrng *rng) hwrng_unregister() argument 594 devm_hwrng_register(struct device *dev, struct hwrng *rng) devm_hwrng_register() argument 615 devm_hwrng_unregister(struct device *dev, struct hwrng *rng) devm_hwrng_unregister() argument [all...] |
H A D | cavium-rng-vf.c | 82 static int check_rng_health(struct cavium_rng *rng) in check_rng_health() argument 90 if (!rng->pf_regbase) in check_rng_health() 93 status = readq(rng->pf_regbase + HEALTH_STATUS_REG); in check_rng_health() 95 dev_err(&rng->pdev->dev, "HWRNG: Startup health test failed\n"); in check_rng_health() 110 cur_err = (cycles * 1000000000) / rng->clock_rate; /* In nanosec */ 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() 125 time_elapsed = (cur_time - rng->prev_time) * 10; in check_rng_health() 126 time_elapsed += rng in check_rng_health() 146 cavium_rng_read(struct hwrng *rng, void *dat, size_t max, bool wait) cavium_rng_read() argument 169 cavium_map_pf_regs(struct cavium_rng *rng) cavium_map_pf_regs() argument 206 struct cavium_rng *rng; cavium_rng_probe_vf() local 249 struct cavium_rng *rng; cavium_rng_remove_vf() local [all...] |
H A D | hisi-rng.c | 23 #define to_hisi_rng(p) container_of(p, struct hisi_rng, rng) 31 struct hwrng rng; member 34 static int hisi_rng_init(struct hwrng *rng) in hisi_rng_init() argument 36 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_init() 57 static void hisi_rng_cleanup(struct hwrng *rng) in hisi_rng_cleanup() argument 59 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_cleanup() 64 static int hisi_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in hisi_rng_read() argument 66 struct hisi_rng *hrng = to_hisi_rng(rng); in hisi_rng_read() 75 struct hisi_rng *rng; in hisi_rng_probe() local 78 rng in hisi_rng_probe() [all...] |
H A D | npcm-rng.c | 29 #define to_npcm_rng(p) container_of(p, struct npcm_rng, rng) 33 struct hwrng rng; member 36 static int npcm_rng_init(struct hwrng *rng) in npcm_rng_init() argument 38 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_init() 46 static void npcm_rng_cleanup(struct hwrng *rng) in npcm_rng_cleanup() argument 48 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_cleanup() 53 static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in npcm_rng_read() argument 55 struct npcm_rng *priv = to_npcm_rng(rng); in npcm_rng_read() 59 pm_runtime_get_sync((struct device *)priv->rng.priv); in npcm_rng_read() 81 pm_runtime_mark_last_busy((struct device *)priv->rng in npcm_rng_read() [all...] |
H A D | mxc-rnga.c | 56 struct hwrng rng; member 61 static int mxc_rnga_data_present(struct hwrng *rng, int wait) in mxc_rnga_data_present() argument 64 struct mxc_rng *mxc_rng = container_of(rng, struct mxc_rng, rng); in mxc_rnga_data_present() 77 static int mxc_rnga_data_read(struct hwrng *rng, u32 * data) in mxc_rnga_data_read() argument 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() 123 mxc_rnga_cleanup(struct hwrng *rng) mxc_rnga_cleanup() argument [all...] |
H A D | octeon-rng.c | 28 static int octeon_rng_init(struct hwrng *rng) in octeon_rng_init() argument 31 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_init() 40 static void octeon_rng_cleanup(struct hwrng *rng) in octeon_rng_cleanup() argument 43 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_cleanup() 50 static int octeon_rng_data_read(struct hwrng *rng, u32 *data) in octeon_rng_data_read() argument 52 struct octeon_rng *p = container_of(rng, struct octeon_rng, ops); in octeon_rng_data_read() 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() [all...] |
H A D | mtk-rng.c | 33 #define to_mtk_rng(p) container_of(p, struct mtk_rng, rng) 38 struct hwrng rng; member 41 static int mtk_rng_init(struct hwrng *rng) in mtk_rng_init() argument 43 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_init() 58 static void mtk_rng_cleanup(struct hwrng *rng) in mtk_rng_cleanup() argument 60 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_cleanup() 70 static bool mtk_rng_wait_ready(struct hwrng *rng, bool wait) in mtk_rng_wait_ready() argument 72 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_wait_ready() 83 static int mtk_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in mtk_rng_read() argument 85 struct mtk_rng *priv = to_mtk_rng(rng); in mtk_rng_read() [all...] |
H A D | stm32-rng.c | 31 struct hwrng rng; member 38 static int stm32_rng_read(struct hwrng *rng, void *data, size_t max, bool wait) in stm32_rng_read() argument 41 container_of(rng, struct stm32_rng_private, rng); in stm32_rng_read() 45 pm_runtime_get_sync((struct device *) priv->rng.priv); in stm32_rng_read() 50 /* care of initial delay time when enabling rng */ in stm32_rng_read() 57 dev_err((struct device *)priv->rng.priv, in stm32_rng_read() 76 pm_runtime_mark_last_busy((struct device *) priv->rng.priv); in stm32_rng_read() 77 pm_runtime_put_sync_autosuspend((struct device *) priv->rng.priv); in stm32_rng_read() 82 static int stm32_rng_init(struct hwrng *rng) in stm32_rng_init() argument 104 stm32_rng_cleanup(struct hwrng *rng) stm32_rng_cleanup() argument [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
H A D | rng.c | 6 #define pr_fmt(fmt) "powernv-rng: " fmt 34 struct powernv_rng *rng; in powernv_hwrng_present() local 36 rng = get_cpu_var(powernv_rng); in powernv_hwrng_present() 37 put_cpu_var(rng); in powernv_hwrng_present() 38 return rng != NULL; in powernv_hwrng_present() 41 static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val) in rng_whiten() argument 53 val ^= rng->mask; in rng_whiten() 56 rng->mask = (rng->mask << 1) | (parity & 1); in rng_whiten() 63 struct powernv_rng *rng; in powernv_get_random_real_mode() local 108 struct powernv_rng *rng; powernv_get_random_long() local 120 rng_init_per_cpu(struct powernv_rng *rng, struct device_node *dn) rng_init_per_cpu() argument 139 struct powernv_rng *rng; rng_create() local [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
H A D | rng.c | 6 #define pr_fmt(fmt) "powernv-rng: " fmt 32 static unsigned long rng_whiten(struct pnv_rng *rng, unsigned long val) in rng_whiten() argument 44 val ^= rng->mask; in rng_whiten() 47 rng->mask = (rng->mask << 1) | (parity & 1); in rng_whiten() 86 struct pnv_rng *rng; in pnv_get_random_long() local 89 rng = get_cpu_var(pnv_rng); in pnv_get_random_long() 90 *v = rng_whiten(rng, in_be64(rng->regs)); in pnv_get_random_long() 91 put_cpu_var(rng); in pnv_get_random_long() 100 rng_init_per_cpu(struct pnv_rng *rng, struct device_node *dn) rng_init_per_cpu() argument 119 struct pnv_rng *rng; rng_create() local [all...] |
/kernel/linux/linux-6.6/crypto/ |
H A D | jitterentropy-kcapi.c | 47 #include <crypto/internal/rng.h> 192 struct jitterentropy *rng = crypto_tfm_ctx(tfm); in jent_kcapi_cleanup() local 194 spin_lock(&rng->jent_lock); in jent_kcapi_cleanup() 196 if (rng->sdesc) { in jent_kcapi_cleanup() 197 shash_desc_zero(rng->sdesc); in jent_kcapi_cleanup() 198 kfree(rng->sdesc); in jent_kcapi_cleanup() 200 rng->sdesc = NULL; in jent_kcapi_cleanup() 202 if (rng->tfm) in jent_kcapi_cleanup() 203 crypto_free_shash(rng->tfm); in jent_kcapi_cleanup() 204 rng in jent_kcapi_cleanup() 214 struct jitterentropy *rng = crypto_tfm_ctx(tfm); jent_kcapi_init() local 266 struct jitterentropy *rng = crypto_rng_ctx(tfm); jent_kcapi_random() local [all...] |
/kernel/linux/linux-5.10/crypto/ |
H A D | jitterentropy-kcapi.c | 45 #include <crypto/internal/rng.h> 116 struct jitterentropy *rng = crypto_tfm_ctx(tfm); in jent_kcapi_init() local 119 rng->entropy_collector = jent_entropy_collector_alloc(1, 0); in jent_kcapi_init() 120 if (!rng->entropy_collector) in jent_kcapi_init() 123 spin_lock_init(&rng->jent_lock); in jent_kcapi_init() 129 struct jitterentropy *rng = crypto_tfm_ctx(tfm); in jent_kcapi_cleanup() local 131 spin_lock(&rng->jent_lock); in jent_kcapi_cleanup() 132 if (rng->entropy_collector) in jent_kcapi_cleanup() 133 jent_entropy_collector_free(rng->entropy_collector); in jent_kcapi_cleanup() 134 rng in jent_kcapi_cleanup() 142 struct jitterentropy *rng = crypto_rng_ctx(tfm); jent_kcapi_random() local [all...] |