bcm2835-rng: Avoid initialising if already enabled

Avoids the 0x40000 cycles of warmup again if firmware has already used it
This commit is contained in:
popcornmix
2016-12-06 17:05:39 +00:00
parent f3629a18a3
commit 5e03357f28

View File

@@ -102,8 +102,10 @@ static int bcm2835_rng_init(struct hwrng *rng)
} }
/* set warm-up count & enable */ /* set warm-up count & enable */
rng_writel(priv, RNG_WARMUP_COUNT, RNG_STATUS); if (!(rng_readl(priv, RNG_CTRL) & RNG_RBGEN)) {
rng_writel(priv, RNG_RBGEN, RNG_CTRL); rng_writel(priv, RNG_WARMUP_COUNT, RNG_STATUS);
rng_writel(priv, RNG_RBGEN, RNG_CTRL);
}
return ret; return ret;
} }