mbox series

[v3,0/6] crypto: stm32 hash - reuse for Ux500

Message ID 20221227-ux500-stm32-hash-v3-0-32ee12cd6f06@linaro.org (mailing list archive)
Headers show
Series crypto: stm32 hash - reuse for Ux500 | expand

Message

Linus Walleij Jan. 25, 2023, 12:23 a.m. UTC
By taking some small portions of the Ux500 HASH driver and
adding to the STM32 driver, it turns out we can support both
platforms with the more modern STM32 driver.

The STM32 driver is more modern and compact thanks to using
things like the crypto engine.

We add a polled mode since the Ux500 does not have any
interrupt. Incidentally, this could perhaps be re-used to
implement synchronous mode, if this is desireable.

To: Herbert Xu <herbert@gondor.apana.org.au>
To: "David S. Miller" <davem@davemloft.net>
To: Rob Herring <robh+dt@kernel.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
To: Maxime Coquelin <mcoquelin.stm32@gmail.com>
To: Alexandre Torgue <alexandre.torgue@foss.st.com>
To: Lionel Debieve <lionel.debieve@foss.st.com>
Cc: linux-crypto@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

---
Changes in v3:
- Allocate the synchronous fallback algorithm in .cra_init()
  and free it in .cra_exit().
- Pick up some review tags.
- Link to v2: https://lore.kernel.org/r/20221227-ux500-stm32-hash-v2-0-bc443bc44ca4@linaro.org

Changes in v2:
- Use an else-clause in the DT bindings.
- Fix up issues pointed out by Lionel in the driver extension.
- Dropped the patch converting dma_mode to a bool after
  Lionel explained how this works.
- Link to v1: https://lore.kernel.org/r/20221227-ux500-stm32-hash-v1-0-b637ac4cda01@linaro.org

---
Linus Walleij (6):
      dt-bindings: crypto: Let STM32 define Ux500 HASH
      crypto: stm32/hash: Simplify code
      crypto: stm32/hash: Use existing busy poll function
      crypto: stm32/hash: Wait for idle before final CPU xmit
      crypto: stm32/hash: Support Ux500 hash
      crypto: ux500/hash - delete driver

 .../devicetree/bindings/crypto/st,stm32-hash.yaml  |   23 +-
 drivers/crypto/Kconfig                             |   10 -
 drivers/crypto/Makefile                            |    1 -
 drivers/crypto/stm32/stm32-hash.c                  |  266 ++-
 drivers/crypto/ux500/Kconfig                       |   22 -
 drivers/crypto/ux500/Makefile                      |    7 -
 drivers/crypto/ux500/hash/Makefile                 |   11 -
 drivers/crypto/ux500/hash/hash_alg.h               |  398 ----
 drivers/crypto/ux500/hash/hash_core.c              | 1966 --------------------
 9 files changed, 249 insertions(+), 2455 deletions(-)
---
base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
change-id: 20221227-ux500-stm32-hash-9ee26834292f

Best regards,

Comments

Herbert Xu Feb. 3, 2023, 5:04 a.m. UTC | #1
On Wed, Jan 25, 2023 at 01:23:06AM +0100, Linus Walleij wrote:
> By taking some small portions of the Ux500 HASH driver and
> adding to the STM32 driver, it turns out we can support both
> platforms with the more modern STM32 driver.
> 
> The STM32 driver is more modern and compact thanks to using
> things like the crypto engine.
> 
> We add a polled mode since the Ux500 does not have any
> interrupt. Incidentally, this could perhaps be re-used to
> implement synchronous mode, if this is desireable.
> 
> To: Herbert Xu <herbert@gondor.apana.org.au>
> To: "David S. Miller" <davem@davemloft.net>
> To: Rob Herring <robh+dt@kernel.org>
> To: Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>
> To: Maxime Coquelin <mcoquelin.stm32@gmail.com>
> To: Alexandre Torgue <alexandre.torgue@foss.st.com>
> To: Lionel Debieve <lionel.debieve@foss.st.com>
> Cc: linux-crypto@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-stm32@st-md-mailman.stormreply.com
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
> 
> ---
> Changes in v3:
> - Allocate the synchronous fallback algorithm in .cra_init()
>   and free it in .cra_exit().
> - Pick up some review tags.
> - Link to v2: https://lore.kernel.org/r/20221227-ux500-stm32-hash-v2-0-bc443bc44ca4@linaro.org
> 
> Changes in v2:
> - Use an else-clause in the DT bindings.
> - Fix up issues pointed out by Lionel in the driver extension.
> - Dropped the patch converting dma_mode to a bool after
>   Lionel explained how this works.
> - Link to v1: https://lore.kernel.org/r/20221227-ux500-stm32-hash-v1-0-b637ac4cda01@linaro.org
> 
> ---
> Linus Walleij (6):
>       dt-bindings: crypto: Let STM32 define Ux500 HASH
>       crypto: stm32/hash: Simplify code
>       crypto: stm32/hash: Use existing busy poll function
>       crypto: stm32/hash: Wait for idle before final CPU xmit
>       crypto: stm32/hash: Support Ux500 hash
>       crypto: ux500/hash - delete driver
> 
>  .../devicetree/bindings/crypto/st,stm32-hash.yaml  |   23 +-
>  drivers/crypto/Kconfig                             |   10 -
>  drivers/crypto/Makefile                            |    1 -
>  drivers/crypto/stm32/stm32-hash.c                  |  266 ++-
>  drivers/crypto/ux500/Kconfig                       |   22 -
>  drivers/crypto/ux500/Makefile                      |    7 -
>  drivers/crypto/ux500/hash/Makefile                 |   11 -
>  drivers/crypto/ux500/hash/hash_alg.h               |  398 ----
>  drivers/crypto/ux500/hash/hash_core.c              | 1966 --------------------
>  9 files changed, 249 insertions(+), 2455 deletions(-)
> ---
> base-commit: 1b929c02afd37871d5afb9d498426f83432e71c2
> change-id: 20221227-ux500-stm32-hash-9ee26834292f
> 
> Best regards,
> -- 
> Linus Walleij <linus.walleij@linaro.org>

All applied.  Thanks.