From: George Cherian <george.cherian@xxxxxxxxxx> This series adds the support for Cavium Cryptographic Accelerarion Unit (CPT) CPT is available in Cavium's Octeon-Tx SoC series. The series was tested with ecryptfs and dm-crypt for in kernel cryptographic offload operations. This driver needs a firmware to work, I will be sending the firmware to linux-firmware once the driver is accepted. Changes v2 -> v3 -- Addressed David Daney's comments - There is not much difference in performance readq/writeq vs readq_relaxed/writeq_relaxed, so switching to readq/writeq variant. - Removed the useless bitfield definitions. - Use GENMASK,dev_to_node() instead of custome functions. - Use module_pci_driver instead of module_init/exit. Changes v1 -> v2 -- Addressed a crash issue when more gather components are passed. -- Redo the cptvf request manager. - Get rid of the un necessary buffer copies. -- s/uint*_t/u* -- Remove unwanted Macro definitions -- Remove the redundant ROUNDUP* macros and use kernel function -- Select proper config option in Kconfig file. -- Removed some of the unwanted header file inclusions -- Miscellaneous Cleanup George Cherian (3): drivers: crypto: Add Support for Octeon-tx CPT Engine drivers: crypto: Add the Virtual Function driver for CPT drivers: crypto: Enable CPT options crypto for build drivers/crypto/Kconfig | 1 + drivers/crypto/Makefile | 1 + drivers/crypto/cavium/cpt/Kconfig | 16 + drivers/crypto/cavium/cpt/Makefile | 3 + drivers/crypto/cavium/cpt/cpt_common.h | 158 +++++ drivers/crypto/cavium/cpt/cpt_hw_types.h | 658 +++++++++++++++++++ drivers/crypto/cavium/cpt/cptpf.h | 69 ++ drivers/crypto/cavium/cpt/cptpf_main.c | 703 ++++++++++++++++++++ drivers/crypto/cavium/cpt/cptpf_mbox.c | 163 +++++ drivers/crypto/cavium/cpt/cptvf.h | 135 ++++ drivers/crypto/cavium/cpt/cptvf_algs.c | 424 ++++++++++++ drivers/crypto/cavium/cpt/cptvf_algs.h | 110 ++++ drivers/crypto/cavium/cpt/cptvf_main.c | 945 +++++++++++++++++++++++++++ drivers/crypto/cavium/cpt/cptvf_mbox.c | 205 ++++++ drivers/crypto/cavium/cpt/cptvf_reqmanager.c | 581 ++++++++++++++++ drivers/crypto/cavium/cpt/request_manager.h | 147 +++++ 16 files changed, 4319 insertions(+) create mode 100644 drivers/crypto/cavium/cpt/Kconfig create mode 100644 drivers/crypto/cavium/cpt/Makefile create mode 100644 drivers/crypto/cavium/cpt/cpt_common.h create mode 100644 drivers/crypto/cavium/cpt/cpt_hw_types.h create mode 100644 drivers/crypto/cavium/cpt/cptpf.h create mode 100644 drivers/crypto/cavium/cpt/cptpf_main.c create mode 100644 drivers/crypto/cavium/cpt/cptpf_mbox.c create mode 100644 drivers/crypto/cavium/cpt/cptvf.h create mode 100644 drivers/crypto/cavium/cpt/cptvf_algs.c create mode 100644 drivers/crypto/cavium/cpt/cptvf_algs.h create mode 100644 drivers/crypto/cavium/cpt/cptvf_main.c create mode 100644 drivers/crypto/cavium/cpt/cptvf_mbox.c create mode 100644 drivers/crypto/cavium/cpt/cptvf_reqmanager.c create mode 100644 drivers/crypto/cavium/cpt/request_manager.h -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html