From patchwork Mon Nov 14 10:53:20 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rahul Bhansali X-Patchwork-Id: 119819 X-Patchwork-Delegate: jerinj@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DB6BEA0032; Mon, 14 Nov 2022 11:53:44 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C0A840150; Mon, 14 Nov 2022 11:53:44 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id DD3704014F for ; Mon, 14 Nov 2022 11:53:42 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AE7v59h024488 for ; Mon, 14 Nov 2022 02:53:41 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=pfpt0220; bh=nc7540qpasN6T3F+dYeEsiSLo5gy4lfyotGNriYpm90=; b=hVYR1ZZRCXYN1KNK6DwbVjyZcBDwWSPgg8abxrrWC4GGn1MzKkn8rerlTcDAz2+vQ1Ij uj6IITylqFTPxq4TYKr0n91g5amBIKyDnH8K/Jfp6GBIju6MKhivrqxTsoL1EU0AZQr3 AI6RiJXmbNDVRenASd4cUniJY70lT6/ZhZXJ748mbBpA9h46qy65jPbwfDMcWQshK3rL tUVwqaktbSJuu+JUdqZRNbKdq0Hzte9JFh3enAke+6pYdXwfilvT3gTWhc66qeu33jmJ ovORvGQbuVLuXoEmoYjZKC3P/wDrw6V7C1lOelJPU8btuav/GkQSvFskumjU8iM9yPb6 CA== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3kuhr3gffs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 14 Nov 2022 02:53:41 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 14 Nov 2022 02:53:40 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.18 via Frontend Transport; Mon, 14 Nov 2022 02:53:40 -0800 Received: from localhost.localdomain (unknown [10.28.36.158]) by maili.marvell.com (Postfix) with ESMTP id D4AAD5C68E2; Mon, 14 Nov 2022 02:53:36 -0800 (PST) From: Rahul Bhansali To: , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , Ankur Dwivedi , Anoob Joseph , Tejasree Kondoj CC: , Rahul Bhansali Subject: [PATCH 1/2] common/cnxk: update IPsec completion codes Date: Mon, 14 Nov 2022 16:23:20 +0530 Message-ID: <20221114105321.163430-1-rbhansali@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: HVKgmLunhTSAlCKDzUb_QAUCWz3Mp5KP X-Proofpoint-ORIG-GUID: HVKgmLunhTSAlCKDzUb_QAUCWz3Mp5KP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-14_10,2022-11-11_01,2022-06-22_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 Update the IPsec completion codes as per UCODE version OCPT-04-IE-IPSEC-MC-30-01-28-00 Signed-off-by: Rahul Bhansali --- drivers/common/cnxk/hw/cpt.h | 2 ++ drivers/common/cnxk/roc_cpt.c | 2 +- drivers/common/cnxk/roc_ie_ot.h | 21 +++++++++++++++------ drivers/crypto/cnxk/cn10k_cryptodev_ops.c | 2 -- 4 files changed, 18 insertions(+), 9 deletions(-) diff --git a/drivers/common/cnxk/hw/cpt.h b/drivers/common/cnxk/hw/cpt.h index 3c87a0d1e4..1ebe49da12 100644 --- a/drivers/common/cnxk/hw/cpt.h +++ b/drivers/common/cnxk/hw/cpt.h @@ -15,6 +15,8 @@ #define CPT_COMP_INSTERR (0x5ull) #define CPT_COMP_WARN (0x6ull) /* [CN10K, .) */ +#define CPT_COMP_HWGOOD_MASK ((1U << CPT_COMP_WARN) | (1U << CPT_COMP_GOOD)) + #define CPT_LF_INT_VEC_MISC (0x0ull) #define CPT_LF_INT_VEC_DONE (0x1ull) #define CPT_LF_CTL (0x10ull) diff --git a/drivers/common/cnxk/roc_cpt.c b/drivers/common/cnxk/roc_cpt.c index 8fc072b9d0..8defdc8ddf 100644 --- a/drivers/common/cnxk/roc_cpt.c +++ b/drivers/common/cnxk/roc_cpt.c @@ -990,7 +990,7 @@ roc_cpt_ctx_write(struct roc_cpt_lf *lf, void *sa_dptr, void *sa_cptr, plt_free(dptr); plt_free(hw_res); - if (res.cn10k.compcode != CPT_COMP_WARN) { + if (res.cn10k.compcode != CPT_COMP_GOOD || res.cn10k.uc_compcode) { plt_err("Write SA operation timed out"); return -ETIMEDOUT; } diff --git a/drivers/common/cnxk/roc_ie_ot.h b/drivers/common/cnxk/roc_ie_ot.h index 56a1e9f1d6..a1ba60de75 100644 --- a/drivers/common/cnxk/roc_ie_ot.h +++ b/drivers/common/cnxk/roc_ie_ot.h @@ -46,14 +46,14 @@ enum roc_ie_ot_ucc_ipsec { ROC_IE_OT_UCC_ERR_SA_BAD_IP = 0xc7, ROC_IE_OT_UCC_ERR_PKT_IP_FRAG = 0xc8, ROC_IE_OT_UCC_ERR_PKT_REPLAY_WINDOW = 0xc9, + ROC_IE_OT_UCC_SUCCESS_PKT_IP_BADCSUM = 0xed, + ROC_IE_OT_UCC_SUCCESS_PKT_L4_GOODCSUM = 0xee, + ROC_IE_OT_UCC_SUCCESS_PKT_L4_BADCSUM = 0xef, ROC_IE_OT_UCC_SUCCESS_SA_SOFTEXP_FIRST = 0xf0, - ROC_IE_OT_UCC_SUCCESS_PKT_IP_BADCSUM = 0xf1, + ROC_IE_OT_UCC_SUCCESS_PKT_UDPESP_NZCSUM = 0xf1, ROC_IE_OT_UCC_SUCCESS_SA_SOFTEXP_AGAIN = 0xf2, - ROC_IE_OT_UCC_SUCCESS_PKT_L4_GOODCSUM = 0xf3, - ROC_IE_OT_UCC_SUCCESS_PKT_L4_BADCSUM = 0xf4, - ROC_IE_OT_UCC_SUCCESS_PKT_UDPESP_NZCSUM = 0xf5, - ROC_IE_OT_UCC_SUCCESS_PKT_UDP_ZEROCSUM = 0xf6, - ROC_IE_OT_UCC_SUCCESS_PKT_IP_GOODCSUM = 0xf7, + ROC_IE_OT_UCC_SUCCESS_PKT_UDP_ZEROCSUM = 0xf3, + ROC_IE_OT_UCC_SUCCESS_PKT_IP_GOODCSUM = 0x0, }; enum { @@ -161,6 +161,15 @@ enum { ROC_IE_OT_ERR_CTL_MODE_RING = 2, }; +static __plt_always_inline bool +roc_ie_ot_ucc_is_success(uint8_t ucc) +{ + uint8_t uc_base = (uint8_t)ROC_IE_OT_UCC_SUCCESS_PKT_IP_BADCSUM - 1u; + + ucc--; + return (ucc >= uc_base); +} + /* Context units in bytes */ #define ROC_CTX_UNIT_8B 8 #define ROC_CTX_UNIT_128B 128 diff --git a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c index 1d7a9e2952..68e6a660ea 100644 --- a/drivers/crypto/cnxk/cn10k_cryptodev_ops.c +++ b/drivers/crypto/cnxk/cn10k_cryptodev_ops.c @@ -779,8 +779,6 @@ cn10k_cpt_sec_post_process(struct rte_crypto_op *cop, struct cpt_cn10k_res_s *re mbuf->pkt_len = m_len; switch (res->uc_compcode) { - case ROC_IE_OT_UCC_SUCCESS: - break; case ROC_IE_OT_UCC_SUCCESS_PKT_IP_BADCSUM: mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_BAD; break;