From patchwork Mon Aug 26 12:49:19 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nagadheeraj Rottela X-Patchwork-Id: 57962 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 474311C0DA; Mon, 26 Aug 2019 14:49:29 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id E27901BFB4 for ; Mon, 26 Aug 2019 14:49:26 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x7QCjAUq005849; Mon, 26 Aug 2019 05:49:26 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=oRg9XisVd8G5LHQejVVzxmgtV0wYj5qU1/GCbn1gpmg=; b=IarqKvdxF8nuME6+TIO/GDq/zCtnXZVWReih4O6QgmfbnBxF411x8KgnEhYSbv8IRWaF nHQ+SmRGMhhFdDEZEF92y51eEgCu7op414Mkg5s0fSNDlHRF0yc57Fq3v49IG3a13fKz ZvAhVOwQQVwfVEeKwlqf9c3lsaJ7utQGe9UeWVOQ/NqFfHq0LwftiGJsW+Ah010+Zzzh /PTjAIRfb8Jujp20Qjxk5ZC1culP3j3/tbfpfDKS4FBrkDN1VtjUJO+W8tWg88DS8qRu irYwKkJse8x5JG9NhPb6UJ9rOY0QrBqcS3b6Vi7ir/iG6g4y9azR2YcNfLrXpm/MErTV LA== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0a-0016f401.pphosted.com with ESMTP id 2uk2kpy1eu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 26 Aug 2019 05:49:25 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 26 Aug 2019 05:49:25 -0700 Received: from NAM01-BN3-obe.outbound.protection.outlook.com (104.47.33.58) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 26 Aug 2019 05:49:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aKMnZUGyyROZ1skjytiSroQG9T8je1jxUUxnwtTr/zWoKI0ZXMKXY6F3EyYPLHXt9J46bIdzIofTFhT4Z+NQDpURYA8qp40h69Hpo3ozPgP5q6v9/GXgCVpjHI7tsFsc+BVa/ddcw4AtVlNUE/fCck/rnuvhmstH5JPahIeEuhzZ0+qnkNwM2n6cf85QZbGPDP7SYeFM1p6aO1Ad2tIdN8Xn846VvBJUV4FmA5hRN/kkzXIdgLfP4tCPZnX14wmk24n2k3GprnWdQzPz6/YcQs7f6V/8Ur97blpy4ra9PGqohXsjgbk32K2VBtfrFm+Wpg7rhpDBqA4wsTVScFPtIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oRg9XisVd8G5LHQejVVzxmgtV0wYj5qU1/GCbn1gpmg=; b=YI5MZbRMtJ9gO1teMDCwBBlNmvITm8Xk4KZSK1Cn3vhUrFDLtSs/SNUSy7JOhMTl26iLKfi2A6WxYRKJgL5eSdyVPPvTwivKTaxeTmzh5gVDnHLrVQDlIbqz+ezqXtI6TY6SECXnMzPIuBpxY4qr0BNlhh4S9t+/tr+F7EX4UMRgIiF1FaQc/TH+VVDuCv6cWfLhW5AP1os+ZtdwabhisRi2ICSzLkd9G6p3KKPnTzyGqPGoj6HkBddFGiWBZOik2Vtc79PLL5z7y0+/2aHKe2USnYef7PeXYGbXf0OVwPLUI5vFQmthVWNFdnu7yDtWtNCVbIwSIAh796R6z9CpkQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oRg9XisVd8G5LHQejVVzxmgtV0wYj5qU1/GCbn1gpmg=; b=B7P1KBBRMrn3evsfunGw2hbOef70FLcNXglQRr8fyF3+Pf1A1B56Nd+7DHkzagIGvHfvo4VXKCxxXdE0DPSAcW//9Bmz0cftJV1hTxhEcDIZo++uv+IUGi1523kT+3jmaLXE+1onB801MwlT4S1edWY1Eip53G9FPCIOW/IQ7T0= Received: from MN2PR18MB2797.namprd18.prod.outlook.com (20.179.22.16) by MN2PR18MB3230.namprd18.prod.outlook.com (10.255.237.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2199.20; Mon, 26 Aug 2019 12:49:20 +0000 Received: from MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84]) by MN2PR18MB2797.namprd18.prod.outlook.com ([fe80::28ff:b1d2:ef69:5e84%5]) with mapi id 15.20.2199.021; Mon, 26 Aug 2019 12:49:20 +0000 From: Nagadheeraj Rottela To: "akhil.goyal@nxp.com" , "pablo.de.lara.guarch@intel.com" , "mattias.ronnblom@ericsson.com" CC: "dev@dpdk.org" , Srikanth Jampala , Nagadheeraj Rottela Thread-Topic: [PATCH v4 00/11] add Nitrox crypto device support Thread-Index: AQHVXAytNkBxsdueCU2esD2ThIHrYg== Date: Mon, 26 Aug 2019 12:49:19 +0000 Message-ID: <20190826124836.21187-1-rnagadheeraj@marvell.com> References: <4b0fc70c-768a-a474-ace4-b69513412cae@ericsson.com> In-Reply-To: <4b0fc70c-768a-a474-ace4-b69513412cae@ericsson.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PN1PR01CA0088.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:1::28) To MN2PR18MB2797.namprd18.prod.outlook.com (2603:10b6:208:a0::16) x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.13.6 x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 08ca747c-94ff-44a6-2e6c-08d72a23cfcb x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:MN2PR18MB3230; x-ms-traffictypediagnostic: MN2PR18MB3230: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-forefront-prvs: 01415BB535 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39850400004)(346002)(396003)(136003)(376002)(199004)(189003)(54906003)(110136005)(76176011)(4326008)(52116002)(86362001)(14454004)(36756003)(486006)(6506007)(6436002)(71200400001)(55236004)(102836004)(25786009)(316002)(66446008)(6116002)(66946007)(64756008)(66556008)(66476007)(71190400001)(2201001)(3846002)(99286004)(478600001)(8676002)(305945005)(2906002)(107886003)(186003)(2616005)(386003)(26005)(476003)(81156014)(5660300002)(6486002)(11346002)(2501003)(256004)(7736002)(81166006)(14444005)(8936002)(53936002)(446003)(1076003)(66066001)(6512007)(50226002); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR18MB3230; H:MN2PR18MB2797.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: rDivXEUgbD9lWhvnRCNrD0zOHREpgMt9dkz8+fVBDPLfdPVxmAOm46gjXsTJ9zQ95+p8LQ72njog2mDs1Sa/cIe5+7KU++cwIyqUbU7kCPYxBWIImOTgvDa1BPxq60RNaiKwx4rosfDSKCswhhzF9dE47uqZ8hMevmitAD4Anm5nA+0no6vh5LSEYGacUpLI8/ZxDJqVA3SHlajqFb9TIcb/dRAS4lTrOkI9YhXf++Q0RSIdQNhJ0Vb1Lwed1Z2jaLED5yvLZ9/cIBZcS1erGfkB2TvAOdp8wBO76Ejg9/hb/At1bt/j6NozbLDBu0627Kl2E7X8xni0GhKkWIJwTAul87TGx9DaYzKU3I4YyqdoljMlERMVgahCv+6JsjhBcUc+8CusZbJSBEK4MwEeBXZoT9P8WgHHzcRHR1zjK3I= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 08ca747c-94ff-44a6-2e6c-08d72a23cfcb X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Aug 2019 12:49:19.8193 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: fTiIJi+8kvp1Nh0zNSJxUL8UH4ZnUCNaj/ii68/wK5UY1KZen5y4ngJCuERqBgPedJ/oUHxbqBaFWmzlFuxkHjedfTwgeqdxoqHdikyKFO8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR18MB3230 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-08-26_07:2019-08-26,2019-08-26 signatures=0 Subject: [dpdk-dev] [PATCH v4 00/11] add Nitrox crypto device support 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" Add the Nitrox PMD to support Nitrox crypto device. --- v4: * Added wmb between pending_count store and sr pointer store in enqueue operation. This is required to safely read sr in dequeue operation. v3: * Add SHA224 and SHA256 HMAC algorithms v2: * Fix compilation error on AARCH64. * Fix checkpatch warning "UNNECESSARY_ELSE: else is not generally useful after a break or return". Nagadheeraj Rottela (11): crypto/nitrox: add Nitrox build and doc skeleton crypto/nitrox: add PCI probe and remove routines crypto/nitrox: create Nitrox symmetric cryptodev crypto/nitrox: add basic symmetric cryptodev operations crypto/nitrox: add software queue management functionality crypto/nitrox: add hardware queue management functionality crypto/nitrox: add session management operations crypto/nitrox: add burst enqueue and dequeue operations crypto/nitrox: add cipher auth crypto chain processing test/crypto: add tests for Nitrox PMD crypto/nitrox: add SHA224 and SHA256 HMAC algorithms MAINTAINERS | 7 + app/test/test_cryptodev.c | 52 ++ app/test/test_cryptodev.h | 1 + app/test/test_cryptodev_aes_test_vectors.h | 48 +- app/test/test_cryptodev_blockcipher.c | 9 +- app/test/test_cryptodev_blockcipher.h | 1 + config/common_base | 5 + doc/guides/cryptodevs/features/nitrox.ini | 40 ++ doc/guides/cryptodevs/index.rst | 1 + doc/guides/cryptodevs/nitrox.rst | 48 ++ drivers/crypto/Makefile | 1 + drivers/crypto/meson.build | 4 +- drivers/crypto/nitrox/Makefile | 34 ++ drivers/crypto/nitrox/meson.build | 19 + drivers/crypto/nitrox/nitrox_csr.h | 41 ++ drivers/crypto/nitrox/nitrox_device.c | 117 ++++ drivers/crypto/nitrox/nitrox_device.h | 24 + drivers/crypto/nitrox/nitrox_hal.c | 237 ++++++++ drivers/crypto/nitrox/nitrox_hal.h | 165 +++++ drivers/crypto/nitrox/nitrox_logs.c | 14 + drivers/crypto/nitrox/nitrox_logs.h | 16 + drivers/crypto/nitrox/nitrox_qp.c | 117 ++++ drivers/crypto/nitrox/nitrox_qp.h | 108 ++++ drivers/crypto/nitrox/nitrox_sym.c | 727 +++++++++++++++++++++++ drivers/crypto/nitrox/nitrox_sym.h | 13 + drivers/crypto/nitrox/nitrox_sym_capabilities.c | 99 +++ drivers/crypto/nitrox/nitrox_sym_capabilities.h | 12 + drivers/crypto/nitrox/nitrox_sym_ctx.h | 85 +++ drivers/crypto/nitrox/nitrox_sym_reqmgr.c | 653 ++++++++++++++++++++ drivers/crypto/nitrox/nitrox_sym_reqmgr.h | 23 + drivers/crypto/nitrox/rte_pmd_nitrox_version.map | 3 + mk/rte.app.mk | 1 + 32 files changed, 2706 insertions(+), 19 deletions(-) create mode 100644 doc/guides/cryptodevs/features/nitrox.ini create mode 100644 doc/guides/cryptodevs/nitrox.rst create mode 100644 drivers/crypto/nitrox/Makefile create mode 100644 drivers/crypto/nitrox/meson.build create mode 100644 drivers/crypto/nitrox/nitrox_csr.h create mode 100644 drivers/crypto/nitrox/nitrox_device.c create mode 100644 drivers/crypto/nitrox/nitrox_device.h create mode 100644 drivers/crypto/nitrox/nitrox_hal.c create mode 100644 drivers/crypto/nitrox/nitrox_hal.h create mode 100644 drivers/crypto/nitrox/nitrox_logs.c create mode 100644 drivers/crypto/nitrox/nitrox_logs.h create mode 100644 drivers/crypto/nitrox/nitrox_qp.c create mode 100644 drivers/crypto/nitrox/nitrox_qp.h create mode 100644 drivers/crypto/nitrox/nitrox_sym.c create mode 100644 drivers/crypto/nitrox/nitrox_sym.h create mode 100644 drivers/crypto/nitrox/nitrox_sym_capabilities.c create mode 100644 drivers/crypto/nitrox/nitrox_sym_capabilities.h create mode 100644 drivers/crypto/nitrox/nitrox_sym_ctx.h create mode 100644 drivers/crypto/nitrox/nitrox_sym_reqmgr.c create mode 100644 drivers/crypto/nitrox/nitrox_sym_reqmgr.h create mode 100644 drivers/crypto/nitrox/rte_pmd_nitrox_version.map