From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Zbigniew.Bodek@cavium.com>
Received: from NAM02-CY1-obe.outbound.protection.outlook.com
 (mail-cys01nam02on0089.outbound.protection.outlook.com [104.47.37.89])
 by dpdk.org (Postfix) with ESMTP id B6BE2FAF9
 for <dev@dpdk.org>; Wed, 18 Jan 2017 21:02:34 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=YaAqkJKKb6JhB5r34ugpNWGQGwE5XnuXA8h+Dqt9ba4=;
 b=ZLsTkb3gPbWRCdJ3q8i+slUBPrXH7Lolee+l0SIToZrsc7ePJnrKDCbNT8hMKAdhnclXl6dVBEccVIDvp0xdIIz4FXWKfgDw9kLWlcWmcxA/ecjybXeOWxqNhAXqgn46VeqsZE/JpdbbNlUJGKV6gWuEU4+3Y4uDxgOsj4v0+Gk=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Zbigniew.Bodek@cavium.com; 
Received: from localhost.localdomain (31.172.191.173) by
 BY2PR07MB550.namprd07.prod.outlook.com (10.141.217.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id
 15.1.845.12; Wed, 18 Jan 2017 20:02:31 +0000
From: <zbigniew.bodek@caviumnetworks.com>
To: <dev@dpdk.org>
CC: <pablo.de.lara.guarch@intel.com>, <declan.doherty@intel.com>,
 <jerin.jacob@caviumnetworks.com>, <jianbo.liu@linaro.org>,
 <hemant.agrawal@nxp.com>, Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com>
Date: Wed, 18 Jan 2017 21:01:57 +0100
Message-ID: <1484769721-43938-5-git-send-email-zbigniew.bodek@caviumnetworks.com>
X-Mailer: git-send-email 1.9.1
In-Reply-To: <1484769721-43938-1-git-send-email-zbigniew.bodek@caviumnetworks.com>
References: <1484749650-24867-3-git-send-email-zbigniew.bodek@caviumnetworks.com>
 <1484769721-43938-1-git-send-email-zbigniew.bodek@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [31.172.191.173]
X-ClientProxiedBy: DB6P191CA0018.EURP191.PROD.OUTLOOK.COM (10.175.236.156) To
 BY2PR07MB550.namprd07.prod.outlook.com (10.141.217.145)
X-MS-Office365-Filtering-Correlation-Id: d5eccd9b-b8ec-47ab-d736-08d43fdcf107
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BY2PR07MB550;
X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB550;
 3:svLxKlboGwDT24c7uGA3wPmVJQeipJfmYdBBC43c0lzudGyoFqDOysdVzMtDWU6gBu0dbq/sZAVOrFlaai+8pU29l3AS9iYGbc6YWSCPuiUghLBo6hw/MRq19IS8dMEZTFj88rnveZYNisUk04bldk73cMCAJ3b1jeihsXmAURVrpB3302orvtxsEwWtcShJCzKBpi/Fuoxu2I3eu8gNP1uNBn/TlSMD0/fJkwDhSpHmQqpb9DDyx7vi9xGc/2dwpSQ19dgr8AvZLY5F0CINPA==;
 25:TH9fCTVF1QAb781ybXDh9K9Mvo8MlHiRv4M5Rg/xiTi7cbfnymrsefCexDzO4GXYFaRljv7sFmcimm2n8MXk70SjnUaatpGCTn5k/Q2cYeS9vKaRlHzwj/WURFT2An65qmbhdSKi8r8mVknH4v4DJ0PVBthDXhw14oGC26V2HoZKj0s5Kk7eeZRtVbdGCC3Sp9quSzx/CrLcQdXj7++oyKOnX7SdVwtQl7nMj0cyL4VWRhdfIvQJiUpiLLdG8n3oh+TKOSuEBj9eYJmI006wQJmI7HGot47SZ3T/LNYXGKCO3gR21OyWrYJWPgrwVM4RSvntn3MITboxzSJSRqVq1jOwj8CmTSVRtTcOldnPB4cgzP0ZOKOV1B5l5fHixBZ6humTR6QDGk2yZSjm5351YXtGXjJfC9ucF8EeXWq1bT8IA+5Vysv6dBrP6esHOnAutHtFP/PrE0ZaJFm34+2wGg==
X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB550;
 31:/WOW4Wm6jdL5kYkqZhe04nq1rk4dZTUjBc5IYL6u6/TWKsQO3Uh+e7WWBBIwgQzaWRziw6/gqAQJ8ZEP0dMbT976GAmyNlM3B/2HuP8qVesID33CANnNW5Sv+bhCBe4OfKmBxzbpn97Ng3HOlizygl/dqu3NPczmsApOpMg4oxCHn+yuxWNFo5WZEvoehIPNIpE69QsYrmEzcy2Rxfknc+xYI6+uc5/i05c3ocGQIfpTqI4t8FdewpS3r0BsIacC;
 20:u2y5bjwFeM04LbgQvTVL8b/BMz2iGyBvNlX+DFMawXm1T8vIUcj8lKILTSu5oHA/XvUPiWeej7QsT3oDWmn9XDEJy+n0fNHQz/eJj+jJLdaU0T2YFOqE8j0ECZaWW/Iq05utiP/qNN3C+ndBECS5Y0Jusm3jX3mrXfHr/3FgA3o5caywu/iepAMfg3qe23bDyNCcx7iXWR2O5hduBp6YCwfjKWYrgIMqw9qMjz/Haq2VxfCFzIPMKmzL6/VCREXrR6LOxJH66a+smt9CWmIR8k0wQlRiRqfXMOCzi6+y/6zQLpf9KVWzTzk0ItI5zFsDASLG0hOdNXaqukCWjgUu6Q8qmIicgXg8/3KibiUpZ2OtYc9avRF1U0hbgkTH7PB0hUXQGuFvkILR7Jy1LWJ9FwLGdfEgIxyPMh1b2+lUqkd/nlBAerUGO35bU+Lu9dOxV3MqgNdyMu9wH2Md/Xvzm1bPNj1Hm5WLe+rQqTcOvD+VZeo2Juq51W27So6cz551zTkgoLzNUM07Qlx8q0qrWieyW1l00BNNyVTZ9Xlz3GzbsKfB29zKF0KUXoSQyUeG5ScbO77w9J+suWITly3vrrjio/pvqQ3XDYwghx11M0k=
X-Microsoft-Antispam-PRVS: <BY2PR07MB550364A572BC0F4DFA95F1DFA7F0@BY2PR07MB550.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123562025)(20161123558021)(20161123555025)(20161123560025)(20161123564025)(6072148);
 SRVR:BY2PR07MB550; BCL:0; PCL:0; RULEID:; SRVR:BY2PR07MB550; 
