2016-12-01 16:22:06

by Romain Perier

[permalink] [raw]
Subject: [PATCH] crypto: marvell - Don't copy hash operation twice into the SRAM

No need to copy the template of an hash operation twice into the SRAM
from the step function.

Signed-off-by: Romain Perier <[email protected]>
---
drivers/crypto/marvell/hash.c | 3 ---
1 file changed, 3 deletions(-)

diff --git a/drivers/crypto/marvell/hash.c b/drivers/crypto/marvell/hash.c
index 2a92605..fbbcbf8 100644
--- a/drivers/crypto/marvell/hash.c
+++ b/drivers/crypto/marvell/hash.c
@@ -172,9 +172,6 @@ static void mv_cesa_ahash_std_step(struct ahash_request *req)
for (i = 0; i < digsize / 4; i++)
writel_relaxed(creq->state[i], engine->regs + CESA_IVDIG(i));

- mv_cesa_adjust_op(engine, &creq->op_tmpl);
- memcpy_toio(engine->sram, &creq->op_tmpl, sizeof(creq->op_tmpl));
-
if (creq->cache_ptr)
memcpy_toio(engine->sram + CESA_SA_DATA_SRAM_OFFSET,
creq->cache, creq->cache_ptr);
--
2.9.3


2016-12-01 16:27:55

by Gregory CLEMENT

[permalink] [raw]
Subject: Re: [PATCH] crypto: marvell - Don't copy hash operation twice into the SRAM

Hi Romain,

On jeu., déc. 01 2016, Romain Perier <[email protected]> wrote:

> No need to copy the template of an hash operation twice into the SRAM
> from the step function.
>

Does this patch fix a bug ot it is jsute a cleanup/improvement?

If it is a bug you should CC stable and add use the Fixes tag.

Gregory

> Signed-off-by: Romain Perier <[email protected]>
> ---
> drivers/crypto/marvell/hash.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/drivers/crypto/marvell/hash.c b/drivers/crypto/marvell/hash.c
> index 2a92605..fbbcbf8 100644
> --- a/drivers/crypto/marvell/hash.c
> +++ b/drivers/crypto/marvell/hash.c
> @@ -172,9 +172,6 @@ static void mv_cesa_ahash_std_step(struct ahash_request *req)
> for (i = 0; i < digsize / 4; i++)
> writel_relaxed(creq->state[i], engine->regs + CESA_IVDIG(i));
>
> - mv_cesa_adjust_op(engine, &creq->op_tmpl);
> - memcpy_toio(engine->sram, &creq->op_tmpl, sizeof(creq->op_tmpl));
> -
> if (creq->cache_ptr)
> memcpy_toio(engine->sram + CESA_SA_DATA_SRAM_OFFSET,
> creq->cache, creq->cache_ptr);
> --
> 2.9.3
>

--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

2016-12-02 08:58:37

by Romain Perier

[permalink] [raw]
Subject: Re: [PATCH] crypto: marvell - Don't copy hash operation twice into the SRAM

Hi,

Le 01/12/2016 à 17:27, Gregory CLEMENT a écrit :
> Hi Romain,
>
> On jeu., déc. 01 2016, Romain Perier <[email protected]> wrote:
>
>> No need to copy the template of an hash operation twice into the SRAM
>> from the step function.
>>
>
> Does this patch fix a bug ot it is jsute a cleanup/improvement?
>
> If it is a bug you should CC stable and add use the Fixes tag.
>
> Gregory


No, it just removes a initialization that is done twice. I have checked,
it cannot overwrite the context of the operation that was previously
copied (by the for loop), so it does not fix anything.

Romain

2016-12-02 15:45:36

by Romain Perier

[permalink] [raw]
Subject: Re: [PATCH] crypto: marvell - Don't copy hash operation twice into the SRAM

Hello,

Le 02/12/2016 à 09:58, Romain Perier a écrit :
> Hi,
>
> Le 01/12/2016 à 17:27, Gregory CLEMENT a écrit :
>> Hi Romain,
>>
>> On jeu., déc. 01 2016, Romain Perier
>> <[email protected]> wrote:
>>
>>> No need to copy the template of an hash operation twice into the SRAM
>>> from the step function.
>>>
>>
>> Does this patch fix a bug ot it is jsute a cleanup/improvement?
>>
>> If it is a bug you should CC stable and add use the Fixes tag.
>>
>> Gregory
>
>
> No, it just removes a initialization that is done twice. I have checked,
> it cannot overwrite the context of the operation that was previously
> copied (by the for loop), so it does not fix anything.
>
>

Well, I have a second fix that depends on this one. The second fix
will be marked as "Fixes" (to be backported to stable) so it would
introduce a ordering issue. I think that I will resend a patch series
with these two patches and tag both as "Fixes". Please ignore this patch
for now.


Regards,
Romain