[PATCH v3 00/26] crypto: rockchip: permit to pass self-tests

Corentin Labbe
2022-03-21T20:07:56Z

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 with selftests (with
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y)
The serie is also tested on a rk3399 by Hugh Cole-Baker <sigmaris@gmail.com>

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)

Corentin Labbe (26):
crypto: rockchip: use dev_err for error message about interrupt
crypto: rockchip: do not use uninit 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 support for r3399
clk: rk3399: use proper crypto0 name
arm64: dts: rockchip: rk3399: add crypto node
arm64: dts: rockchip: add rk3328 crypto node
ARM: dts: rk3288: crypto does not need reset-names anymore
dt-bindings: crypto: convert rockchip-crypto to yaml
crypto: rockchip: add support for rk3328
crypto: rockchip: Check for maximum frequency of clocks
crypto: rockchip: add myself as maintainer
crypto: rockchip: fix style issue
crypto: rockchip: use read_poll_timeout

.../bindings/clock/qcom,gcc-other.yaml | 2 +-
.../crypto/rockchip,rk3288-crypto.yaml | 84 +++
.../bindings/crypto/rockchip-crypto.txt | 28 -
MAINTAINERS | 7 +
arch/arm/boot/dts/rk3288.dtsi | 1 -
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 10 +
arch/arm64/boot/dts/rockchip/rk3399.dtsi | 12 +
drivers/crypto/Kconfig | 15 +
drivers/crypto/rockchip/rk3288_crypto.c | 498 ++++++++----------
drivers/crypto/rockchip/rk3288_crypto.h | 109 ++--
drivers/crypto/rockchip/rk3288_crypto_ahash.c | 274 ++++++----
.../crypto/rockchip/rk3288_crypto_skcipher.c | 480 ++++++++++-------
include/dt-bindings/clock/rk3399-cru.h | 6 +-
13 files changed, 880 insertions(+), 646 deletions(-)
create mode 100644 Documentation/devicetree/bindings/crypto/rockchip,rk3288-crypto.yaml
delete mode 100644 Documentation/devicetree/bindings/crypto/rockchip-crypto.txt

--
2.34.1