2020-12-18 10:59:23

by Matthias Brugger

[permalink] [raw]
Subject: [PATCH v2 1/2] hwrng: iproc-rng200: Fix disable of the block.

From: Matthias Brugger <[email protected]>

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 <[email protected]>

---

Changes in v2:
- fix commit message, dropping Fixes tag
- drop inverted RNT_RBGEN_ENABLE in disable case

drivers/char/hw_random/iproc-rng200.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
index 01583faf9893..70cd818a0f31 100644
--- a/drivers/char/hw_random/iproc-rng200.c
+++ b/drivers/char/hw_random/iproc-rng200.c
@@ -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);
}

--
2.29.2


2020-12-18 17:36:36

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] hwrng: iproc-rng200: Fix disable of the block.

On 12/18/20 2:57 AM, [email protected] wrote:
> From: Matthias Brugger <[email protected]>
>
> 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 <[email protected]>

Acked-by: Florian Fainelli <[email protected]>
--
Florian

2020-12-18 17:40:29

by Scott Branden

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] hwrng: iproc-rng200: Fix disable of the block.



On 2020-12-18 2:57 a.m., [email protected] wrote:
> From: Matthias Brugger <[email protected]>
>
> 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 <[email protected]>
Acked-by: Scott Branden <[email protected]>
>
> ---
>
> Changes in v2:
> - fix commit message, dropping Fixes tag
> - drop inverted RNT_RBGEN_ENABLE in disable case
>
> drivers/char/hw_random/iproc-rng200.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
> index 01583faf9893..70cd818a0f31 100644
> --- a/drivers/char/hw_random/iproc-rng200.c
> +++ b/drivers/char/hw_random/iproc-rng200.c
> @@ -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);
> }
>

2021-01-02 22:09:47

by Herbert Xu

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] hwrng: iproc-rng200: Fix disable of the block.

On Fri, Dec 18, 2020 at 11:57:07AM +0100, [email protected] wrote:
> From: Matthias Brugger <[email protected]>
>
> 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 <[email protected]>
>
> ---
>
> Changes in v2:
> - fix commit message, dropping Fixes tag
> - drop inverted RNT_RBGEN_ENABLE in disable case
>
> drivers/char/hw_random/iproc-rng200.c | 3 ---
> 1 file changed, 3 deletions(-)

Patch applied. Thanks.
--
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt