Hi, This patchset contains support for Crypto offload on Broadcom’s Stingray/Stingray2 SoCs having FlexSparc unit. BCMFS is an acronym for Broadcom FlexSparc device used in the patchest.
The patchset progressively adds major modules as below. a) Detection of platform-device based on the known registered platforms and attaching with VFIO. b) Creation of Cryptodevice. c) Addition of session handling. d) Add Cryptodevice into test Cryptodev framework. The patchset has been tested on the above mentioned SoCs. Regards, Vikas Changes from v0->v1: Updated the ABI version in file .../crypto/bcmfs/rte_pmd_bcmfs_version.map Changes from v1->v2: - Fix compilation errors and coding style warnings. - Use global test crypto suite suggested by Adam Dybkowski Changes from v2->v3: - Release notes updated. - bcmfs.rst updated with missing information about installation. - Review comments from patch1 from v2 addressed. - Updated description about dependency of PMD driver on VFIO_PRESENT. - Fixed typo in bcmfs_hw_defs.h (comments on patch3 from v2 addressed) - Comments on patch6 from v2 addressed and capability list is fixed. Removed redundant enums and macros from the file bcmfs_sym_defs.h and updated other impacted APIs accordingly. patch7 too is updated due to removal of redundancy. Thanks! to Akhil for pointing out the redundancy. - Fix minor code style issues in few files as part of review. Changes from v3->v4: - Code style issues fixed. - Change of barrier API in bcmfs4_rm.c and bcmfs5_rm.c Changes from v4->v5: - Change of barrier API in bcmfs4_rm.c. Missed one in v4 Vikas Gupta (8): crypto/bcmfs: add BCMFS driver crypto/bcmfs: add vfio support crypto/bcmfs: add queue pair management API crypto/bcmfs: add HW queue pair operations crypto/bcmfs: create a symmetric cryptodev crypto/bcmfs: add session handling and capabilities crypto/bcmfs: add crypto HW module crypto/bcmfs: add crypto pmd into cryptodev test MAINTAINERS | 7 + app/test/test_cryptodev.c | 17 + app/test/test_cryptodev.h | 1 + doc/guides/cryptodevs/bcmfs.rst | 109 ++ doc/guides/cryptodevs/features/bcmfs.ini | 56 + doc/guides/cryptodevs/index.rst | 1 + doc/guides/rel_notes/release_20_11.rst | 5 + drivers/crypto/bcmfs/bcmfs_dev_msg.h | 29 + drivers/crypto/bcmfs/bcmfs_device.c | 332 +++++ drivers/crypto/bcmfs/bcmfs_device.h | 76 ++ drivers/crypto/bcmfs/bcmfs_hw_defs.h | 32 + drivers/crypto/bcmfs/bcmfs_logs.c | 38 + drivers/crypto/bcmfs/bcmfs_logs.h | 34 + drivers/crypto/bcmfs/bcmfs_qp.c | 383 ++++++ drivers/crypto/bcmfs/bcmfs_qp.h | 142 ++ drivers/crypto/bcmfs/bcmfs_sym.c | 289 +++++ drivers/crypto/bcmfs/bcmfs_sym_capabilities.c | 764 +++++++++++ drivers/crypto/bcmfs/bcmfs_sym_capabilities.h | 16 + drivers/crypto/bcmfs/bcmfs_sym_defs.h | 34 + drivers/crypto/bcmfs/bcmfs_sym_engine.c | 1155 +++++++++++++++++ drivers/crypto/bcmfs/bcmfs_sym_engine.h | 115 ++ drivers/crypto/bcmfs/bcmfs_sym_pmd.c | 426 ++++++ drivers/crypto/bcmfs/bcmfs_sym_pmd.h | 38 + drivers/crypto/bcmfs/bcmfs_sym_req.h | 62 + drivers/crypto/bcmfs/bcmfs_sym_session.c | 282 ++++ drivers/crypto/bcmfs/bcmfs_sym_session.h | 109 ++ drivers/crypto/bcmfs/bcmfs_vfio.c | 107 ++ drivers/crypto/bcmfs/bcmfs_vfio.h | 17 + drivers/crypto/bcmfs/hw/bcmfs4_rm.c | 743 +++++++++++ drivers/crypto/bcmfs/hw/bcmfs5_rm.c | 677 ++++++++++ drivers/crypto/bcmfs/hw/bcmfs_rm_common.c | 82 ++ drivers/crypto/bcmfs/hw/bcmfs_rm_common.h | 51 + drivers/crypto/bcmfs/meson.build | 20 + .../crypto/bcmfs/rte_pmd_bcmfs_version.map | 3 + drivers/crypto/meson.build | 1 + 35 files changed, 6253 insertions(+) create mode 100644 doc/guides/cryptodevs/bcmfs.rst create mode 100644 doc/guides/cryptodevs/features/bcmfs.ini create mode 100644 drivers/crypto/bcmfs/bcmfs_dev_msg.h create mode 100644 drivers/crypto/bcmfs/bcmfs_device.c create mode 100644 drivers/crypto/bcmfs/bcmfs_device.h create mode 100644 drivers/crypto/bcmfs/bcmfs_hw_defs.h create mode 100644 drivers/crypto/bcmfs/bcmfs_logs.c create mode 100644 drivers/crypto/bcmfs/bcmfs_logs.h create mode 100644 drivers/crypto/bcmfs/bcmfs_qp.c create mode 100644 drivers/crypto/bcmfs/bcmfs_qp.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym.c create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_capabilities.c create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_capabilities.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_defs.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_engine.c create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_engine.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_pmd.c create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_pmd.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_req.h create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_session.c create mode 100644 drivers/crypto/bcmfs/bcmfs_sym_session.h create mode 100644 drivers/crypto/bcmfs/bcmfs_vfio.c create mode 100644 drivers/crypto/bcmfs/bcmfs_vfio.h create mode 100644 drivers/crypto/bcmfs/hw/bcmfs4_rm.c create mode 100644 drivers/crypto/bcmfs/hw/bcmfs5_rm.c create mode 100644 drivers/crypto/bcmfs/hw/bcmfs_rm_common.c create mode 100644 drivers/crypto/bcmfs/hw/bcmfs_rm_common.h create mode 100644 drivers/crypto/bcmfs/meson.build create mode 100644 drivers/crypto/bcmfs/rte_pmd_bcmfs_version.map -- 2.17.1