Skip to content

RFC crypto: Intel QAT driver

Tadeusz Struk linux-crypto lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest4 patches 2 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4crypto: Intel QAT driver driver frameworkdrivers/crypto/qat/qat_common/Makefile drivers/crypto/qat/qat_common/adf_accel_devices.h drivers/crypto/qat/qat_common/adf_accel_engine.c +22 more+6408 -00 replies
2/4crypto: QAT FW Loaderdrivers/crypto/qat/qat_common/Makefile drivers/crypto/qat/qat_common/icp_qat_fw_loader_handle.h drivers/crypto/qat/qat_common/icp_qat_hal.h +3 more+3176 -10 replies
3/4crypto: QAT dh895xcc accelerator supportdrivers/crypto/qat/qat_dh895xcc/Makefile drivers/crypto/qat/qat_dh895xcc/adf_admin.c drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c +6 more+1499 -00 replies
4/4crypto: Updated makefiles to add QATDocumentation/ioctl/ioctl-number.txt MAINTAINERS drivers/crypto/Kconfig +2 more+10 -02 replies

Reviews trailers per patch

3 of 4 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchJohn GriffinBruce W. AllanBo Cui
SeriesA-b R-b A-b
1/4A-b R-b
2/4R-b A-b
3/4A-b R-b
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v1 thread

Cover letter [RFC][PATCH 0/4] crypto: Intel QAT driver

Hi,
This patchset adds support for Intel Quick Assist Technology and DH895xxC hardware accelerator.
First patch adds a common infractructure that will be used by all QAT devices.
Second patch adds a firmware loader module that is used to load the microcode to the acceleration engines and start them. Third patch adds dh895xcc hardware specific code, which hooks to the common infrastructure and provides acceleration for the following algorithms:
authenc(hmac(sha1),cbc(aes)), authenc(hmac(sha256),cbc(aes)), authenc(hmac(sha512),cbc(aes))
Forth patch updates makefiles etc.

More info on the hardware accelerator and the Quick Assist can be on:
https://01.org/packet-processing/intel%C2%AE-quickassist-technology-drivers-and-patches

---
 drivers/crypto/Kconfig                                      |    1 +
 drivers/crypto/Makefile                                     |    1 +
 drivers/crypto/qat/qat_common/Makefile                      |   13 +
 drivers/crypto/qat/qat_common/adf_accel_devices.h           |  204 +++++++++++++++
 drivers/crypto/qat/qat_common/adf_accel_engine.c            |  168 ++++++++++++
 drivers/crypto/qat/qat_common/adf_aer.c                     |  258 +++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_cfg.c                     |  359 ++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_cfg.h                     |   87 +++++++
 drivers/crypto/qat/qat_common/adf_cfg_common.h              |  100 ++++++++
 drivers/crypto/qat/qat_common/adf_cfg_strings.h             |   83 ++++++
 drivers/crypto/qat/qat_common/adf_cfg_user.h                |   94 +++++++
 drivers/crypto/qat/qat_common/adf_common_drv.h              |  192 ++++++++++++++
 drivers/crypto/qat/qat_common/adf_ctl_drv.c                 |  490 +++++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_dev_mgr.c                 |  215 ++++++++++++++++
 drivers/crypto/qat/qat_common/adf_init.c                    |  388 ++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_transport.c               |  565 +++++++++++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_transport.h               |   63 +++++
 drivers/crypto/qat/qat_common/adf_transport_access_macros.h |  160 ++++++++++++
 drivers/crypto/qat/qat_common/adf_transport_debug.c         |  301 ++++++++++++++++++++++
 drivers/crypto/qat/qat_common/adf_transport_internal.h      |  115 +++++++++
 drivers/crypto/qat/qat_common/icp_qat_fw.h                  |  316 +++++++++++++++++++++++
 drivers/crypto/qat/qat_common/icp_qat_fw_init_admin.h       |  131 ++++++++++
 drivers/crypto/qat/qat_common/icp_qat_fw_la.h               |  403 +++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/icp_qat_fw_loader_handle.h    |   78 ++++++
 drivers/crypto/qat/qat_common/icp_qat_hal.h                 |  125 +++++++++
 drivers/crypto/qat/qat_common/icp_qat_hw.h                  |  305 ++++++++++++++++++++++
 drivers/crypto/qat/qat_common/icp_qat_uclo.h                |  377 +++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/qat_algs.c                    | 1033 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/qat_crypto.c                  |  284 +++++++++++++++++++++
 drivers/crypto/qat/qat_common/qat_crypto.h                  |   83 ++++++
 drivers/crypto/qat/qat_common/qat_hal.c                     | 1402 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_common/qat_uclo.c                    | 1191 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_dh895xcc/Makefile                    |    8 +
 drivers/crypto/qat/qat_dh895xcc/adf_admin.c                 |  144 +++++++++++
 drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c      |  214 ++++++++++++++++
 drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h      |   86 +++++++
 drivers/crypto/qat/qat_dh895xcc/adf_drv.c                   |  448 ++++++++++++++++++++++++++++++++
 drivers/crypto/qat/qat_dh895xcc/adf_drv.h                   |   67 +++++
 drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c            |  159 ++++++++++++
 drivers/crypto/qat/qat_dh895xcc/adf_isr.c                   |  266 +++++++++++++++++++
 drivers/crypto/qat/qat_dh895xcc/qat_admin.c                 |  107 ++++++++
 firmware/Makefile                                           |    1 +
 44 files changed, 11092 insertions(+)
 create mode 100644 drivers/crypto/qat/qat_common/Makefile
 create mode 100644 drivers/crypto/qat/qat_common/adf_accel_devices.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_accel_engine.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_aer.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_cfg.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_cfg.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_cfg_common.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_cfg_strings.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_cfg_user.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_common_drv.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_ctl_drv.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_dev_mgr.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_init.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_transport.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_transport.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_transport_access_macros.h
 create mode 100644 drivers/crypto/qat/qat_common/adf_transport_debug.c
 create mode 100644 drivers/crypto/qat/qat_common/adf_transport_internal.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_fw.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_fw_init_admin.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_fw_la.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_fw_loader_handle.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_hal.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_hw.h
 create mode 100644 drivers/crypto/qat/qat_common/icp_qat_uclo.h
 create mode 100644 drivers/crypto/qat/qat_common/qat_algs.c
 create mode 100644 drivers/crypto/qat/qat_common/qat_crypto.c
 create mode 100644 drivers/crypto/qat/qat_common/qat_crypto.h
 create mode 100644 drivers/crypto/qat/qat_common/qat_hal.c
 create mode 100644 drivers/crypto/qat/qat_common/qat_uclo.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/Makefile
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_admin.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.h
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_drv.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_drv.h
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_hw_arbiter.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/adf_isr.c
 create mode 100644 drivers/crypto/qat/qat_dh895xcc/qat_admin.c