aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorKim Phillips <kim.phillips@freescale.com>2012-09-17 19:21:55 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2012-09-27 01:32:15 -0400
commita5bbf6fa79abe0cb64aaebc3455f9ba779d6a36f (patch)
tree3d41e7137a355f4800733845c744e616cc18e23d /drivers/crypto
parentb6f3fefe1fa1e8ea8f6b654e7d552253373cd1c0 (diff)
crypto: caam - increase TRNG clocks per sample
we need to configure the TRNG to use more clocks per sample to handle the two back-to-back 64KiB random descriptor requests on higher frequency P5040s. Signed-off-by: Kim Phillips <kim.phillips@freescale.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/caam/ctrl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/crypto/caam/ctrl.c b/drivers/crypto/caam/ctrl.c
index 414ba20c05a1..bf20dd891705 100644
--- a/drivers/crypto/caam/ctrl.c
+++ b/drivers/crypto/caam/ctrl.c
@@ -129,7 +129,7 @@ static int instantiate_rng(struct device *jrdev)
129 129
130/* 130/*
131 * By default, the TRNG runs for 200 clocks per sample; 131 * By default, the TRNG runs for 200 clocks per sample;
132 * 800 clocks per sample generates better entropy. 132 * 1600 clocks per sample generates better entropy.
133 */ 133 */
134static void kick_trng(struct platform_device *pdev) 134static void kick_trng(struct platform_device *pdev)
135{ 135{
@@ -144,9 +144,9 @@ static void kick_trng(struct platform_device *pdev)
144 144
145 /* put RNG4 into program mode */ 145 /* put RNG4 into program mode */
146 setbits32(&r4tst->rtmctl, RTMCTL_PRGM); 146 setbits32(&r4tst->rtmctl, RTMCTL_PRGM);
147 /* 800 clocks per sample */ 147 /* 1600 clocks per sample */
148 val = rd_reg32(&r4tst->rtsdctl); 148 val = rd_reg32(&r4tst->rtsdctl);
149 val = (val & ~RTSDCTL_ENT_DLY_MASK) | (800 << RTSDCTL_ENT_DLY_SHIFT); 149 val = (val & ~RTSDCTL_ENT_DLY_MASK) | (1600 << RTSDCTL_ENT_DLY_SHIFT);
150 wr_reg32(&r4tst->rtsdctl, val); 150 wr_reg32(&r4tst->rtsdctl, val);
151 /* min. freq. count */ 151 /* min. freq. count */
152 wr_reg32(&r4tst->rtfrqmin, 400); 152 wr_reg32(&r4tst->rtfrqmin, 400);