DPDK patches and discussions
 help / color / mirror / Atom feed
From: Akhil Goyal <akhil.goyal@nxp.com>
To: dev@dpdk.org
Cc: Ruifeng.Wang@arm.com, declan.doherty@intel.com, asomalap@amd.com,
	anoobj@marvell.com, roy.fan.zhang@intel.com,
	fiona.trahe@intel.com, rnagadheeraj@marvell.com,
	adwivedi@marvell.com, G.Singh@nxp.com, hemant.agrawal@nxp.com,
	jianjay.zhou@huawei.com, pablo.de.lara.guarch@intel.com,
	adamx.dybkowski@intel.com, apeksha.gupta@nxp.com,
	Akhil Goyal <akhil.goyal@nxp.com>
Subject: [dpdk-dev] [PATCH v2 1/9] cryptodev: add feature flag for non-byte aligned data
Date: Sun, 10 May 2020 04:42:09 +0530
Message-ID: <20200509231217.8219-2-akhil.goyal@nxp.com> (raw)
In-Reply-To: <20200509231217.8219-1-akhil.goyal@nxp.com>

Some wireless algos like SNOW, ZUC may support input
data in bits which are not byte aligned. However, not
all PMDs can support this requirement. Hence added a
new feature flag RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA
to identify which all PMDs can support non-byte aligned
data.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
Acked-by: Fiona Trahe <fiona.trahe@intel.com>
---
 doc/guides/cryptodevs/features/default.ini | 1 +
 doc/guides/cryptodevs/features/kasumi.ini  | 1 +
 doc/guides/cryptodevs/features/snow3g.ini  | 1 +
 doc/guides/cryptodevs/features/zuc.ini     | 1 +
 drivers/crypto/kasumi/rte_kasumi_pmd.c     | 1 +
 drivers/crypto/snow3g/rte_snow3g_pmd.c     | 1 +
 drivers/crypto/zuc/rte_zuc_pmd.c           | 1 +
 lib/librte_cryptodev/rte_cryptodev.c       | 2 ++
 lib/librte_cryptodev/rte_cryptodev.h       | 2 ++
 9 files changed, 11 insertions(+)

diff --git a/doc/guides/cryptodevs/features/default.ini b/doc/guides/cryptodevs/features/default.ini
index 118479db5..fb1ddca71 100644
--- a/doc/guides/cryptodevs/features/default.ini
+++ b/doc/guides/cryptodevs/features/default.ini
@@ -29,6 +29,7 @@ Digest encrypted       =
 Asymmetric sessionless =
 CPU crypto             =
 Symmetric sessionless  =
+Non-Byte aligned data  =
 
 ;
 ; Supported crypto algorithms of a default crypto driver.
diff --git a/doc/guides/cryptodevs/features/kasumi.ini b/doc/guides/cryptodevs/features/kasumi.ini
index 99ded0401..8380a5765 100644
--- a/doc/guides/cryptodevs/features/kasumi.ini
+++ b/doc/guides/cryptodevs/features/kasumi.ini
@@ -7,6 +7,7 @@
 Symmetric crypto       = Y
 Sym operation chaining = Y
 Symmetric sessionless  = Y
+Non-Byte aligned data  = Y
 
 ;
 ; Supported crypto algorithms of the 'kasumi' crypto driver.
diff --git a/doc/guides/cryptodevs/features/snow3g.ini b/doc/guides/cryptodevs/features/snow3g.ini
index 8b971cc1d..b2caefe3a 100644
--- a/doc/guides/cryptodevs/features/snow3g.ini
+++ b/doc/guides/cryptodevs/features/snow3g.ini
@@ -7,6 +7,7 @@
 Symmetric crypto       = Y
 Sym operation chaining = Y
 Symmetric sessionless  = Y
+Non-Byte aligned data  = Y
 
 ;
 ; Supported crypto algorithms of the 'snow3g' crypto driver.
diff --git a/doc/guides/cryptodevs/features/zuc.ini b/doc/guides/cryptodevs/features/zuc.ini
index f7bff4291..21d074f9b 100644
--- a/doc/guides/cryptodevs/features/zuc.ini
+++ b/doc/guides/cryptodevs/features/zuc.ini
@@ -7,6 +7,7 @@
 Symmetric crypto       = Y
 Sym operation chaining = Y
 Symmetric sessionless  = Y
+Non-Byte aligned data  = Y
 
 ;
 ; Supported crypto algorithms of the 'zuc' crypto driver.
