mbox series

[v2,0/5] crypto/uadk: introduce uadk crypto driver

Message ID 20220923024023.15849-1-zhangfei.gao@linaro.org
Headers show
Series crypto/uadk: introduce uadk crypto driver | expand

Message

Zhangfei Gao Sept. 23, 2022, 2:40 a.m. UTC
Introduce a new crypto PMD for hardware accelerators based on UADK [1].

UADK is a framework for user applications to access hardware accelerators.
UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
the same page table between IOMMU and MMU.
Thereby user application can directly use virtual address for device dma,
which enhances the performance as well as easy usability.

[1] https://github.com/Linaro/uadk

Test:
sudo dpdk-test --vdev=crypto_uadk (--log-level=6)
RTE>>cryptodev_uadk_autotest
RTE>>quit

Update with v1:
Change uadk_supported_platform to uadk_crypto_version, which matches better
than platform.
enum uadk_crypto_version {
	UADK_CRYPTO_V2,
	UADK_CRYPTO_V3,
};

Update with rfc

Suggested from Akhil Goyal <gakhil@marvell.com>
Only consider crypto PMD first
Split patch into small (individually compiled) patches.
Update MAINTAINERS and doc/guides/cryptodevs/features/uadk.ini

Zhangfei Gao (5):
  test/crypto: add cryptodev_uadk_autotest
  crypto/uadk: introduce uadk crypto driver
  crypto/uadk: support cipher algorithms
  crypto/uadk: support auth algorithms
  doc: Update doc for UADK crypto PMD

 MAINTAINERS                             |    6 +
 app/test/test_cryptodev.c               |    7 +
 app/test/test_cryptodev.h               |    1 +
 doc/guides/cryptodevs/features/uadk.ini |   54 ++
 doc/guides/cryptodevs/index.rst         |    1 +
 doc/guides/cryptodevs/uadk.rst          |   77 ++
 drivers/crypto/meson.build              |    1 +
 drivers/crypto/uadk/meson.build         |   36 +
 drivers/crypto/uadk/uadk_crypto_pmd.c   | 1161 +++++++++++++++++++++++
 drivers/crypto/uadk/version.map         |    3 +
 10 files changed, 1347 insertions(+)
 create mode 100644 doc/guides/cryptodevs/features/uadk.ini
 create mode 100644 doc/guides/cryptodevs/uadk.rst
 create mode 100644 drivers/crypto/uadk/meson.build
 create mode 100644 drivers/crypto/uadk/uadk_crypto_pmd.c
 create mode 100644 drivers/crypto/uadk/version.map