Home
last modified time | relevance | path

Searched full:rng (Results 1 – 25 of 728) sorted by relevance

12345678910>>...30

/OK3568_Linux_fs/kernel/drivers/crypto/
H A Dexynos-rng.c3 * 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, val, EXYNOS_RNG_SEED(seed_reg)); in exynos_rng_set_seed()
[all …]
H A Dqcom-rng.c4 // 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->lock); in qcom_rng_generate()
89 ret = qcom_rng_read(rng, dstn, dlen); in qcom_rng_generate()
[all …]
/OK3568_Linux_fs/kernel/drivers/char/hw_random/
H A Dcore.c32 /* the current rng has been explicitly chosen by user via sysfs */
39 /* Protects rng read functions, data_avail, rng_buffer and rng_fillbuf */
54 static int hwrng_init(struct hwrng *rng);
57 static inline int rng_get_data(struct hwrng *rng, u8 *buffer, size_t size,
65 static void add_early_randomness(struct hwrng *rng) in add_early_randomness() argument
71 bytes_read = rng_get_data(rng, rng_buffer, size, 0); in add_early_randomness()
79 struct hwrng *rng = container_of(kref, struct hwrng, ref); in cleanup_rng() local
81 if (rng->cleanup) in cleanup_rng()
82 rng->cleanup(rng); in cleanup_rng()
84 complete(&rng->cleanup_done); in cleanup_rng()
[all …]
H A DMakefile3 # Makefile for HW Random Number Generator (RNG) device drivers.
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
[all …]
H A Dcavium-rng-vf.c82 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->prev_error; in check_rng_health()
[all …]
H A Dhisi-rng.c23 #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 = devm_kzalloc(&pdev->dev, sizeof(*rng), GFP_KERNEL); in hisi_rng_probe()
[all …]
H A Drockchip-rng.c3 * rockchip-rng.c Random Number Generator driver for the Rockchip
114 int (*rk_rng_init)(struct hwrng *rng);
115 int (*rk_rng_read)(struct hwrng *rng, void *buf, size_t max, bool wait);
120 struct hwrng rng; member
127 static void rk_rng_writel(struct rk_rng *rng, u32 val, u32 offset) in rk_rng_writel() argument
129 __raw_writel(val, rng->mem + offset); in rk_rng_writel()
132 static u32 rk_rng_readl(struct rk_rng *rng, u32 offset) in rk_rng_readl() argument
134 return __raw_readl(rng->mem + offset); in rk_rng_readl()
137 static int rk_rng_init(struct hwrng *rng) in rk_rng_init() argument
140 struct rk_rng *rk_rng = container_of(rng, struct rk_rng, rng); in rk_rng_init()
[all …]
H A Dingenic-rng.c18 /* RNG register offsets */
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()
48 static void ingenic_rng_cleanup(struct hwrng *rng) in ingenic_rng_cleanup() argument
50 struct ingenic_rng *priv = container_of(rng, struct ingenic_rng, rng); in ingenic_rng_cleanup()
55 static int ingenic_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait) in ingenic_rng_read() argument
57 struct ingenic_rng *priv = container_of(rng, struct ingenic_rng, rng); in ingenic_rng_read()
66 pr_err("%s: Wait for RNG data ready timeout\n", __func__); in ingenic_rng_read()
71 * A delay is required so that the current RNG data is not bit shifted in ingenic_rng_read()
[all …]
H A Dmtk-rng.c33 #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 Dcavium-rng.c22 /* Enable the RNG hardware and activate the VF */
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()
33 /*Map the RNG control */ 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()
41 /* Enable the RNG hardware and entropy source */ in cavium_rng_probe()
43 rng->control_status); in cavium_rng_probe()
45 pci_set_drvdata(pdev, rng); in cavium_rng_probe()
[all …]
H A Dstm32-rng.c31 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()
64 "bad RNG status - %x\n", sr)) 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
[all …]
H A Dnpcm-rng.c29 #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.priv); in npcm_rng_read()
[all …]
H A Dbcm2835-rng.c22 /* enable rng */
31 struct hwrng rng; member
37 static inline struct bcm2835_rng_priv *to_rng_priv(struct hwrng *rng) in to_rng_priv() argument
39 return container_of(rng, struct bcm2835_rng_priv, rng); in to_rng_priv()
62 static int bcm2835_rng_read(struct hwrng *rng, void *buf, size_t max, in bcm2835_rng_read() argument
65 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_read()
85 static int bcm2835_rng_init(struct hwrng *rng) in bcm2835_rng_init() argument
87 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_init()
111 static void bcm2835_rng_cleanup(struct hwrng *rng) in bcm2835_rng_cleanup() argument
113 struct bcm2835_rng_priv *priv = to_rng_priv(rng); in bcm2835_rng_cleanup()
[all …]
H A Docteon-rng.c28 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()
35 ctl.s.rng_en = 1; /* Enable the RNG hardware. */ 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 Dmxc-rnga.c3 * RNG driver for Freescale RNGA
11 * This driver is based on other RNG drivers.
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 static void mxc_rnga_cleanup(struct hwrng *rng) in mxc_rnga_cleanup() argument
[all …]
H A Dtx4939-rng.c2 * RNG driver for TX4939 Random Number Generators (RNG)
29 struct hwrng rng; member
65 static int tx4939_rng_data_present(struct hwrng *rng, int wait) in tx4939_rng_data_present() argument
67 struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng); in tx4939_rng_data_present()
84 /* Start RNG */ in tx4939_rng_data_present()
98 static int tx4939_rng_data_read(struct hwrng *rng, u32 *buffer) in tx4939_rng_data_read() argument
100 struct tx4939_rng *rngdev = container_of(rng, struct tx4939_rng, rng); in tx4939_rng_data_read()
119 rngdev->rng.name = dev_name(&dev->dev); in tx4939_rng_probe()
120 rngdev->rng.data_present = tx4939_rng_data_present; in tx4939_rng_probe()
121 rngdev->rng.data_read = tx4939_rng_data_read; in tx4939_rng_probe()
[all …]
/OK3568_Linux_fs/buildroot/dl/qt5location/git/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/geometry/util/
H A Drange.hpp51 static inline iterator apply(RandomAccessRange & rng, size_type i) in apply()
54 return boost::begin(rng) + static_cast<difference_type>(i); in apply()
66 pos(RandomAccessRange const& rng, in pos() argument
69 BOOST_GEOMETRY_ASSERT(i <= boost::size(rng)); in pos()
70 return detail::pos<RandomAccessRange const>::apply(rng, i); in pos()
79 pos(RandomAccessRange & rng, in pos() argument
82 BOOST_GEOMETRY_ASSERT(i <= boost::size(rng)); in pos()
83 return detail::pos<RandomAccessRange>::apply(rng, i); in pos()
92 at(RandomAccessRange const& rng, in at() argument
95 BOOST_GEOMETRY_ASSERT(i < boost::size(rng)); in at()
[all …]
/OK3568_Linux_fs/kernel/arch/powerpc/platforms/powernv/
H A Drng.c6 #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
65 rng = raw_cpu_read(powernv_rng); in powernv_get_random_real_mode()
[all …]
/OK3568_Linux_fs/buildroot/dl/qt5location/git/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/range/detail/
H A Drange_return.hpp40 SinglePassRange& rng) in pack()
42 return type(found, boost::end(rng)); in pack()
62 static type pack(type found, SinglePassRange& rng) in pack()
64 return found == boost::end(rng) in pack()
75 static type pack(type found, BidirectionalRange& rng) in pack()
77 return found == boost::begin(rng) in pack()
90 SinglePassRange& rng) in pack()
92 return type(boost::begin(rng), found); in pack()
103 SinglePassRange& rng) in pack()
105 return type( boost::begin(rng), in pack()
[all …]
/OK3568_Linux_fs/buildroot/dl/qt5location/git/src/3rdparty/mapbox-gl-native/deps/boost/1.65.1/include/boost/proto/functional/range/
H A Drend.hpp26 template<typename This, typename Rng>
27 struct result<This(Rng)>
28 : boost::range_reverse_iterator<Rng const>
31 template<typename This, typename Rng>
32 struct result<This(Rng &)>
33 : boost::range_reverse_iterator<Rng>
36 template<typename Rng>
37 typename boost::range_reverse_iterator<Rng>::type operator()(Rng &rng) const in operator ()()
39 return boost::rend(rng); in operator ()()
42 template<typename Rng>
[all …]
H A Dbegin.hpp26 template<typename This, typename Rng>
27 struct result<This(Rng)>
28 : boost::range_iterator<Rng const>
31 template<typename This, typename Rng>
32 struct result<This(Rng &)>
33 : boost::range_iterator<Rng>
36 template<typename Rng>
37 typename boost::range_iterator<Rng>::type operator()(Rng &rng) const in operator ()()
39 return boost::begin(rng); in operator ()()
42 template<typename Rng>
[all …]
H A Dend.hpp26 template<typename This, typename Rng>
27 struct result<This(Rng)>
28 : boost::range_iterator<Rng const>
31 template<typename This, typename Rng>
32 struct result<This(Rng &)>
33 : boost::range_iterator<Rng>
36 template<typename Rng>
37 typename boost::range_iterator<Rng>::type operator()(Rng &rng) const in operator ()()
39 return boost::end(rng); in operator ()()
42 template<typename Rng>
[all …]
H A Drbegin.hpp26 template<typename This, typename Rng>
27 struct result<This(Rng)>
28 : boost::range_reverse_iterator<Rng const>
31 template<typename This, typename Rng>
32 struct result<This(Rng &)>
33 : boost::range_reverse_iterator<Rng>
36 template<typename Rng>
37 typename boost::range_reverse_iterator<Rng>::type operator()(Rng &rng) const in operator ()()
39 return boost::rbegin(rng); in operator ()()
42 template<typename Rng>
[all …]
/OK3568_Linux_fs/kernel/drivers/crypto/amcc/
H A Dcrypto4xx_trng.c3 * Generic PowerPC 44x RNG driver
28 static int ppc4xx_trng_data_present(struct hwrng *rng, int wait) in ppc4xx_trng_data_present() argument
30 struct crypto4xx_device *dev = (void *)rng->priv; in ppc4xx_trng_data_present()
45 static int ppc4xx_trng_data_read(struct hwrng *rng, u32 *data) in ppc4xx_trng_data_read() argument
47 struct crypto4xx_device *dev = (void *)rng->priv; in ppc4xx_trng_data_read()
65 { .compatible = "ppc4xx-rng", },
66 { .compatible = "amcc,ppc460ex-rng", },
67 { .compatible = "amcc,ppc440epx-rng", },
75 struct hwrng *rng = NULL; in ppc4xx_trng_probe() local
90 rng = kzalloc(sizeof(*rng), GFP_KERNEL); in ppc4xx_trng_probe()
[all …]
/OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/rng/
H A Dmtk-rng.txt6 "mediatek,mt7622-rng", "mediatek,mt7623-rng" : for MT7622
7 "mediatek,mt7629-rng", "mediatek,mt7623-rng" : for MT7629
8 "mediatek,mt7623-rng" : for MT7623
9 "mediatek,mt8516-rng", "mediatek,mt7623-rng" : for MT8516
12 - clock-names : Should contain "rng" entries;
17 rng: rng@1020f000 {
18 compatible = "mediatek,mt7623-rng";
21 clock-names = "rng";

12345678910>>...30