X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB550;
 4:dpZyFWq3GaMKCqPHKc+wPDTSn2r3PHzcqhxXT2xfyr4M8U1iPaBq3OI4OoPzNLdnGKTEwktHGHdNgv48rPPd3hC23y56B/Fdgjlb7NGJnpbIJUY7S0c5kGpeYcpJ3xgGywttOpK8AOLwvv2vAf8NOpFz66Zfo1phqv9/B2v000HAMvEmzJnU31NIngwe4kKrFiYsL/OC5x9G2tUuHTuPlTOt9beMZgT0DRd/Qwnkc+nV8YWh4O+N5/doAzAWOl/4XhiSeMTUUjc2QTtp6bzo7HgmVfmVeB5B4rvsGheu/RxCrdAz8Ed/m3rboVP6xmKMiYgfDNMe/fHKdI5luCMah0TYJKBtRfNexYLY+84lFfDYyaWS5CSQwS8ANQ1zTIwx/2tzIcL8pKGys7AKjSfEWaShFHKv4mCmBAZvCwzX5kYQg9qqz2qxEaLptZQxot67oaBfr90ZG6Jbhl33KUy7ZSzSqUICJK80Iba/psRQiwFZDFVcqY/5TL7BICB1UyTsbhoXARJ4Jeb/dGTToJxDFqdlUmynfDTVGqcraPkwoxh2DVbJTHs6sfbvBJomMebB3Oa9plcySk5BCz2NcDiYGH+iPNSVn/O8ZvhUdwLINzc=
