From patchwork Thu Sep 1 06:28:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hanumanth Pothula X-Patchwork-Id: 115700 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 BA114A0032; Thu, 1 Sep 2022 08:28:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5CB7240684; Thu, 1 Sep 2022 08:28:13 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 45CFB40395 for ; Thu, 1 Sep 2022 08:28:11 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2811ZSk0020874 for ; Wed, 31 Aug 2022 23:28:10 -0700 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=nfo8VCMLTmy8YY9m9CEbQaeQvDZ2u5hNQ2P3WsfEbQM=; b=LybnfgzztBO/41Uwlmtrk2+u0Njs9ZK/be4bCfntCBqX2DYacUQ11TedmxwjW0DiMhYK ZiYZSQwwe+a0/h5Tza0j2ldFHtRx+1uNTLFVQRT0UujJS4gn5jdXxsTsCi/DQ5heJ7OE gcO3P6f23FrNo8WJL4JZFAb9kpYMmWvZL6DH3yWAUwVlRiFttY0LgFd6u+I7mQpufUTR EQCOgUjCbmD623/X2CbM18ISUbAoN2hXFEf7V+MvQrNrNoTExdDkqNRljC+7C/4OJ4e5 rwha7cKeemYEUV+w+duorMsRI/0Fp1IE1LRpRaHQ44pCw7I1yL/rfQwqcQKdZEH3G0fv 0A== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3jak730wd8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 31 Aug 2022 23:28:10 -0700 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Wed, 31 Aug 2022 23:28:08 -0700 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; Wed, 31 Aug 2022 23:28:08 -0700 Received: from localhost.localdomain (unknown [10.28.36.155]) by maili.marvell.com (Postfix) with ESMTP id 9B2A85B6928; Wed, 31 Aug 2022 23:28:06 -0700 (PDT) From: Hanumanth Pothula To: Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao CC: , , Subject: [PATCH v1 1/1] net/cnxk: program DF bit appropriately in vector mode Date: Thu, 1 Sep 2022 11:58:02 +0530 Message-ID: <20220901062802.2508287-1-hpothula@marvell.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Proofpoint-GUID: rcG5GkEXzOdXm15XXcySXLwIH_ei3Ob2 X-Proofpoint-ORIG-GUID: rcG5GkEXzOdXm15XXcySXLwIH_ei3Ob2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-09-01_04,2022-08-31_03,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 In vector mode, DF bit is not programmed correctly, as the return value of vsetq_lane_u64() is ignored, which actually contains the updated value, leading HW to free mbufs though NIX_TX_OFFLOAD_MBUF_NOFF_F flag is set. Hence, save return value of vsetq_lane_u64() appropriately so that DF bit is programmed correctly. Signed-off-by: Hanumanth Pothula --- drivers/net/cnxk/cn10k_tx.h | 8 ++++---- drivers/net/cnxk/cn9k_tx.h | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h index ea13866b20..fb33e7150b 100644 --- a/drivers/net/cnxk/cn10k_tx.h +++ b/drivers/net/cnxk/cn10k_tx.h @@ -2477,28 +2477,28 @@ cn10k_nix_xmit_pkts_vector(void *tx_queue, uint64_t *ws, mbuf3 = (uint64_t *)tx_pkts[3]; if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf0)) - vsetq_lane_u64(0x80000, xmask01, 0); + xmask01 = vsetq_lane_u64(0x80000, xmask01, 0); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf0)->pool, (void **)&mbuf0, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf1)) - vsetq_lane_u64(0x80000, xmask01, 1); + xmask01 = vsetq_lane_u64(0x80000, xmask01, 1); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf1)->pool, (void **)&mbuf1, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf2)) - vsetq_lane_u64(0x80000, xmask23, 0); + xmask23 = vsetq_lane_u64(0x80000, xmask23, 0); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf2)->pool, (void **)&mbuf2, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf3)) - vsetq_lane_u64(0x80000, xmask23, 1); + xmask23 = vsetq_lane_u64(0x80000, xmask23, 1); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf3)->pool, diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h index 6ce81f5c96..a609814dfb 100644 --- a/drivers/net/cnxk/cn9k_tx.h +++ b/drivers/net/cnxk/cn9k_tx.h @@ -1705,28 +1705,28 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts, mbuf3 = (uint64_t *)tx_pkts[3]; if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf0)) - vsetq_lane_u64(0x80000, xmask01, 0); + xmask01 = vsetq_lane_u64(0x80000, xmask01, 0); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf0)->pool, (void **)&mbuf0, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf1)) - vsetq_lane_u64(0x80000, xmask01, 1); + xmask01 = vsetq_lane_u64(0x80000, xmask01, 1); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf1)->pool, (void **)&mbuf1, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf2)) - vsetq_lane_u64(0x80000, xmask23, 0); + xmask23 = vsetq_lane_u64(0x80000, xmask23, 0); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf2)->pool, (void **)&mbuf2, 1, 0); if (cnxk_nix_prefree_seg((struct rte_mbuf *)mbuf3)) - vsetq_lane_u64(0x80000, xmask23, 1); + xmask23 = vsetq_lane_u64(0x80000, xmask23, 1); else RTE_MEMPOOL_CHECK_COOKIES( ((struct rte_mbuf *)mbuf3)->pool,