All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09
@ 2018-09-04 13:59 Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Tomasz Duszynski

This patch series aligns MVSAM PMD with MUSDK 18.09.

Dmitri Epshtein (2):
  doc: update mvsam documentation
  crypto/mvsam: get number of CIOs dynamically

Tomasz Duszynski (1):
  crypto/mvsam: update features list

 doc/guides/cryptodevs/features/mvsam.ini |  12 +++
 doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
 drivers/crypto/mvsam/rte_mrvl_pmd.c      |   6 +-
 3 files changed, 63 insertions(+), 102 deletions(-)

--
2.7.4

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

* [PATCH 1/3] doc: update mvsam documentation
  2018-09-04 13:59 [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Dmitri Epshtein, Tomasz Duszynski

From: Dmitri Epshtein <dima@marvell.com>

Update mvsam documentation.

Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
Signed-off-by: Natalie Samsonov <nsamsono@marvell.com>
---
 doc/guides/cryptodevs/features/mvsam.ini |  10 +++
 doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
 2 files changed, 57 insertions(+), 100 deletions(-)

diff --git a/doc/guides/cryptodevs/features/mvsam.ini b/doc/guides/cryptodevs/features/mvsam.ini
index b7c105a..dd17a4c 100644
--- a/doc/guides/cryptodevs/features/mvsam.ini
+++ b/doc/guides/cryptodevs/features/mvsam.ini
@@ -5,17 +5,22 @@
 [Features]
 Symmetric crypto       = Y
 Sym operation chaining = Y
+HW Accelerated         = Y
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
 ;
 [Cipher]
+NULL           = Y
 AES CBC (128)  = Y
 AES CBC (192)  = Y
 AES CBC (256)  = Y
 AES CTR (128)  = Y
 AES CTR (192)  = Y
 AES CTR (256)  = Y
+AES ECB (128)  = Y
+AES ECB (192)  = Y
+AES ECB (256)  = Y
 3DES CBC       = Y
 3DES CTR       = Y
 
@@ -23,10 +28,13 @@ AES CTR (256)  = Y
 ; Supported authentication algorithms of a default crypto driver.
 ;
 [Auth]
+NULL         = Y
 MD5          = Y
 MD5 HMAC     = Y
 SHA1         = Y
 SHA1 HMAC    = Y
+SHA224       = Y
+SHA224 HMAC  = Y
 SHA256       = Y
 SHA256 HMAC  = Y
 SHA384       = Y
@@ -40,3 +48,5 @@ AES GMAC     = Y
 ;
 [AEAD]
 AES GCM (128) = Y
+AES GCM (192) = Y
+AES GCM (256) = Y
diff --git a/doc/guides/cryptodevs/mvsam.rst b/doc/guides/cryptodevs/mvsam.rst
index fd418c2..7acae19 100644
--- a/doc/guides/cryptodevs/mvsam.rst
+++ b/doc/guides/cryptodevs/mvsam.rst
@@ -37,32 +37,50 @@ support by utilizing MUSDK library, which provides cryptographic operations
 acceleration by using Security Acceleration Engine (EIP197) directly from
 user-space with minimum overhead and high performance.
 
+Detailed information about SoCs that use MVSAM crypto driver can be obtained here:
+
+* https://www.marvell.com/embedded-processors/armada-70xx/
+* https://www.marvell.com/embedded-processors/armada-80xx/
+* https://www.marvell.com/embedded-processors/armada-3700/
+
+
 Features
 --------
 
 MVSAM CRYPTO PMD has support for:
 
-* Symmetric crypto
-* Sym operation chaining
-* AES CBC (128)
-* AES CBC (192)
-* AES CBC (256)
-* AES CTR (128)
-* AES CTR (192)
-* AES CTR (256)
-* 3DES CBC
-* 3DES CTR
-* MD5
-* MD5 HMAC
-* SHA1
-* SHA1 HMAC
-* SHA256
-* SHA256 HMAC
-* SHA384
-* SHA384 HMAC
-* SHA512
-* SHA512 HMAC
-* AES GCM (128)
+Cipher algorithms:
+
+* ``RTE_CRYPTO_CIPHER_NULL``
+* ``RTE_CRYPTO_CIPHER_AES_CBC``
+* ``RTE_CRYPTO_CIPHER_AES_CTR``
+* ``RTE_CRYPTO_CIPHER_AES_ECB``
+* ``RTE_CRYPTO_CIPHER_3DES_CBC``
+* ``RTE_CRYPTO_CIPHER_3DES_CTR``
+* ``RTE_CRYPTO_CIPHER_3DES_ECB``
+
+Hash algorithms:
+
+* ``RTE_CRYPTO_AUTH_NULL``
+* ``RTE_CRYPTO_AUTH_MD5``
+* ``RTE_CRYPTO_AUTH_MD5_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA1``
+* ``RTE_CRYPTO_AUTH_SHA1_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA224``
+* ``RTE_CRYPTO_AUTH_SHA224_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA256``
+* ``RTE_CRYPTO_AUTH_SHA256_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA384``
+* ``RTE_CRYPTO_AUTH_SHA384_HMAC``
+* ``RTE_CRYPTO_AUTH_SHA512``
+* ``RTE_CRYPTO_AUTH_SHA512_HMAC``
+* ``RTE_CRYPTO_AUTH_AES_GMAC``
+
+AEAD algorithms:
+
+* ``RTE_CRYPTO_AEAD_AES_GCM``
+
+For supported feature flags please consult :doc:`overview`.
 
 Limitations
 -----------
@@ -77,25 +95,18 @@ MVSAM CRYPTO PMD driver compilation is disabled by default due to external depen
 Currently there are two driver specific compilation options in
 ``config/common_base`` available:
 
-- ``CONFIG_RTE_LIBRTE_MVSAM_CRYPTO`` (default ``n``)
+- ``CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO`` (default: ``n``)
 
     Toggle compilation of the librte_pmd_mvsam driver.
 
-- ``CONFIG_RTE_LIBRTE_MVSAM_CRYPTO_DEBUG`` (default ``n``)
-
-    Toggle display of debugging messages.
-
-For a list of prerequisites please refer to `Prerequisites` section in
-:ref:`MVPP2 Poll Mode Driver <mvpp2_poll_mode_driver>` guide.
-
 MVSAM CRYPTO PMD requires MUSDK built with EIP197 support thus following
 extra option must be passed to the library configuration script:
 
 .. code-block:: console
 
-   --enable-sam
+   --enable-sam [--enable-sam-statistics] [--enable-sam-debug]
 
-For `crypto_safexcel.ko` module build instructions please refer
+For instructions how to build required kernel modules please refer
 to `doc/musdk_get_started.txt`.
 
 Initialization
@@ -106,17 +117,15 @@ loaded:
 
 .. code-block:: console
 
-   insmod musdk_uio.ko
-   insmod mvpp2x_sysfs.ko
-   insmod mv_pp_uio.ko
+   insmod musdk_cma.ko
+   insmod crypto_safexcel.ko rings=0,0
    insmod mv_sam_uio.ko
-   insmod crypto_safexcel.ko
 
 The following parameters (all optional) are exported by the driver:
 
-* max_nb_queue_pairs: maximum number of queue pairs in the device (8 by default).
-* max_nb_sessions: maximum number of sessions that can be created (2048 by default).
-* socket_id: socket on which to allocate the device resources on.
+- ``max_nb_queue_pairs``: maximum number of queue pairs in the device (default: 8 - A8K, 4 - A7K/A3K).
+- ``max_nb_sessions``: maximum number of sessions that can be created (default: 2048).
+- ``socket_id``: socket on which to allocate the device resources on.
 
 l2fwd-crypto example application can be used to verify MVSAM CRYPTO PMD
 operation:
@@ -129,65 +138,3 @@ operation:
      --auth_op GENERATE --auth_algo sha1-hmac \
      --auth_key 10:11:12:13:14:15:16:17:18:19:1a:1b:1c:1d:1e:1f
 
-Example output:
-
-.. code-block:: console
-
-   [...]
-   AAD: at [0x7f253ceb80], len=
-   P ID 0 configuration ----
-   Port mode               : KR
-   MAC status              : disabled
-   Link status             : link up
-   Port speed              : 10G
-   Port duplex             : full
-   Port: Egress enable tx_port_num=16 qmap=0x1
-   PORT: Port0 - link
-   P ID 0 configuration ----
-   Port mode               : KR
-   MAC status              : disabled
-   Link status             : link down
-   Port speed              : 10G
-   Port duplex             : full
-   Port: Egress enable tx_port_num=16 qmap=0x1
-   Port 0, MAC address: 00:50:43:02:21:20
-
-
-   Checking link statusdone
-   Port 0 Link Up - speed 0 Mbps - full-duplex
-   Lcore 0: RX port 0
-   Allocated session pool on socket 0
-   eip197: 0:0 registers: paddr: 0xf2880000, vaddr: 0x0x7f56a80000
-   DMA buffer (131136 bytes) for CDR #0 allocated: paddr = 0xb0585e00, vaddr = 0x7f09384e00
-   DMA buffer (131136 bytes) for RDR #0 allocated: paddr = 0xb05a5f00, vaddr = 0x7f093a4f00
-   DMA buffers allocated for 2049 operations. Tokens - 256 bytes
-   Lcore 0: cryptodev 0
-   L2FWD: lcore 1 has nothing to do
-   L2FWD: lcore 2 has nothing to do
-   L2FWD: lcore 3 has nothing to do
-   L2FWD: entering main loop on lcore 0
-   L2FWD:  -- lcoreid=0 portid=0
-   L2FWD:  -- lcoreid=0 cryptoid=0
-   Options:-
-   nportmask: ffffffff
-   ports per lcore: 1
-   refresh period : 10000
-   single lcore mode: disabled
-   stats_printing: enabled
-   sessionless crypto: disabled
-
-   Crypto chain: Input --> Encrypt --> Auth generate --> Output
-
-   ---- Cipher information ---
-   Algorithm: aes-cbc
-   Cipher key: at [0x7f56db4e80], len=16
-   00000000: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ................
-   IV: at [0x7f56db4b80], len=16
-   00000000: 20 F0 63 0E 45 EB 2D 84 72 D4 13 6E 36 B5 AF FE |  .c.E.-.r..n6...
-
-   ---- Authentication information ---
-   Algorithm: sha1-hmac
-   Auth key: at [0x7f56db4d80], len=16
-   00000000: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | ................
-   IV: at [0x7f56db4a80], len=0
-   AAD: at [0x7f253ceb80], len=
-- 
2.7.4

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

* [PATCH 2/3] crypto/mvsam: update features list
  2018-09-04 13:59 [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
  2018-10-01 13:24 ` [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal
  3 siblings, 0 replies; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Tomasz Duszynski

Add following features to the device's features list
and update documentation accordingly:
* OOP SGL in LB out
* OOP LB in LB out

Signed-off-by: Tomasz Duszynski <tdu@semihalf.com>
---
 doc/guides/cryptodevs/features/mvsam.ini | 2 ++
 drivers/crypto/mvsam/rte_mrvl_pmd.c      | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/doc/guides/cryptodevs/features/mvsam.ini b/doc/guides/cryptodevs/features/mvsam.ini
index dd17a4c..0cc90a5 100644
--- a/doc/guides/cryptodevs/features/mvsam.ini
+++ b/doc/guides/cryptodevs/features/mvsam.ini
@@ -6,6 +6,8 @@
 Symmetric crypto       = Y
 Sym operation chaining = Y
 HW Accelerated         = Y
+OOP SGL In LB  Out     = Y
+OOP LB  In LB  Out     = Y
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 73eff75..21c3a95 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -729,7 +729,9 @@ cryptodev_mrvl_crypto_create(const char *name,
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
 			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
-			RTE_CRYPTODEV_FF_HW_ACCELERATED;
+			RTE_CRYPTODEV_FF_HW_ACCELERATED |
+			RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT |
+			RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT;
 
 	/* Set vector instructions mode supported */
 	internals = dev->data->dev_private;
-- 
2.7.4

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

* [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically
  2018-09-04 13:59 [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
  2018-09-04 13:59 ` [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
@ 2018-09-04 13:59 ` Tomasz Duszynski
  2018-09-25 11:18   ` Akhil Goyal
  2018-10-01 13:24 ` [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal
  3 siblings, 1 reply; 6+ messages in thread
From: Tomasz Duszynski @ 2018-09-04 13:59 UTC (permalink / raw)
  To: dev; +Cc: nsamsono, mw, Dmitri Epshtein

From: Dmitri Epshtein <dima@marvell.com>

MUSDK 18.09 introduced API for getting CIOs number dynamically.
Use that instead of predefined constant.

Signed-off-by: Dmitri Epshtein <dima@marvell.com>
Reviewed-by: Natalie Samsonov <nsamsono@marvell.com>
Tested-by: Natalie Samsonov <nsamsono@marvell.com>
---
 drivers/crypto/mvsam/rte_mrvl_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
index 21c3a95..9a85fd9 100644
--- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
+++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
@@ -866,7 +866,7 @@ cryptodev_mrvl_crypto_init(struct rte_vdev_device *vdev)
 			.private_data_size =
 				sizeof(struct mrvl_crypto_private),
 			.max_nb_queue_pairs =
-				sam_get_num_inst() * SAM_HW_RING_NUM,
+				sam_get_num_inst() * sam_get_num_cios(0),
 			.socket_id = rte_socket_id()
 		},
 		.max_nb_sessions = MRVL_PMD_DEFAULT_MAX_NB_SESSIONS
-- 
2.7.4

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

* Re: [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically
  2018-09-04 13:59 ` [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
@ 2018-09-25 11:18   ` Akhil Goyal
  0 siblings, 0 replies; 6+ messages in thread
From: Akhil Goyal @ 2018-09-25 11:18 UTC (permalink / raw)
  To: Tomasz Duszynski, dev; +Cc: nsamsono, mw, Dmitri Epshtein

Hi,

On 9/4/2018 7:29 PM, Tomasz Duszynski wrote:
> From: Dmitri Epshtein <dima@marvell.com>
>
> MUSDK 18.09 introduced API for getting CIOs number dynamically.
> Use that instead of predefined constant.
>
> Signed-off-by: Dmitri Epshtein <dima@marvell.com>
> Reviewed-by: Natalie Samsonov <nsamsono@marvell.com>
> Tested-by: Natalie Samsonov <nsamsono@marvell.com>
> ---
>   drivers/crypto/mvsam/rte_mrvl_pmd.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/mvsam/rte_mrvl_pmd.c b/drivers/crypto/mvsam/rte_mrvl_pmd.c
> index 21c3a95..9a85fd9 100644
> --- a/drivers/crypto/mvsam/rte_mrvl_pmd.c
> +++ b/drivers/crypto/mvsam/rte_mrvl_pmd.c
> @@ -866,7 +866,7 @@ cryptodev_mrvl_crypto_init(struct rte_vdev_device *vdev)
>   			.private_data_size =
>   				sizeof(struct mrvl_crypto_private),
>   			.max_nb_queue_pairs =
> -				sam_get_num_inst() * SAM_HW_RING_NUM,
> +				sam_get_num_inst() * sam_get_num_cios(0),
>   			.socket_id = rte_socket_id()
>   		},
>   		.max_nb_sessions = MRVL_PMD_DEFAULT_MAX_NB_SESSIONS
This patch can be picked by net-next. So marking this patch as 
superseded, I think a copy is already sent in
[PATCH v3 00/13] net/mvpp2: add new features

Thanks,
Akhil

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

* Re: [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09
  2018-09-04 13:59 [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
                   ` (2 preceding siblings ...)
  2018-09-04 13:59 ` [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
@ 2018-10-01 13:24 ` Akhil Goyal
  3 siblings, 0 replies; 6+ messages in thread
From: Akhil Goyal @ 2018-10-01 13:24 UTC (permalink / raw)
  To: Tomasz Duszynski, dev; +Cc: nsamsono, mw



On 9/4/2018 7:29 PM, Tomasz Duszynski wrote:
> This patch series aligns MVSAM PMD with MUSDK 18.09.
>
> Dmitri Epshtein (2):
>    doc: update mvsam documentation
>    crypto/mvsam: get number of CIOs dynamically
>
> Tomasz Duszynski (1):
>    crypto/mvsam: update features list
>
>   doc/guides/cryptodevs/features/mvsam.ini |  12 +++
>   doc/guides/cryptodevs/mvsam.rst          | 147 ++++++++++---------------------
>   drivers/crypto/mvsam/rte_mrvl_pmd.c      |   6 +-
>   3 files changed, 63 insertions(+), 102 deletions(-)
>
> --
> 2.7.4
>
Patch 1/3 and 2/3 applied to dpdk-next-crypto

Thanks

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

end of thread, other threads:[~2018-10-01 13:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-04 13:59 [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Tomasz Duszynski
2018-09-04 13:59 ` [PATCH 1/3] doc: update mvsam documentation Tomasz Duszynski
2018-09-04 13:59 ` [PATCH 2/3] crypto/mvsam: update features list Tomasz Duszynski
2018-09-04 13:59 ` [PATCH 3/3] crypto/mvsam: get number of CIOs dynamically Tomasz Duszynski
2018-09-25 11:18   ` Akhil Goyal
2018-10-01 13:24 ` [PATCH 0/3] crypto/mvsam: align with MUSDK 18.09 Akhil Goyal

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.