All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9,net-next,00/12] Add Support for Marvell OcteonTX2 Cryptographic Acceleration Unit
@ 2020-11-09 12:09 Srujana Challa
  2020-11-09 12:09 ` [PATCH v9,net-next,01/12] octeontx2-pf: move lmt flush to include/linux/soc Srujana Challa
                   ` (11 more replies)
  0 siblings, 12 replies; 22+ messages in thread
From: Srujana Challa @ 2020-11-09 12:09 UTC (permalink / raw)
  To: herbert, davem
  Cc: netdev, linux-crypto, kuba, sgoutham, gakula, sbhatta, schandran,
	pathreya, Srujana Challa

This series introduces crypto(CPT) drivers(PF & VF) for Marvell OcteonTX2
CN96XX Soc.

OcteonTX2 SOC's resource virtualization unit (RVU) supports multiple
physical and virtual functions. Each of the PF/VF's functionality is
determined by what kind of resources are attached to it. When the CPT
block is attached to a VF, it can function as a security device.
The following document provides an overview of the hardware and
different drivers for the OcteonTX2 SOC: 
https://www.kernel.org/doc/Documentation/networking/device_drivers/marvell/octeontx2.rst

The CPT PF driver is responsible for:
- Forwarding messages to/from VFs from/to admin function(AF),
- Enabling/disabling VFs,
- Loading/unloading microcode (creation/deletion of engine groups).

The CPT VF driver works as a crypto offload device.

This patch series includes:
- Patch to update existing Marvell sources to support the CPT driver.
- Patch that adds mailbox messages to the admin function (AF) driver,
to configure CPT HW registers.
- CPT PF driver patches that include AF<=>PF<=>VF mailbox communication,
sriov_configure, and firmware load to the acceleration engines.
- CPT VF driver patches that include VF<=>PF mailbox communication and
crypto offload support through the kernel cryptographic API.

This series is tested with CRYPTO_EXTRA_TESTS enabled and
CRYPTO_DISABLE_TESTS disabled.

Changes since v8:
 * Load firmware files individually instead of tar.
Changes since v7:
 * Removed writable entries in debugfs.
 * Dropped IPsec support.
Changes since v6:
 * Removed driver version.
Changes since v4:
 * Rebased the patches onto net-next tree with base
   'commit bc081a693a56 ("Merge branch 'Offload-tc-vlan-mangle-to-mscc_ocelot-switch'")' 
Changes since v3:
 * Splitup the patches into smaller patches with more informartion.
Changes since v2:
 * Fixed C=1 warnings.
 * Added code to exit CPT VF driver gracefully.
 * Moved OcteonTx2 asm code to a header file under include/linux/soc/
Changes since v1:
 * Moved Makefile changes from patch4 to patch2 and patch3.

