From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 68A05A0548; Mon, 26 Apr 2021 16:44:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2B8F841110; Mon, 26 Apr 2021 16:44:08 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 5A3B541104 for ; Mon, 26 Apr 2021 16:44:06 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 13QEZWIZ019118 for ; Mon, 26 Apr 2021 07:44:05 -0700 Received: from nam10-dm6-obe.outbound.protection.outlook.com (mail-dm6nam10lp2106.outbound.protection.outlook.com [104.47.58.106]) by mx0a-0016f401.pphosted.com with ESMTP id 385hfr26mx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 26 Apr 2021 07:44:05 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bKbWJJYmCWX435UOOCX1Y7RTUdyOk2ICGn9m8AYLqLM5S+QG2XAMxV49ixbBd7WfUEvrseYlM8pPA9DYVxG3tdREWz1dAuTnzPBfneJKQV2a1pFVbH0KnhSsxRVEoYC/pLJEn1asF0NV7d2B0IrtW84hGB6fUGpKkLPGAT3ECQ/6yPH09PIuKe1Kj/IaXujLwKzYn8cIX2c8ZGUeO+P+/onOLn86wwbLEeKiAgHEIP92juYq22HndGzx6yS0D2WGmEI63gA1YuBeY43ZGHcnNbWD9mDr/dbeqqhFbRzo+Kq96CQeFlZE4qS806BQZY3ZhMz92w+7gz7M5E6VXRBB7g== 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=8K141em1rAH9wIyWOxznJGDsuAAW5e6TG9GZ9gYiFcM=; b=Z1j4UqLbFBRLjHeLmmQAhgcyqcLZ8i9VZh4UQZDaR64rM+Q+GpzSsxCYVXSfZZdh0bv2y1O+FEgdtKB8R59bQEace/WO/feXnZG/TEPz68xu8i3Yyj8cECMPzkYs0gBmKpHkr8A3dmyw2gsRyz4Wrof9CfZs+rx6jShjuLw4TmJzthJzEYrgiYG7e4qpFSfTYOq+xkD6hbz5QQLM0aRQa59rosgTGX4ZYeOTEomszTShA95ceZeWnwsguXoA0KQoLY9NmVcJ6Mmkt8pKDIncj2LLAHXoa8odRU3M1L9TLY5a+X5ezb7q/h37RQoNwXysXLNDgDlsMEBM9Kym+VZa/g== 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=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8K141em1rAH9wIyWOxznJGDsuAAW5e6TG9GZ9gYiFcM=; b=Uj4DMWDZmHMTEzSgxcqj+1Lj51OEUvbJkEq3fSFTeOfgh66Gwo+ybFqYzAOiaMbYo1an7xDvm8RXrtmGW7YHTw57awwPUfFCIE5ro83Si4XrJb3q5ekzakKzlS45J7uszC6O0PQljtSfUwCr0lNfIIaq0ySaJx9aGLWuKq+EpS0= Received: from DM5PR1801MB1884.namprd18.prod.outlook.com (2603:10b6:4:65::20) by DM6PR18MB2458.namprd18.prod.outlook.com (2603:10b6:5:188::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Mon, 26 Apr 2021 14:44:00 +0000 Received: from DM5PR1801MB1884.namprd18.prod.outlook.com ([fe80::95eb:88f3:a970:cdf0]) by DM5PR1801MB1884.namprd18.prod.outlook.com ([fe80::95eb:88f3:a970:cdf0%6]) with mapi id 15.20.4065.027; Mon, 26 Apr 2021 14:44:00 +0000 From: Ankur Dwivedi To: Shijith Thotton , "dev@dpdk.org" CC: Shijith Thotton , Jerin Jacob Kollanukkaran , Anoob Joseph , Pavan Nikhilesh Bhagavatula Thread-Topic: [PATCH v2 1/2] event/octeontx2: fix crypto adapter queue pair ops Thread-Index: AQHXOpaxZsbB/D80oEWtQwJ8GwIWbKrG37gQ Date: Mon, 26 Apr 2021 14:44:00 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [183.83.210.209] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8461f2d4-6836-47a2-0fcb-08d908c1bae2 x-ms-traffictypediagnostic: DM6PR18MB2458: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:376; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zWmq/snDXotdSCS8XxHC1Bs3kL1goainEtJZpEhAvk7pV56ZoZNMKQRy9zSMK56rm3hnXqt5amMKk4UKiocsYZjBkWxkoODa280rk2Inw+H9mKivPc00A4cDj4buH71zNjRwY31OBf/VP/0eIieJ6BTPgMYVunYacjTltzAZkwzANZNV+YEl0gWs/wdbKSrLF6s3NGiNEKnzjXhbDX9MO5dl0hpnYJ8ZQIWAvBOdQiSNezoNS/qopTgcDusbHKwwPxn9JXjxy73s3yxGf4txbAXz44SXARTbCIfJrkW+0bCCcfGX0tY1lMdkwY5i8qQSEUQOBo4zG7Drek4Y7ROeljLJb3Zkao5+Aw9Zog+LJfuznZK7gvDFDOOzU/8oOfYQuXTnly3NEdtaJpN75W1UObAF7U2BSO0cXKUop8aAkvJIuSoh2IFJKFUbTq6/0qPdjqFHzO4/jh96pAJTuzbTJ0ChD5Ky+i1i9fut8jqnkLvFtIJw6BCnCG2CTJ7L76eXin1f3oGNV0LdU/2FfnMzJ5OchXHVHST/vo4Ep00m+cfzTGp8mnK9PWDZeBrnGyTr6ViRV5PjetAVQKRl/eRcECDBgeSgXl6bpX9NLxUhIpo= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1801MB1884.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(136003)(396003)(39840400004)(346002)(376002)(8936002)(83380400001)(76116006)(316002)(5660300002)(54906003)(66946007)(9686003)(110136005)(66476007)(66556008)(64756008)(66446008)(8676002)(55016002)(52536014)(4326008)(6506007)(26005)(122000001)(71200400001)(186003)(478600001)(38100700002)(86362001)(107886003)(33656002)(2906002)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?kq8XVzDZ5nDeAM4c5vx0RJbziG7JF4wGyqRYFhYatahuLLDnc9hCIwJmZRU/?= =?us-ascii?Q?4fAbi0FR0uqA+dUcZXC56rFHr0l0iQis/sEZpX51vGplCi1HhW2KCWvBQ1Wb?= =?us-ascii?Q?mEDNKNaThXctLTnUWtQ2nRJ5WqlTvhj5qNXLutegzVDAxgGeya2UyapNxRuz?= =?us-ascii?Q?EgNY1mYRqPzvn1uWq7wAtrxEDIBhfN2sywxV7rTjRsqX1kkx119eANZAfKH+?= =?us-ascii?Q?YzH9usG7VPY/WVulKJVmKVS8I7rlQIWsV0tKmM1hGpX1LOg0r9nVap7n4lSN?= =?us-ascii?Q?pHxYIAFAM2/w6iEjcHG0xlO4PP7PwEJsSxowty36VAGn97hz+bCGGxRcibdv?= =?us-ascii?Q?heSZhEmCjCfrny1MAXf9Q5VTl/XGKMByVpU8ZleulchCOgWKoP3qbInu/CRp?= =?us-ascii?Q?s37bGTZV6OUN9N4Czz+LXIVo8e3V/KCAwZNzpcPA5yiqy8409nyijAWim4Bh?= =?us-ascii?Q?HrLkznx72fsjliVd7pvZKZFtoe++sjQ5zt6SpMyOhB4DUZGh0PWikh6KkhgK?= =?us-ascii?Q?+3+ld16nxXAVLK3/bB/yd4ehRU/R9GxxzaZlOlIHOqFep5KzMxuqvu+8bVmU?= =?us-ascii?Q?lkF4b2bWHGAEiuAUh0MHSBR1JEBaWbPHP7B0bWCfgcXzmfKNjeNVKHDMwU75?= =?us-ascii?Q?gAUxBlDY/V7BrVLdcGHR+/IFRl2z9sR+Iuv3NwAM4louGHLkPibxZiD8/Sqa?= =?us-ascii?Q?RjboJ+nlOjd14izZ/CVc0xXSwFb3hMDNkWA9rR9mTxmxJPx90r93pXLHYMdA?= =?us-ascii?Q?yeZS0gU5Bj+bxUuRNeRCHl5cSJilUaz5+1hpjUTns8Zjd/2A9SOgZmTZevT2?= =?us-ascii?Q?f1YqUyJ54+I/1fog4j80i1Gqlmh9ym5bHZZ5CTMseysd3bB7GNWrz6WkZKQQ?= =?us-ascii?Q?OJrGoID7zuXPNTyvnqrx2bRcmh0hDvWWatdOYSY/emyB1OQaXr9GuHS5eMPa?= =?us-ascii?Q?17lKFBdas8WuTepgv2CGOHVsYiZ44rHeUqF55PtClutqJ9ve3QjERWVMHVdM?= =?us-ascii?Q?iOMuyQAAd5EzHhNjY8fIGLonbADvzqeQkr9C4/+7XohJFFArVGcU/0hnY84t?= =?us-ascii?Q?TmKHQRsKNGdkqqD6RVKj8oN/Q54uIiR4gV5mGif0zsNNPOGEF38qJKG9sm+E?= =?us-ascii?Q?lNHp2cZGoSMtLOpDjhrZtO9RtJJE3e938137zDkg3UVyKn2oEK1sb2aWIZzS?= =?us-ascii?Q?1qq1rILYEmr2Qs+trxExHv0mbSCHpUUZS3bvykie4UBsfCQTIVk6Z6BXNTFF?= =?us-ascii?Q?rGV6sBZWzlWXoQ/74t2Czlsv6/wXyKQHmsbHn0yrVXHyaHFMU21i+jaJKm6c?= =?us-ascii?Q?Ktg=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1801MB1884.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8461f2d4-6836-47a2-0fcb-08d908c1bae2 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2021 14:44:00.4135 (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: /9nOBOsM6PzjZZ/hTJM7TR/ez8dkdzDqDLmTr+QCiF2zV9klBfihJKrjpfsIy/XN3ej4bDJbV1KguXXOTDTN3g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB2458 X-Proofpoint-ORIG-GUID: tdNJs9NbuzwkTuEp73NkTKDufP9n7j30 X-Proofpoint-GUID: tdNJs9NbuzwkTuEp73NkTKDufP9n7j30 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-04-26_07:2021-04-26, 2021-04-26 signatures=0 Subject: Re: [dpdk-dev] [PATCH v2 1/2] event/octeontx2: fix crypto adapter queue pair ops X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" >-----Original Message----- >From: Shijith Thotton >Sent: Monday, April 26, 2021 5:51 PM >To: dev@dpdk.org >Cc: Shijith Thotton ; Jerin Jacob Kollanukkaran >; Anoob Joseph ; Ankur Dwivedi >; Pavan Nikhilesh Bhagavatula > >Subject: [PATCH v2 1/2] event/octeontx2: fix crypto adapter queue pair ops > >Parameter queue_pair_id of crypto adapter queue pair add/del operation can >be -1 to select all pre configured crypto queue pairs. Added support for t= he >same in driver. Also added a member in cpt qp structure to indicate bindin= g >state of a queue pair to an event queue. > >Fixes: 29768f78d5a7 ("event/octeontx2: add crypto adapter framework") > >Signed-off-by: Shijith Thotton Acked-by: Ankur Dwivedi >--- > drivers/crypto/octeontx2/otx2_cryptodev_qp.h | 4 +- > .../event/octeontx2/otx2_evdev_crypto_adptr.c | 102 ++++++++++++------ > 2 files changed, 75 insertions(+), 31 deletions(-) > >diff --git a/drivers/crypto/octeontx2/otx2_cryptodev_qp.h >b/drivers/crypto/octeontx2/otx2_cryptodev_qp.h >index 189fa3db4..95bce3621 100644 >--- a/drivers/crypto/octeontx2/otx2_cryptodev_qp.h >+++ b/drivers/crypto/octeontx2/otx2_cryptodev_qp.h >@@ -1,5 +1,5 @@ > /* SPDX-License-Identifier: BSD-3-Clause >- * Copyright (C) 2020 Marvell International Ltd. >+ * Copyright (C) 2020-2021 Marvell. > */ > > #ifndef _OTX2_CRYPTODEV_QP_H_ >@@ -39,6 +39,8 @@ struct otx2_cpt_qp { > */ > uint8_t ca_enable; > /**< Set when queue pair is added to crypto adapter */ >+ uint8_t qp_ev_bind; >+ /**< Set when queue pair is bound to event queue */ > }; > > #endif /* _OTX2_CRYPTODEV_QP_H_ */ >diff --git a/drivers/event/octeontx2/otx2_evdev_crypto_adptr.c >b/drivers/event/octeontx2/otx2_evdev_crypto_adptr.c >index 2c9b347f0..ed600a659 100644 >--- a/drivers/event/octeontx2/otx2_evdev_crypto_adptr.c >+++ b/drivers/event/octeontx2/otx2_evdev_crypto_adptr.c >@@ -1,10 +1,11 @@ > /* SPDX-License-Identifier: BSD-3-Clause >- * Copyright (C) 2020 Marvell International Ltd. >+ * Copyright (C) 2020-2021 Marvell. > */ > > #include > #include > >+#include "otx2_cryptodev.h" > #include "otx2_cryptodev_hw_access.h" > #include "otx2_cryptodev_qp.h" > #include "otx2_cryptodev_mbox.h" >@@ -24,30 +25,66 @@ otx2_ca_caps_get(const struct rte_eventdev *dev, > return 0; > } > >-int >-otx2_ca_qp_add(const struct rte_eventdev *dev, const struct rte_cryptodev >*cdev, >- int32_t queue_pair_id, const struct rte_event *event) >+static int >+otx2_ca_qp_sso_link(const struct rte_cryptodev *cdev, struct otx2_cpt_qp >*qp, >+ uint16_t sso_pf_func) > { >- struct otx2_sso_evdev *sso_evdev =3D sso_pmd_priv(dev); > union otx2_cpt_af_lf_ctl2 af_lf_ctl2; >- struct otx2_cpt_qp *qp; > int ret; > >- qp =3D cdev->data->queue_pairs[queue_pair_id]; >- >- qp->ca_enable =3D 1; >- rte_memcpy(&qp->ev, event, sizeof(struct rte_event)); >- > ret =3D otx2_cpt_af_reg_read(cdev, OTX2_CPT_AF_LF_CTL2(qp->id), >- qp->blkaddr, &af_lf_ctl2.u); >+ qp->blkaddr, &af_lf_ctl2.u); > if (ret) > return ret; > >- af_lf_ctl2.s.sso_pf_func =3D otx2_sso_pf_func_get(); >+ af_lf_ctl2.s.sso_pf_func =3D sso_pf_func; > ret =3D otx2_cpt_af_reg_write(cdev, OTX2_CPT_AF_LF_CTL2(qp->id), >- qp->blkaddr, af_lf_ctl2.u); >- if (ret) >- return ret; >+ qp->blkaddr, af_lf_ctl2.u); >+ return ret; >+} >+ >+static void >+otx2_ca_qp_init(struct otx2_cpt_qp *qp, const struct rte_event *event) >+{ >+ if (event) { >+ qp->qp_ev_bind =3D 1; >+ rte_memcpy(&qp->ev, event, sizeof(struct rte_event)); >+ } else { >+ qp->qp_ev_bind =3D 0; >+ } >+ qp->ca_enable =3D 1; >+} >+ >+int >+otx2_ca_qp_add(const struct rte_eventdev *dev, const struct rte_cryptodev >*cdev, >+ int32_t queue_pair_id, const struct rte_event *event) { >+ struct otx2_sso_evdev *sso_evdev =3D sso_pmd_priv(dev); >+ struct otx2_cpt_vf *vf =3D cdev->data->dev_private; >+ uint16_t sso_pf_func =3D otx2_sso_pf_func_get(); >+ struct otx2_cpt_qp *qp; >+ uint8_t qp_id; >+ int ret; >+ >+ if (queue_pair_id =3D=3D -1) { >+ for (qp_id =3D 0; qp_id < vf->nb_queues; qp_id++) { >+ qp =3D cdev->data->queue_pairs[qp_id]; >+ ret =3D otx2_ca_qp_sso_link(cdev, qp, sso_pf_func); >+ if (ret) { >+ uint8_t qp_tmp; >+ for (qp_tmp =3D 0; qp_tmp < qp_id; qp_tmp++) >+ otx2_ca_qp_del(dev, cdev, qp_tmp); >+ return ret; >+ } >+ otx2_ca_qp_init(qp, event); >+ } >+ } else { >+ qp =3D cdev->data->queue_pairs[queue_pair_id]; >+ ret =3D otx2_ca_qp_sso_link(cdev, qp, sso_pf_func); >+ if (ret) >+ return ret; >+ otx2_ca_qp_init(qp, event); >+ } > > sso_evdev->rx_offloads |=3D NIX_RX_OFFLOAD_SECURITY_F; > sso_fastpath_fns_set((struct rte_eventdev *)(uintptr_t)dev); @@ - >59,24 +96,29 @@ int otx2_ca_qp_del(const struct rte_eventdev *dev, const >struct rte_cryptodev *cdev, > int32_t queue_pair_id) > { >- union otx2_cpt_af_lf_ctl2 af_lf_ctl2; >+ struct otx2_cpt_vf *vf =3D cdev->data->dev_private; > struct otx2_cpt_qp *qp; >+ uint8_t qp_id; > int ret; > > RTE_SET_USED(dev); > >- qp =3D cdev->data->queue_pairs[queue_pair_id]; >- qp->ca_enable =3D 0; >- memset(&qp->ev, 0, sizeof(struct rte_event)); >+ ret =3D 0; >+ if (queue_pair_id =3D=3D -1) { >+ for (qp_id =3D 0; qp_id < vf->nb_queues; qp_id++) { >+ qp =3D cdev->data->queue_pairs[qp_id]; >+ ret =3D otx2_ca_qp_sso_link(cdev, qp, 0); >+ if (ret) >+ return ret; >+ qp->ca_enable =3D 0; >+ } >+ } else { >+ qp =3D cdev->data->queue_pairs[queue_pair_id]; >+ ret =3D otx2_ca_qp_sso_link(cdev, qp, 0); >+ if (ret) >+ return ret; >+ qp->ca_enable =3D 0; >+ } > >- ret =3D otx2_cpt_af_reg_read(cdev, OTX2_CPT_AF_LF_CTL2(qp->id), >- qp->blkaddr, &af_lf_ctl2.u); >- if (ret) >- return ret; >- >- af_lf_ctl2.s.sso_pf_func =3D 0; >- ret =3D otx2_cpt_af_reg_write(cdev, OTX2_CPT_AF_LF_CTL2(qp->id), >- qp->blkaddr, af_lf_ctl2.u); >- >- return ret; >+ return 0; > } >-- >2.25.1