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 b4f741c2e6
commit f12ce3d87b

View File

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