From patchwork Wed Jan 18 20:01:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zbigniew.bodek@caviumnetworks.com X-Patchwork-Id: 19746 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 0CDA5FB0F; Wed, 18 Jan 2017 21:02:51 +0100 (CET) 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 ; 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: To: CC: , , , , , Zbigniew Bodek 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 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: 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?= WP0dmoKPdlN312c6ONiyuOnVlrFeE1IFm5kHnFYnaXS+9B34wocxA6Dl77u+FYQGNISHjgGBXe39NVSiUEKcE+EXC/OfZmtpHI+WHpj2r22SR9N5Ku9YR8aV5VOPnpA9R4ZcgxM1Kti/zc5X/Ht1p5z3sqnllUVoMfpKCvmUJMLzcSbzXa5cD6KiRvSaKM7ynQG//5FZSkzRk/+MszZgqQjihmSIxqpuLYxqtQ2sIHsiOgx4cI3cbDMf2dUxly70XxpmJmNTtGXtT/Bj/EsRmsDyXoldlj4Hezq8o0KGJD6G//q7oSo2Ua7v3+FZEQHhd2ht7cBgPnYSLmTK8z2PB4lzGHLI21cSmuS3lSTxREEmI5CMPxJHZV8OoZsHiVcM4J0ce1Pryb6BTUpzLgmdDjfatD1/TGuJTOaRd/gnEEzRbFKxMh8jliaR6fdQ1Sr82TuvV8eSVGCSVneg8dUpl1vW17U//qHaZE96Rw3HxGFozubqvI3Sl8H1jBDdIE3nA+KtD90djSa8hrrFz/FpPDdFjGJ1Um2jHNHiLt15/5KQNY7fgEZmhwNCZTifYsXqKu8Q4dACgxA57sgpqkxAlMwppFWHSODXtikIvR1uuHKg8nbpSIg13iL2f3pF8q05lTVRGc0U1h7SWiR9yPRdECMZ/VoalWzDfZgWVPZdV/x0TB/T3EmtzElmN0pw9guF5x7y4CNgh90Lspw61usV8gs/hkcS2t0Yr5ycSHqBmHw8BndBNXArMSAMVtmY/S4QccUTqXnfjc7L7N1gHlvzLeg6BqxC1ofgiWiIBisYBjP+fmF5M8CQMIzByOenhePXXpOKa6Wlav3WmXL8m14DX+2+NekT9WjbF66IlE2Uh6aVO6p2EZ77L+8ObiE5V3t4sXG33iAMHbAWVAay6GPLMbuwcR7g9lUb6iLVGQRFXd0EJo1L68apyyE8DAheHHDxWRbOGv+S5jCbCguUt8bRYaEcAM0E09KEDS/4cihytZagG2hxSJcmB3zJyy1XddtCUfLUXnl8UphJRPYilFNV5R0Q0fukpbojVMVSDsTz/E086/FPoAiNZYdYWuT2xjcaizhvjx9Rpf3RYacEl1flcC71tdF870cUMAgekZLWx7xi2n7wHl1BEti4GpV3AWysB9atGNG1jA0lV6gkRJKCMDoMbltJZUmWZRKkT5N5JiBH8wepJ6dzShXAET+ixkFWOjLSeTfjUj9czay13NtBmHofDXydP6XLm4X+Ov+9wO4g== 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Zbigniew Bodek 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 --- 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 */ + /**