All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/33] crypto: rockchip: permit to pass self-tests
@ 2022-04-13 19:06 ` Corentin Labbe
  0 siblings, 0 replies; 114+ messages in thread
From: Corentin Labbe @ 2022-04-13 19:06 UTC (permalink / raw)
  To: heiko, herbert, krzysztof.kozlowski+dt, robh+dt
  Cc: linux-arm-kernel, linux-crypto, linux-rockchip, devicetree,
	linux-kernel, Corentin Labbe

Hello

The rockchip crypto driver is broken and do not pass self-tests.
This serie's goal is to permit to become usable and pass self-tests.

This whole serie is tested on a rk3328-rock64, rk3288-miqi and
rk3399-khadas-edge-v with selftests (with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y)

Since I didnt own rk3399 hardware, I worked on an emulated one until I
grab some co-worker rk3399 board.
People wanting to test this serie without the hardware can try my qemu branch at
https://github.com/montjoie/qemu/tree/rkcrypto

Regards

Changes since v1:
- select CRYPTO_ENGINE
- forgot to free fallbacks TFMs
- fixed kernel test robots warning
- add the PM patch

Changes since v2:
- Added DMA clock back to 3288 since it dont work without it
- fallback needed to select CBC and ECB configs
- Added support for rk3399
- Added more patch (style, read_poll_timeout)

Changes since v3:
- full rewrite of support for RK3399
- splited dt-binding patch in two

Changes since v4:
- Another full rewrite of support for RK3399
- Fixed dt-binding from Krzysztof Kozlowski's comments
- Use readl_poll_timeout() instead of read_poll_timeout()
- Rewrite the fallback SG tests

Corentin Labbe (33):
  crypto: rockchip: use dev_err for error message about interrupt
  crypto: rockchip: do not use uninitialized variable
  crypto: rockchip: do not do custom power management
  crypto: rockchip: fix privete/private typo
  crypto: rockchip: do not store mode globally
  crypto: rockchip: add fallback for cipher
  crypto: rockchip: add fallback for ahash
  crypto: rockchip: better handle cipher key
  crypto: rockchip: remove non-aligned handling
  crypto: rockchip: rework by using crypto_engine
  crypto: rockchip: rewrite type
  crypto: rockchip: add debugfs
  crypto: rockchip: introduce PM
  crypto: rockchip: handle reset also in PM
  crypto: rockchip: use clk_bulk to simplify clock management
  crypto: rockchip: add myself as maintainer
  crypto: rockchip: use read_poll_timeout
  crypto: rockchip: fix style issue
  crypto: rockchip: add support for rk3328
  crypto: rockchip: rename ablk functions to cipher
  crypto: rockchip: rework rk_handle_req function
  crypto: rockchip: use a rk_crypto_info variable instead of lot of
    indirection
  crypto: rockchip: use the rk_crypto_info given as parameter
  dt-bindings: crypto: convert rockchip-crypto to YAML
  dt-bindings: crypto: rockchip: convert to new driver bindings
  clk: rk3399: use proper crypto0 name
  arm64: dts: rockchip: add rk3328 crypto node
  arm64: dts: rockchip: rk3399: add crypto node
  crypto: rockchip: store crypto_info in request context
  crypto: rockchip: Check for clocks numbers and their frequencies
  crypto: rockchip: rk_ahash_reg_init use crypto_info from parameter
  crypto: rockchip: permit to have more than one reset
  crypto: rockchip: Add support for RK3399

 .../crypto/rockchip,rk3288-crypto.yaml        | 133 +++++
 .../bindings/crypto/rockchip-crypto.txt       |  28 -
 MAINTAINERS                                   |   7 +
 arch/arm64/boot/dts/rockchip/rk3328.dtsi      |  11 +
 arch/arm64/boot/dts/rockchip/rk3399.dtsi      |  20 +
 drivers/crypto/Kconfig                        |  15 +
 drivers/crypto/rockchip/rk3288_crypto.c       | 511 ++++++++--------
 drivers/crypto/rockchip/rk3288_crypto.h       | 107 ++--
 drivers/crypto/rockchip/rk3288_crypto_ahash.c | 267 +++++----
 .../crypto/rockchip/rk3288_crypto_skcipher.c  | 543 ++++++++++--------
 include/dt-bindings/clock/rk3399-cru.h        |   6 +-
 11 files changed, 953 insertions(+), 695 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3288-crypto.yaml
 delete mode 100644 Documentation/devicetree/bindings/crypto/rockchip-crypto.txt

-- 
2.35.1


^ permalink raw reply	[flat|nested] 114+ messages in thread

end of thread, other threads:[~2022-04-19 13:11 UTC | newest]

Thread overview: 114+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-13 19:06 [PATCH v5 00/33] crypto: rockchip: permit to pass self-tests Corentin Labbe
2022-04-13 19:06 ` Corentin Labbe
2022-04-13 19:06 ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 01/33] crypto: rockchip: use dev_err for error message about interrupt Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 02/33] crypto: rockchip: do not use uninitialized variable Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 03/33] crypto: rockchip: do not do custom power management Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 04/33] crypto: rockchip: fix privete/private typo Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 05/33] crypto: rockchip: do not store mode globally Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 06/33] crypto: rockchip: add fallback for cipher Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 07/33] crypto: rockchip: add fallback for ahash Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 08/33] crypto: rockchip: better handle cipher key Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 09/33] crypto: rockchip: remove non-aligned handling Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 10/33] crypto: rockchip: rework by using crypto_engine Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 11/33] crypto: rockchip: rewrite type Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 12/33] crypto: rockchip: add debugfs Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 13/33] crypto: rockchip: introduce PM Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 14/33] crypto: rockchip: handle reset also in PM Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 15/33] crypto: rockchip: use clk_bulk to simplify clock management Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 16/33] crypto: rockchip: add myself as maintainer Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 17/33] crypto: rockchip: use read_poll_timeout Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 18/33] crypto: rockchip: fix style issue Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06 ` [PATCH v5 19/33] crypto: rockchip: add support for rk3328 Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:06   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 20/33] crypto: rockchip: rename ablk functions to cipher Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 21/33] crypto: rockchip: rework rk_handle_req function Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 22/33] crypto: rockchip: use a rk_crypto_info variable instead of lot of indirection Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 23/33] crypto: rockchip: use the rk_crypto_info given as parameter Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 24/33] dt-bindings: crypto: convert rockchip-crypto to YAML Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:31   ` Krzysztof Kozlowski
2022-04-13 19:31     ` Krzysztof Kozlowski
2022-04-13 19:31     ` Krzysztof Kozlowski
2022-04-19 11:09     ` LABBE Corentin
2022-04-19 11:09       ` LABBE Corentin
2022-04-19 11:09       ` LABBE Corentin
2022-04-19 11:54       ` Krzysztof Kozlowski
2022-04-19 11:54         ` Krzysztof Kozlowski
2022-04-19 11:54         ` Krzysztof Kozlowski
2022-04-14 13:28   ` Rob Herring
2022-04-14 13:28     ` Rob Herring
2022-04-14 13:28     ` Rob Herring
2022-04-13 19:07 ` [PATCH v5 25/33] dt-bindings: crypto: rockchip: convert to new driver bindings Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 26/33] clk: rk3399: use proper crypto0 name Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 27/33] arm64: dts: rockchip: add rk3328 crypto node Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 28/33] arm64: dts: rockchip: rk3399: add " Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 29/33] crypto: rockchip: store crypto_info in request context Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 30/33] crypto: rockchip: Check for clocks numbers and their frequencies Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 31/33] crypto: rockchip: rk_ahash_reg_init use crypto_info from parameter Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 32/33] crypto: rockchip: permit to have more than one reset Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07 ` [PATCH v5 33/33] crypto: rockchip: Add support for RK3399 Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe
2022-04-13 19:07   ` Corentin Labbe

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.