[PATCH v3 0/9] Drivers for Alibaba YCC (Yitian Cryptography Complex) cryptographic accelerator

'Guanjun'
2022-10-25T09:59:18Z

From: Guanjun <guanjun@linux.alibaba.com>

Hi,

This patch series aims to add drivers for Alibaba YCC (Yitian Cryptography Complex)
cryptographic accelerator. Enables the on-chip cryptographic accelerator of
Alibaba Yitian SoCs which is based on ARMv9 architecture.

It includes PCIe enabling, skcipher, aead, rsa, sm2 support.

Additionally, this patchset has rebase Linux upstream tree and ensure no compile
warnings. -- As Herbert's comments said in v2.

Please help to review.

Thanks,
Guanjun.

Change log:
v2 -> v3:
- [01/09] Fix the lost "$" in Makefile
- [08/09] Fix compile warnings when both CONFIG_CRYPTO_SM2 and CONFIG_CRYPTO_DEV_YCC are enabled

v1 RESEND -> v2:
- [01/09] Remove char device that is not used now.

v1 -> v1 RESEND:
- [01/09] Adjust the Kconfig entry in alphabetical order
- [05/09][07/09][08/09] Adjust the format of algorithm names

v2: https://lore.kernel.org/all/1664350687-47330-1-git-send-email-guanjun@linux.alibaba.com/
v1: https://lore.kernel.org/all/1661334621-44413-1-git-send-email-guanjun@linux.alibaba.com/
v1 RESEND: https://lore.kernel.org/all/1662435353-114812-1-git-send-email-guanjun@linux.alibaba.com/

Guanjun (3):
crypto/ycc: Add skcipher algorithm support
crypto/ycc: Add aead algorithm support
crypto/ycc: Add rsa algorithm support

Xuchun Shang (1):
crypto/ycc: Add sm2 algorithm support

Zelin Deng (5):
crypto/ycc: Add YCC (Yitian Cryptography Complex) accelerator driver
crypto/ycc: Add ycc ring configuration
crypto/ycc: Add irq support for ycc kernel rings
crypto/ycc: Add device error handling support for ycc hw errors
MAINTAINERS: Add Yitian Cryptography Complex (YCC) driver maintainer
entry

MAINTAINERS | 8 +
drivers/crypto/Kconfig | 2 +
drivers/crypto/Makefile | 1 +
drivers/crypto/ycc/Kconfig | 18 +
drivers/crypto/ycc/Makefile | 7 +
drivers/crypto/ycc/sm2signature_asn1.c | 38 ++
drivers/crypto/ycc/sm2signature_asn1.h | 13 +
drivers/crypto/ycc/ycc_aead.c | 646 ++++++++++++++++++++++
drivers/crypto/ycc/ycc_algs.h | 176 ++++++
drivers/crypto/ycc/ycc_dev.h | 157 ++++++
drivers/crypto/ycc/ycc_drv.c | 567 ++++++++++++++++++++
drivers/crypto/ycc/ycc_isr.c | 279 ++++++++++
drivers/crypto/ycc/ycc_isr.h | 12 +
drivers/crypto/ycc/ycc_pke.c | 946 +++++++++++++++++++++++++++++++++
drivers/crypto/ycc/ycc_ring.c | 652 +++++++++++++++++++++++
drivers/crypto/ycc/ycc_ring.h | 168 ++++++
drivers/crypto/ycc/ycc_ske.c | 925 ++++++++++++++++++++++++++++++++
17 files changed, 4615 insertions(+)
create mode 100644 drivers/crypto/ycc/Kconfig
create mode 100644 drivers/crypto/ycc/Makefile
create mode 100644 drivers/crypto/ycc/sm2signature_asn1.c
create mode 100644 drivers/crypto/ycc/sm2signature_asn1.h
create mode 100644 drivers/crypto/ycc/ycc_aead.c
create mode 100644 drivers/crypto/ycc/ycc_algs.h
create mode 100644 drivers/crypto/ycc/ycc_dev.h
create mode 100644 drivers/crypto/ycc/ycc_drv.c
create mode 100644 drivers/crypto/ycc/ycc_isr.c
create mode 100644 drivers/crypto/ycc/ycc_isr.h
create mode 100644 drivers/crypto/ycc/ycc_pke.c
create mode 100644 drivers/crypto/ycc/ycc_ring.c
create mode 100644 drivers/crypto/ycc/ycc_ring.h
create mode 100644 drivers/crypto/ycc/ycc_ske.c

--
1.8.3.1