OSDN Git Service

hwrng: iproc-rng200 - Fix disable of the block.
authorMatthias Brugger <mbrugger@suse.com>
Fri, 18 Dec 2020 10:57:07 +0000 (11:57 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 2 Jan 2021 21:41:37 +0000 (08:41 +1100)
When trying to disable the block we bitwise or the control
register with value zero. This is confusing as using bitwise or with
value zero doesn't have any effect at all. Drop this as we already set
the enable bit to zero by appling inverted RNG_RBGEN_MASK.

Signed-off-by: Matthias Brugger <mbrugger@suse.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/iproc-rng200.c

index 01583fa..70cd818 100644 (file)
@@ -28,7 +28,6 @@
 #define RNG_CTRL_OFFSET                                        0x00
 #define RNG_CTRL_RNG_RBGEN_MASK                                0x00001FFF
 #define RNG_CTRL_RNG_RBGEN_ENABLE                      0x00000001
-#define RNG_CTRL_RNG_RBGEN_DISABLE                     0x00000000
 
 #define RNG_SOFT_RESET_OFFSET                          0x04
 #define RNG_SOFT_RESET                                 0x00000001
@@ -61,7 +60,6 @@ static void iproc_rng200_restart(void __iomem *rng_base)
        /* Disable RBG */
        val = ioread32(rng_base + RNG_CTRL_OFFSET);
        val &= ~RNG_CTRL_RNG_RBGEN_MASK;
-       val |= RNG_CTRL_RNG_RBGEN_DISABLE;
        iowrite32(val, rng_base + RNG_CTRL_OFFSET);
 
        /* Clear all interrupt status */
@@ -174,7 +172,6 @@ static void iproc_rng200_cleanup(struct hwrng *rng)
        /* Disable RNG hardware */
        val = ioread32(priv->base + RNG_CTRL_OFFSET);
        val &= ~RNG_CTRL_RNG_RBGEN_MASK;
-       val |= RNG_CTRL_RNG_RBGEN_DISABLE;
        iowrite32(val, priv->base + RNG_CTRL_OFFSET);
 }