All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthias Brugger <mbrugger@suse.com>
To: Scott Branden <scott.branden@broadcom.com>,
	matthias.bgg@kernel.org, mpm@selenic.com,
	herbert@gondor.apana.org.au, rjui@broadcom.com,
	sbranden@broadcom.com, f.fainelli@gmail.com
Cc: linux-kernel@vger.kernel.org, Julia.Lawall@inria.fr,
	bcm-kernel-feedback-list@broadcom.com,
	linux-arm-kernel@lists.infradead.org, nsaenzjulienne@suse.de,
	linux-crypto@vger.kernel.org
Subject: Re: [PATCH 1/2] hwrng: iproc-rng200: Fix disable of the block.
Date: Fri, 18 Dec 2020 11:49:55 +0100	[thread overview]
Message-ID: <ab41dfe2-e244-f920-5d1f-bb34ac16fe8f@suse.com> (raw)
In-Reply-To: <24e22e5a-7371-02b4-1636-2e03def420e3@broadcom.com>



On 14/12/2020 18:45, Scott Branden wrote:
> 
> 
> On 2020-12-14 8:04 a.m., matthias.bgg@kernel.org wrote:
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> When trying to disable the block we bitwise or the control
>> register with value zero. This will leave the block always turned on.
>> Fix this by setting the corresponding bit to zero.
>>
>> Fixes: c83d45d5685f ("hwrng: iproc-rng200 - Add Broadcom IPROC RNG driver")
> Commit message needs to be re-written.
> I don't think this is an actual fix as the ~RNG_CTL_RNG_RBGEN_MASK already zeros the bit.  This is just a code change, which is fine because it makes things clearer

Right, I'll reword it.

>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>> ---
>>
>>  drivers/char/hw_random/iproc-rng200.c | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
>> index 01583faf9893..e106ce3c0146 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,7 @@ static void iproc_rng200_restart(void __iomem *rng_base)
>>  	/* Disable RBG */
>>  	val = ioread32(rng_base + RNG_CTRL_OFFSET);
>>  	val &= ~RNG_CTRL_RNG_RBGEN_MASK;
> This mask will already zero the enable bit.
>> -	val |= RNG_CTRL_RNG_RBGEN_DISABLE;
>> +	val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;

Correct, so no need for this extra line. I'll delete it.

>>  	iowrite32(val, rng_base + RNG_CTRL_OFFSET);
>>  
>>  	/* Clear all interrupt status */
>> @@ -174,7 +173,7 @@ 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;
>> +	val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;
>>  	iowrite32(val, priv->base + RNG_CTRL_OFFSET);
>>  }
>>  
> 


WARNING: multiple messages have this Message-ID (diff)
From: Matthias Brugger <mbrugger@suse.com>
To: Scott Branden <scott.branden@broadcom.com>,
	matthias.bgg@kernel.org, mpm@selenic.com,
	herbert@gondor.apana.org.au, rjui@broadcom.com,
	sbranden@broadcom.com, f.fainelli@gmail.com
Cc: linux-kernel@vger.kernel.org, Julia.Lawall@inria.fr,
	bcm-kernel-feedback-list@broadcom.com,
	linux-arm-kernel@lists.infradead.org, nsaenzjulienne@suse.de,
	linux-crypto@vger.kernel.org
Subject: Re: [PATCH 1/2] hwrng: iproc-rng200: Fix disable of the block.
Date: Fri, 18 Dec 2020 11:49:55 +0100	[thread overview]
Message-ID: <ab41dfe2-e244-f920-5d1f-bb34ac16fe8f@suse.com> (raw)
In-Reply-To: <24e22e5a-7371-02b4-1636-2e03def420e3@broadcom.com>



On 14/12/2020 18:45, Scott Branden wrote:
> 
> 
> On 2020-12-14 8:04 a.m., matthias.bgg@kernel.org wrote:
>> From: Matthias Brugger <mbrugger@suse.com>
>>
>> When trying to disable the block we bitwise or the control
>> register with value zero. This will leave the block always turned on.
>> Fix this by setting the corresponding bit to zero.
>>
>> Fixes: c83d45d5685f ("hwrng: iproc-rng200 - Add Broadcom IPROC RNG driver")
> Commit message needs to be re-written.
> I don't think this is an actual fix as the ~RNG_CTL_RNG_RBGEN_MASK already zeros the bit.  This is just a code change, which is fine because it makes things clearer

Right, I'll reword it.

>> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
>> ---
>>
>>  drivers/char/hw_random/iproc-rng200.c | 5 ++---
>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/char/hw_random/iproc-rng200.c b/drivers/char/hw_random/iproc-rng200.c
>> index 01583faf9893..e106ce3c0146 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,7 @@ static void iproc_rng200_restart(void __iomem *rng_base)
>>  	/* Disable RBG */
>>  	val = ioread32(rng_base + RNG_CTRL_OFFSET);
>>  	val &= ~RNG_CTRL_RNG_RBGEN_MASK;
> This mask will already zero the enable bit.
>> -	val |= RNG_CTRL_RNG_RBGEN_DISABLE;
>> +	val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;

Correct, so no need for this extra line. I'll delete it.

>>  	iowrite32(val, rng_base + RNG_CTRL_OFFSET);
>>  
>>  	/* Clear all interrupt status */
>> @@ -174,7 +173,7 @@ 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;
>> +	val &= ~RNG_CTRL_RNG_RBGEN_ENABLE;
>>  	iowrite32(val, priv->base + RNG_CTRL_OFFSET);
>>  }
>>  
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2020-12-18 10:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-14 16:04 [PATCH 1/2] hwrng: iproc-rng200: Fix disable of the block matthias.bgg
2020-12-14 16:04 ` matthias.bgg
2020-12-14 16:04 ` [PATCH 2/2] hwrng: iproc-rng200: Move enable/disable in separate function matthias.bgg
2020-12-14 16:04   ` matthias.bgg
2020-12-14 17:39   ` Florian Fainelli
2020-12-14 17:39     ` Florian Fainelli
2020-12-14 17:50   ` Scott Branden
2020-12-14 17:50     ` Scott Branden
2020-12-14 17:36 ` [PATCH 1/2] hwrng: iproc-rng200: Fix disable of the block Florian Fainelli
2020-12-14 17:36   ` Florian Fainelli
2020-12-14 17:45 ` Scott Branden
2020-12-14 17:45   ` Scott Branden
2020-12-18 10:49   ` Matthias Brugger [this message]
2020-12-18 10:49     ` Matthias Brugger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ab41dfe2-e244-f920-5d1f-bb34ac16fe8f@suse.com \
    --to=mbrugger@suse.com \
    --cc=Julia.Lawall@inria.fr \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=f.fainelli@gmail.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthias.bgg@kernel.org \
    --cc=mpm@selenic.com \
    --cc=nsaenzjulienne@suse.de \
    --cc=rjui@broadcom.com \
    --cc=sbranden@broadcom.com \
    --cc=scott.branden@broadcom.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.