Srujana Challa (12):
  octeontx2-pf: move lmt flush to include/linux/soc
  octeontx2-af: add mailbox interface for CPT
  octeontx2-af: add debugfs entries for CPT block
  drivers: crypto: add Marvell OcteonTX2 CPT PF driver
  crypto: octeontx2: add mailbox communication with AF
  crypto: octeontx2: enable SR-IOV and mailbox communication with VF
  crypto: octeontx2: load microcode and create engine groups
  crypto: octeontx2: add LF framework
  crypto: octeontx2: add support to get engine capabilities
  crypto: octeontx2: add virtual function driver support
  crypto: octeontx2: add support to process the crypto request
  crypto: octeontx2: register with linux crypto framework

 MAINTAINERS                                   |    2 +
 drivers/crypto/marvell/Kconfig                |   14 +
 drivers/crypto/marvell/Makefile               |    1 +
 drivers/crypto/marvell/octeontx2/Makefile     |   10 +
 .../marvell/octeontx2/otx2_cpt_common.h       |  123 ++
 .../marvell/octeontx2/otx2_cpt_hw_types.h     |  464 +++++
 .../marvell/octeontx2/otx2_cpt_mbox_common.c  |  202 ++
 .../marvell/octeontx2/otx2_cpt_reqmgr.h       |  197 ++
 drivers/crypto/marvell/octeontx2/otx2_cptlf.c |  429 +++++
 drivers/crypto/marvell/octeontx2/otx2_cptlf.h |  352 ++++
 drivers/crypto/marvell/octeontx2/otx2_cptpf.h |   52 +
 .../marvell/octeontx2/otx2_cptpf_main.c       |  574 ++++++
 .../marvell/octeontx2/otx2_cptpf_mbox.c       |  331 ++++
 .../marvell/octeontx2/otx2_cptpf_ucode.c      | 1415 ++++++++++++++
 .../marvell/octeontx2/otx2_cptpf_ucode.h      |  162 ++
 drivers/crypto/marvell/octeontx2/otx2_cptvf.h |   28 +
 .../marvell/octeontx2/otx2_cptvf_algs.c       | 1664 +++++++++++++++++
 .../marvell/octeontx2/otx2_cptvf_algs.h       |  170 ++
 .../marvell/octeontx2/otx2_cptvf_main.c       |  405 ++++
 .../marvell/octeontx2/otx2_cptvf_mbox.c       |  139 ++
 .../marvell/octeontx2/otx2_cptvf_reqmgr.c     |  541 ++++++
 .../ethernet/marvell/octeontx2/af/Makefile    |    3 +-
 .../net/ethernet/marvell/octeontx2/af/mbox.h  |   33 +
 .../net/ethernet/marvell/octeontx2/af/rvu.h   |    1 +
 .../ethernet/marvell/octeontx2/af/rvu_cpt.c   |  233 +++
 .../marvell/octeontx2/af/rvu_debugfs.c        |  272 +++
 .../ethernet/marvell/octeontx2/af/rvu_reg.h   |   63 +-
 .../marvell/octeontx2/nic/otx2_common.h       |   13 +-
 include/linux/soc/marvell/octeontx2/asm.h     |   29 +
 29 files changed, 7903 insertions(+), 19 deletions(-)
 create mode 100644 drivers/crypto/marvell/octeontx2/Makefile
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cpt_common.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cpt_hw_types.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cpt_reqmgr.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptlf.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptlf.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptpf.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptpf_mbox.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptpf_ucode.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf_algs.h
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf_mbox.c
 create mode 100644 drivers/crypto/marvell/octeontx2/otx2_cptvf_reqmgr.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_cpt.c
 create mode 100644 include/linux/soc/marvell/octeontx2/asm.h

-- 
2.28.0


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2020-11-17 16:58 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09 12:09 [PATCH v9,net-next,00/12] Add Support for Marvell OcteonTX2 Cryptographic Acceleration Unit Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,01/12] octeontx2-pf: move lmt flush to include/linux/soc Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,02/12] octeontx2-af: add mailbox interface for CPT Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,03/12] octeontx2-af: add debugfs entries for CPT block Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,04/12] drivers: crypto: add Marvell OcteonTX2 CPT PF driver Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,05/12] crypto: octeontx2: add mailbox communication with AF Srujana Challa
2020-11-11 23:54   ` Jakub Kicinski
2020-11-12  7:07     ` [EXT] " Srujana Challa
2020-11-12 15:51       ` Jakub Kicinski
2020-11-09 12:09 ` [PATCH v9,net-next,06/12] crypto: octeontx2: enable SR-IOV and mailbox communication with VF Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,07/12] crypto: octeontx2: load microcode and create engine groups Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,08/12] crypto: octeontx2: add LF framework Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,09/12] crypto: octeontx2: add support to get engine capabilities Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,10/12] crypto: octeontx2: add virtual function driver support Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,11/12] crypto: octeontx2: add support to process the crypto request Srujana Challa
2020-11-09 12:09 ` [PATCH v9,net-next,12/12] crypto: octeontx2: register with linux crypto framework Srujana Challa
2020-11-12  0:10   ` Jakub Kicinski
2020-11-13  3:16     ` Herbert Xu
2020-11-13 16:44       ` Jakub Kicinski
2020-11-16  6:26         ` Herbert Xu
2020-11-17  7:59           ` Srujana Challa
2020-11-17 16:58             ` Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.