[PATCH v2 0/5] crypto: add gemini/sl3516 crypto driver

From: Corentin Labbe
Date: Tue Jun 01 2021 - 11:11:46 EST


The gemini SL3516 SoC has a crypto IP.
This serie had support for it.

It was tested with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y.
Furthermore, it survives hours and gigs of write/read to a luks2 using xts(ecb-aes-sl3516).

Performance is quite good.
On a luks2 partition (2To with bs=4096), a fsck comes from 14m26(without CE) to 8m48(with CE).
So it is really usefull.

With bs=512, the performance is similar with software.

Changes since v1:
- reworded dt-binding subject patch
- fixed build with CRYPTO_DEV_SL3516_DEBUG

Corentin Labbe (5):
dt-bindings: crypto: Add documentation for sl3516-ce
crypto: Add sl3516 crypto engine
ARM: dts: gemini: add crypto node
ARM: gemini_config: enable sl3516-ce crypto
MAINTAINERS: add gemini crypto sl3516-ce

.../crypto/cortina,sl3516-crypto.yaml | 50 ++
MAINTAINERS | 7 +
arch/arm/boot/dts/gemini.dtsi | 8 +
arch/arm/configs/gemini_defconfig | 1 +
drivers/crypto/Kconfig | 19 +
drivers/crypto/Makefile | 1 +
drivers/crypto/gemini/Makefile | 2 +
drivers/crypto/gemini/sl3516-ce-cipher.c | 388 +++++++++++++
drivers/crypto/gemini/sl3516-ce-core.c | 535 ++++++++++++++++++
drivers/crypto/gemini/sl3516-ce-rng.c | 61 ++
drivers/crypto/gemini/sl3516-ce.h | 347 ++++++++++++
11 files changed, 1419 insertions(+)
create mode 100644 Documentation/devicetree/bindings/crypto/cortina,sl3516-crypto.yaml
create mode 100644 drivers/crypto/gemini/Makefile
create mode 100644 drivers/crypto/gemini/sl3516-ce-cipher.c
create mode 100644 drivers/crypto/gemini/sl3516-ce-core.c
create mode 100644 drivers/crypto/gemini/sl3516-ce-rng.c
create mode 100644 drivers/crypto/gemini/sl3516-ce.h

--
2.31.1