aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch63
1 files changed, 0 insertions, 63 deletions
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch b/target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch
deleted file mode 100644
index 761652ab71..0000000000
--- a/target/linux/layerscape/patches-5.4/804-crypto-0012-MLK-19053-crypto-caam-RNG4-TRNG-errata.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From e1a89cdf6fa6b04806eb24b939738bb89ab62914 Mon Sep 17 00:00:00 2001
-From: Aymen Sghaier <aymen.sghaier@nxp.com>
-Date: Thu, 13 Sep 2018 16:41:03 +0200
-Subject: [PATCH] MLK-19053 crypto: caam - RNG4 TRNG errata
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
- The TRNG as used in RNG4, used in CAAM has a documentation issue. The
-effect is that it is possible that the entropy used to instantiate the
-DRBG may be old entropy, rather than newly generated entropy. There is
-proper programming guidance, but it is not in the documentation.
-
-Signed-off-by: Aymen Sghaier <aymen.sghaier@nxp.com>
-Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
-(cherry picked from commit ea2b30c8171acf7624e3d44276737c3878ca900d)
-
--ported to RNG initialization in ctrl.c
--changed commit headline
-
-Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
----
- drivers/crypto/caam/ctrl.c | 9 +++++++--
- drivers/crypto/caam/regs.h | 3 ++-
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
---- a/drivers/crypto/caam/ctrl.c
-+++ b/drivers/crypto/caam/ctrl.c
-@@ -339,7 +339,11 @@ static void kick_trng(struct platform_de
- r4tst = &ctrl->r4tst[0];
-
- /* put RNG4 into program mode */
-- clrsetbits_32(&r4tst->rtmctl, 0, RTMCTL_PRGM);
-+ /* Setting both RTMCTL:PRGM and RTMCTL:TRNG_ACC causes TRNG to
-+ * properly invalidate the entropy in the entropy register and
-+ * force re-generation.
-+ */
-+ clrsetbits_32(&r4tst->rtmctl, 0, RTMCTL_PRGM | RTMCTL_ACC);
-
- /*
- * Performance-wise, it does not make sense to
-@@ -369,7 +373,8 @@ start_rng:
- * select raw sampling in both entropy shifter
- * and statistical checker; ; put RNG4 into run mode
- */
-- clrsetbits_32(&r4tst->rtmctl, RTMCTL_PRGM, RTMCTL_SAMP_MODE_RAW_ES_SC);
-+ clrsetbits_32(&r4tst->rtmctl, RTMCTL_PRGM | RTMCTL_ACC,
-+ RTMCTL_SAMP_MODE_RAW_ES_SC);
- }
-
- static int caam_get_era_from_hw(struct caam_ctrl __iomem *ctrl)
---- a/drivers/crypto/caam/regs.h
-+++ b/drivers/crypto/caam/regs.h
-@@ -495,7 +495,8 @@ struct rngtst {
-
- /* RNG4 TRNG test registers */
- struct rng4tst {
--#define RTMCTL_PRGM 0x00010000 /* 1 -> program mode, 0 -> run mode */
-+#define RTMCTL_ACC BIT(5) /* TRNG access mode */
-+#define RTMCTL_PRGM BIT(16) /* 1 -> program mode, 0 -> run mode */
- #define RTMCTL_SAMP_MODE_VON_NEUMANN_ES_SC 0 /* use von Neumann data in
- both entropy shifter and
- statistical checker */