X-Forefront-PRVS: 01917B1794
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(189002)(199003)(86152003)(92566002)(33646002)(575784001)(36756003)(7736002)(8656002)(48376002)(42882006)(50226002)(97736004)(107886002)(2950100002)(2876002)(6916009)(6116002)(4326007)(5003940100001)(53936002)(6506006)(4001430100002)(25786008)(47776003)(6666003)(3846002)(5660300001)(54906002)(50466002)(189998001)(66066001)(6486002)(76176999)(6512007)(101416001)(38730400001)(110136003)(68736007)(106356001)(305945005)(105586002)(2351001)(2906002)(8676002)(81156014)(42186005)(50986999)(81166006);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR07MB550; H:localhost.localdomain; FPR:;
 SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; 
Received-SPF: None (protection.outlook.com: cavium.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR07MB550;
 23:NtSHqnO7KHec5a9ckUGcHL+DQVNkKDLE1j7vAjpUI0?=
 =?us-ascii?Q?WP0dmoKPdlN312c6ONiyuOnVlrFeE1IFm5kHnFYnaXS+9B34wocxA6Dl77u+?=
 =?us-ascii?Q?FYQGNISHjgGBXe39NVSiUEKcE+EXC/OfZmtpHI+WHpj2r22SR9N5Ku9YR8aV?=
 =?us-ascii?Q?5VOPnpA9R4ZcgxM1Kti/zc5X/Ht1p5z3sqnllUVoMfpKCvmUJMLzcSbzXa5c?=
 =?us-ascii?Q?D6KiRvSaKM7ynQG//5FZSkzRk/+MszZgqQjihmSIxqpuLYxqtQ2sIHsiOgx4?=
 =?us-ascii?Q?cI3cbDMf2dUxly70XxpmJmNTtGXtT/Bj/EsRmsDyXoldlj4Hezq8o0KGJD6G?=
 =?us-ascii?Q?//q7oSo2Ua7v3+FZEQHhd2ht7cBgPnYSLmTK8z2PB4lzGHLI21cSmuS3lSTx?=
 =?us-ascii?Q?REEmI5CMPxJHZV8OoZsHiVcM4J0ce1Pryb6BTUpzLgmdDjfatD1/TGuJTOaR?=
 =?us-ascii?Q?d/gnEEzRbFKxMh8jliaR6fdQ1Sr82TuvV8eSVGCSVneg8dUpl1vW17U//qHa?=
 =?us-ascii?Q?ZE96Rw3HxGFozubqvI3Sl8H1jBDdIE3nA+KtD90djSa8hrrFz/FpPDdFjGJ1?=
 =?us-ascii?Q?Um2jHNHiLt15/5KQNY7fgEZmhwNCZTifYsXqKu8Q4dACgxA57sgpqkxAlMwp?=
 =?us-ascii?Q?pFWHSODXtikIvR1uuHKg8nbpSIg13iL2f3pF8q05lTVRGc0U1h7SWiR9yPRd?=
 =?us-ascii?Q?ECMZ/VoalWzDfZgWVPZdV/x0TB/T3EmtzElmN0pw9guF5x7y4CNgh90Lspw6?=
 =?us-ascii?Q?1usV8gs/hkcS2t0Yr5ycSHqBmHw8BndBNXArMSAMVtmY/S4QccUTqXnfjc7L?=
 =?us-ascii?Q?7N1gHlvzLeg6BqxC1ofgiWiIBisYBjP+fmF5M8CQMIzByOenhePXXpOKa6Wl?=
 =?us-ascii?Q?av3WmXL8m14DX+2+NekT9WjbF66IlE2Uh6aVO6p2EZ77L+8ObiE5V3t4sXG3?=
 =?us-ascii?Q?3iAMHbAWVAay6GPLMbuwcR7g9lUb6iLVGQRFXd0EJo1L68apyyE8DAheHHDx?=
 =?us-ascii?Q?WRbOGv+S5jCbCguUt8bRYaEcAM0E09KEDS/4cihytZagG2hxSJcmB3zJyy1X?=
 =?us-ascii?Q?ddtCUfLUXnl8UphJRPYilFNV5R0Q0fukpbojVMVSDsTz/E086/FPoAiNZYdY?=
 =?us-ascii?Q?WuT2xjcaizhvjx9Rpf3RYacEl1flcC71tdF870cUMAgekZLWx7xi2n7wHl1B?=
 =?us-ascii?Q?Eti4GpV3AWysB9atGNG1jA0lV6gkRJKCMDoMbltJZUmWZRKkT5N5JiBH8wep?=
 =?us-ascii?Q?J6dzShXAET+ixkFWOjLSeTfjUj9czay13NtBmHofDXydP6XLm4X+Ov+9wO4g?=
 =?us-ascii?Q?=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB550;
 6:HFySXwgi4dRDJkbVvlz+VqRqSCvwYAMyCHfGn741H1DUcQ+qiOX6AhTHF3oZzPqPvPMlt9gCnhC4NN/PlCVsF2CgUEyWUhWEmaShUJMcrYUA+J0jCn7n//Xl4x7lfAOPEQej6Kqz+VEnM1yaISzLxiaWouWd8ig8eGUqwfupyRhIKqmkOr9AK3SZkUu2w5PKUIQ8iJARC5/Mp3yXt2j0hE5+MgROAel+Dr2wTYP11lmCWPnoqP9K5ILIoPDUNhoqcnqFNYnsQXD7rHwo24eWsU9x7AZS1r+p2fRzjIH7ZJiyTsfDN4JaqUhF9jRGpqSn9lWwgyw8Cnm28aQwSm45RXPR3ZHuCKbJtubupSAtkKbV78UaOXRN0rCQDuNZ0oXEWFl78vtYpB3htCHUoSnj2f96QRYYSFFPq4EqfvvOEOg=;
 5:DbN2/khHiSV8sfZ8ohu2ZK2ueE1cnTQTM0xdxkZliys94vN80H0uAkoBASmrDnOXW4vKmmyYE6Z2G/4K/LWWRnu8eQlBz08LErfD6ZiyrX3lPE8HLh7aX6iN63eYrgqbfecYPSspk7nL07GF5r7hISi3RMCZu3lhz3O8FD/Iw1o=;
 24:TJWf9kE9MODrHsFn+VSP2teZnysahL6lqZElnQGX4dV641L5e4RKTyCkb0lVaJdGRAcdeXnCaQjDMw+6CB7F8QXKjPlSu9j8S6+zzU1NZyA=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY2PR07MB550;
 7:uM79FiWToS6pJIMPOXH/OgxlLbuWyP/+SGLnEDty1RnTfBLVyynkEbUA7IZ5kAWzxMHDol4cupZ7b4+3ZtbQgDWip0wqABJgLYohsehRn+3l0RRaPm1TXdp9zsJMfCNAgYHHZhcGgqIupTBy8f6VQITjSL0ynRevXcM2NfIk2cNk+m7JZmsebGd3N1V+s03Y1x5zJ6J+K8MXdLWRAoxI52TfP6bI0ZpOD81UGuJ8h8qORCxSLz9kOE1scHC9RkVocs2DbkFNTlVAYl5tN2tkE/CwW9ABvLfJ82/bJSWz07cYIAWRzLZDaOOpUIviPAFu+rNvqQeYgJiWWDIgFzea3VloKbBch6yUBLjHOIbDxGE0Lw+96MEDFjgVtnOs8Y3tzTdcaMcCu/3+QdNR69daY8wsubvzfLlqZTqYrAutKKjCWHdvpYkj5U4P9ECrM0TddRMALq6tB6QQEZsLASm0Gw==
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jan 2017 20:02:31.8587 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB550
Subject: [dpdk-dev] [PATCH v6 4/8] cryptodev/armv8: introduce ARM-specific
	feature flags
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 18 Jan 2017 20:02:35 -0000

From: Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com>

Add two new feature flags:
* RTE_CRYPTODEV_FF_CPU_NEON
  represents ARM NEON (TM) instructions
* RTE_CRYPTODEV_FF_CPU_ARM_CE
  represents ARM crypto extensions

Add them to both cryptodev library, documentation and relevant
PMD driver for ARMv8.

Signed-off-by: Zbigniew Bodek <zbigniew.bodek@caviumnetworks.com>
---
 doc/guides/cryptodevs/overview.rst   | 2 ++
 drivers/crypto/armv8/rte_armv8_pmd.c | 4 +++-
 lib/librte_cryptodev/rte_cryptodev.c | 4 ++++
 lib/librte_cryptodev/rte_cryptodev.h | 5 +++++
 4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/doc/guides/cryptodevs/overview.rst b/doc/guides/cryptodevs/overview.rst
index bd5f0ad..9ec32f1 100644
--- a/doc/guides/cryptodevs/overview.rst
+++ b/doc/guides/cryptodevs/overview.rst
@@ -45,6 +45,8 @@ Supported Feature Flags
    "RTE_CRYPTODEV_FF_CPU_AVX512",,,x,,,,
    "RTE_CRYPTODEV_FF_CPU_AESNI",,,x,x,,,
    "RTE_CRYPTODEV_FF_HW_ACCELERATED",x,,,,,,
+   "RTE_CRYPTODEV_FF_CPU_NEON",,,,,,,
+   "RTE_CRYPTODEV_FF_CPU_ARM_CE",,,,,,,
 
 Supported Cipher Algorithms
 
diff --git a/drivers/crypto/armv8/rte_armv8_pmd.c b/drivers/crypto/armv8/rte_armv8_pmd.c
index 1bf0f9d..d2b88a3 100644
--- a/drivers/crypto/armv8/rte_armv8_pmd.c
+++ b/drivers/crypto/armv8/rte_armv8_pmd.c
@@ -826,7 +826,9 @@
 	dev->enqueue_burst = armv8_crypto_pmd_enqueue_burst;
 
 	dev->feature_flags = RTE_CRYPTODEV_FF_SYMMETRIC_CRYPTO |
-			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING;
+			RTE_CRYPTODEV_FF_SYM_OPERATION_CHAINING |
+			RTE_CRYPTODEV_FF_CPU_NEON |
+			RTE_CRYPTODEV_FF_CPU_ARM_CE;
 
 	/* Set vector instructions mode supported */
 	internals = dev->data->dev_private;
diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index f2ceb9b..6a51eec 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -240,6 +240,10 @@ struct rte_cryptodev_callback {
 		return "HW_ACCELERATED";
 	case RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER:
 		return "MBUF_SCATTER_GATHER";
+	case RTE_CRYPTODEV_FF_CPU_NEON:
+		return "CPU_NEON";
+	case RTE_CRYPTODEV_FF_CPU_ARM_CE:
+		return "CPU_ARM_CE";
 	default:
 		return NULL;
 	}
diff --git a/lib/librte_cryptodev/rte_cryptodev.h b/lib/librte_cryptodev/rte_cryptodev.h
index 452b174..f284668 100644
--- a/lib/librte_cryptodev/rte_cryptodev.h
+++ b/lib/librte_cryptodev/rte_cryptodev.h
@@ -232,6 +232,11 @@ struct rte_cryptodev_capabilities {
 /**< Utilises CPU SIMD AVX512 instructions */
 #define	RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER	(1ULL << 9)
 /**< Scatter-gather mbufs are supported */
+#define	RTE_CRYPTODEV_FF_CPU_NEON		(1ULL << 10)
+/**< Utilises CPU NEON instructions */
+#define	RTE_CRYPTODEV_FF_CPU_ARM_CE		(1ULL << 11)
+/**< Utilises ARM CPU Cryptographic Extensions */
+
 
 
 /**
-- 
1.9.1