diff --git a/drivers/crypto/kasumi/rte_kasumi_pmd.c b/drivers/crypto/kasumi/rte_kasumi_pmd.c
index a20921249..73077e3d9 100644
--- a/drivers/crypto/kasumi/rte_kasumi_pmd.c
+++ b/drivers/crypto/kasumi/rte_kasumi_pmd.c
@@ -551,6 +551,7 @@ cryptodev_kasumi_create(const char *name,
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
 			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+			RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
 			RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
 
 	mgr = alloc_mb_mgr(0);
diff --git a/drivers/crypto/snow3g/rte_snow3g_pmd.c b/drivers/crypto/snow3g/rte_snow3g_pmd.c
index 8e82dde55..c939064d5 100644
--- a/drivers/crypto/snow3g/rte_snow3g_pmd.c
+++ b/drivers/crypto/snow3g/rte_snow3g_pmd.c
@@ -563,6 +563,7 @@ cryptodev_snow3g_create(const char *name,
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
 			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+			RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
 			RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
 
 	mgr = alloc_mb_mgr(0);
diff --git a/drivers/crypto/zuc/rte_zuc_pmd.c b/drivers/crypto/zuc/rte_zuc_pmd.c
index 17926b471..459881873 100644
--- a/drivers/crypto/zuc/rte_zuc_pmd.c
+++ b/drivers/crypto/zuc/rte_zuc_pmd.c
@@ -470,6 +470,7 @@ cryptodev_zuc_create(const char *name,
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
 			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+			RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA |
 			RTE_CRYPTODEV_FF_SYM_SESSIONLESS;
 
 	mb_mgr = alloc_mb_mgr(0);
diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index 7693eb69c..f30e3cbff 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -500,6 +500,8 @@ rte_cryptodev_get_feature_name(uint64_t flag)
 		return "ASYM_SESSIONLESS";
 	case RTE_CRYPTODEV_FF_SYM_SESSIONLESS:
 		return "SYM_SESSIONLESS";
+	case RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA:
+		return "NON_BYTE_ALIGNED_DATA";
 	default:
 		return NULL;
 	}
diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h
index 3dbb5ceb2..257840ea4 100644
--- a/lib/librte_cryptodev/rte_cryptodev.h
+++ b/lib/librte_cryptodev/rte_cryptodev.h
@@ -456,6 +456,8 @@ rte_cryptodev_asym_get_xform_enum(enum rte_crypto_asym_xform_type *xform_enum,
 /**< Support symmetric cpu-crypto processing */
 #define RTE_CRYPTODEV_FF_SYM_SESSIONLESS		(1ULL << 22)
 /**< Support symmetric session-less operations */
+#define RTE_CRYPTODEV_FF_NON_BYTE_ALIGNED_DATA		(1ULL << 23)
+/**< Support operations on data which is not byte aligned */
 
 
 /**
-- 
2.17.1


  reply	other threads:[~2020-05-09 23:33 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-04 21:58 [dpdk-dev] [PATCH 0/9] test/crypto: code cleanup Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 1/9] cryptodev: add feature flag for non-byte aligned data Akhil Goyal
2020-05-05  9:57   ` Trahe, Fiona
2020-05-05 10:12     ` Akhil Goyal
2020-05-05 12:04       ` Trahe, Fiona
2020-05-04 21:58 ` [dpdk-dev] [PATCH 2/9] test/crypto: skip unsupported non-byte aligned cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 3/9] test/crypto: skip unsupported SG cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 4/9] test/crypto: skip unsupported sessionless cases Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 5/9] test/crypto: skip unsupported session Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 6/9] test/crypto: run PDCP cases if supported Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 7/9] test/crypto: remove dpaaX_sec specific testsuites Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 8/9] test/crypto: remove QAT specific check Akhil Goyal
2020-05-04 21:58 ` [dpdk-dev] [PATCH 9/9] test/crypto: remove unused variable Akhil Goyal
2020-05-05 14:11 ` [dpdk-dev] [PATCH 0/9] test/crypto: code cleanup Dybkowski, AdamX
2020-05-08  8:55 ` Ruifeng Wang
2020-05-09 23:57   ` Akhil Goyal
2020-05-09 23:12 ` [dpdk-dev] [PATCH v2 " Akhil Goyal
2020-05-09 23:12   ` Akhil Goyal [this message]
2020-05-11  9:29     ` [dpdk-dev] [PATCH v2 1/9] cryptodev: add feature flag for non-byte aligned data Dybkowski, AdamX
2020-05-11 10:10       ` Akhil Goyal
2020-05-11  9:54     ` De Lara Guarch, Pablo
2020-05-11 10:05       ` Akhil Goyal
2020-05-11 14:40         ` De Lara Guarch, Pablo
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 2/9] test/crypto: skip unsupported non-byte aligned cases Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 3/9] test/crypto: skip unsupported SG cases Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 4/9] test/crypto: skip unsupported sessionless cases Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 5/9] test/crypto: skip unsupported session Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 6/9] test/crypto: run PDCP cases if supported Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 7/9] test/crypto: remove dpaaX_sec specific testsuites Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 8/9] test/crypto: remove QAT specific check Akhil Goyal
2020-05-09 23:12   ` [dpdk-dev] [PATCH v2 9/9] test/crypto: remove unused variable Akhil Goyal
2020-05-11  8:39   ` [dpdk-dev] [EXT] [PATCH v2 0/9] test/crypto: code cleanup Anoob Joseph

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200509231217.8219-2-akhil.goyal@nxp.com \
    --to=akhil.goyal@nxp.com \
    --cc=G.Singh@nxp.com \
    --cc=Ruifeng.Wang@arm.com \
    --cc=adamx.dybkowski@intel.com \
    --cc=adwivedi@marvell.com \
    --cc=anoobj@marvell.com \
    --cc=apeksha.gupta@nxp.com \
    --cc=asomalap@amd.com \
    --cc=declan.doherty@intel.com \
    --cc=dev@dpdk.org \
    --cc=fiona.trahe@intel.com \
    --cc=hemant.agrawal@nxp.com \
    --cc=jianjay.zhou@huawei.com \
    --cc=pablo.de.lara.guarch@intel.com \
    --cc=rnagadheeraj@marvell.com \
    --cc=roy.fan.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ https://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git