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 1A4EB467CA; Fri, 23 May 2025 15:56:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0C9D440FB5; Fri, 23 May 2025 15:53:16 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 312C6410D3 for ; Fri, 23 May 2025 15:53:14 +0200 (CEST) Received: from pps.filterd (m0431383.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 54NDjEjl009968 for ; Fri, 23 May 2025 06:53:13 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pfpt0220; bh=r fMoDlpoL0S1MJGDq0RF20pGeAr/K/fyVboxXhUc/TY=; b=dhfCMU0+pRzuK6pkx Ofu9IMMLCLSCjTv/ZJ7vUCjZtgqbscU5QmfTW4nP/LRobXX9xQ1Wlre/+w0hkOMn NSmvuIb0bo3HOCizECpwhE4CFjtQvkPCviyijlCADy5yAW7jypsx6CKedXwDaOEk wuK/vfGJbzzSjLkk7xMUJnnDMpbT2Ggzk8HKyEM0Bqo/5kCo3snwHz2LNnTP9rMV PjmLE4VTdEq/5wOfTOYxvmIm+PfMAgpfYnJ2mzoc8I3QF29fkVBjE3VcOpJH5Yo/ KXCX/6LkwACXglv7xHQrrZ53+XOTJa/rCEx6/PTLTkRE6TueFUTd7sIlBKEXrOpm aUfFg== Received: from dc5-exch05.marvell.com ([199.233.59.128]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 46tt5w00hj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 23 May 2025 06:53:13 -0700 (PDT) Received: from DC5-EXCH05.marvell.com (10.69.176.209) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Fri, 23 May 2025 06:53:12 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Fri, 23 May 2025 06:53:12 -0700 Received: from hyd1554.caveonetworks.com (unknown [10.29.56.32]) by maili.marvell.com (Postfix) with ESMTP id 83BDB3F7041; Fri, 23 May 2025 06:53:09 -0700 (PDT) From: Tejasree Kondoj To: Akhil Goyal CC: Rupesh Chiluka , Anoob Joseph , Aakash Sasidharan , Nithinsen Kaithakadan , Vidya Sagar Velumuri , Subject: [PATCH 36/40] crypto/cnxk: add asym sessionless handling Date: Fri, 23 May 2025 19:21:07 +0530 Message-ID: <20250523135111.2178408-37-ktejasree@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250523135111.2178408-1-ktejasree@marvell.com> References: <20250523135111.2178408-1-ktejasree@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Authority-Analysis: v=2.4 cv=bYBrUPPB c=1 sm=1 tr=0 ts=68307dc9 cx=c_pps a=rEv8fa4AjpPjGxpoe8rlIQ==:117 a=rEv8fa4AjpPjGxpoe8rlIQ==:17 a=dt9VzEwgFbYA:10 a=M5GUcnROAAAA:8 a=wXFYHL2ICx7M5fKW5-AA:9 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-ORIG-GUID: jFcUhPZccTc9ObNksSo_YSeSA0C_753Y X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTIzMDEyMyBTYWx0ZWRfX0XG8AAbSop0z 0VmQ+gRVl6jFiXyn6p8+X0pIhGijuntkuh5BIcSfFbRIPacAUTD/CjFNx7wtO0hUtGOBrpiJpyW 2nZPn0Ak904iS8OY6RVR3NtpA5ECCM6X83f7FqcIoHgBd9XzT9988wuwV4pNnkpWye2zwkYgPRr zEzfS4ZieRzXVh5mFyts40I/66yiKMxVp3pm3f84I1j6iLMVil1T/9RK22AWzPkM0jAkVU/cXSu n+RhGlseafsDhnLJ42JL8mztrSrIJLfSzyPFQEZB17QU3VGZoupehaK78xxiOCNYPBQmBX8Xicd Saqdk/maNS0f+aBDHzGkJnIFbM53FNkokFavYB1RHGkewQyjfIYMSGQAmkaMQEJPHn4pQT/2eSW LXSWvEoNbT6QoV8vMOqmOiZYG+SEOX428jtIVzWSrLDJwMbYTMgN5BI9cOqJ9+saEQsDu3zs X-Proofpoint-GUID: jFcUhPZccTc9ObNksSo_YSeSA0C_753Y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-23_04,2025-05-22_01,2025-03-28_01 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 From: Rupesh Chiluka Add asymmetric sessionless handling for cnxk Signed-off-by: Rupesh Chiluka --- drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 19 +++++++++++++++++-- drivers/crypto/cnxk/cn9k_cryptodev_ops.c | 20 ++++++++++++++++++-- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c index 9ad0629519..813a2deb66 100644 --- a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c +++ b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c @@ -417,8 +417,23 @@ cn10k_ca_meta_info_extract(struct rte_crypto_op *op, struct cnxk_cpt_qp **qp, ui priv = (struct cnxk_ae_sess *)op->asym->session; *qp = priv->qp; *w2 = priv->cpt_inst_w2; - } else - return -EINVAL; + } else { + union rte_event_crypto_metadata *ec_mdata; + struct rte_event *rsp_info; + uint8_t cdev_id; + uint16_t qp_id; + + if (unlikely(op->private_data_offset == 0)) + return -EINVAL; + ec_mdata = (union rte_event_crypto_metadata *)((uint8_t *)op + + op->private_data_offset); + rsp_info = &ec_mdata->response_info; + cdev_id = ec_mdata->request_info.cdev_id; + qp_id = ec_mdata->request_info.queue_pair_id; + *qp = rte_cryptodevs[cdev_id].data->queue_pairs[qp_id]; + *w2 = CNXK_CPT_INST_W2((RTE_EVENT_TYPE_CRYPTODEV << 28) | rsp_info->flow_id, + rsp_info->sched_type, rsp_info->queue_id, 0); + } } else return -EINVAL; diff --git a/drivers/crypto/cnxk/cn9k_cryptodev_ops.c b/drivers/crypto/cnxk/cn9k_cryptodev_ops.c index ee35ed1eba..fa22b5ce44 100644 --- a/drivers/crypto/cnxk/cn9k_cryptodev_ops.c +++ b/drivers/crypto/cnxk/cn9k_cryptodev_ops.c @@ -333,8 +333,24 @@ cn9k_ca_meta_info_extract(struct rte_crypto_op *op, priv = (struct cnxk_ae_sess *)op->asym->session; *qp = priv->qp; inst->w2.u64 = priv->cpt_inst_w2; - } else - return -EINVAL; + } else { + union rte_event_crypto_metadata *ec_mdata; + struct rte_event *rsp_info; + uint8_t cdev_id; + uint16_t qp_id; + + if (unlikely(op->private_data_offset == 0)) + return -EINVAL; + ec_mdata = (union rte_event_crypto_metadata *)((uint8_t *)op + + op->private_data_offset); + rsp_info = &ec_mdata->response_info; + cdev_id = ec_mdata->request_info.cdev_id; + qp_id = ec_mdata->request_info.queue_pair_id; + *qp = rte_cryptodevs[cdev_id].data->queue_pairs[qp_id]; + inst->w2.u64 = CNXK_CPT_INST_W2( + (RTE_EVENT_TYPE_CRYPTODEV << 28) | rsp_info->flow_id, + rsp_info->sched_type, rsp_info->queue_id, 0); + } } else return -EINVAL; -- 2.25.1