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 77FB042585; Wed, 13 Sep 2023 07:57:33 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03B4D402AE; Wed, 13 Sep 2023 07:57:33 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 65F5C40275 for ; Wed, 13 Sep 2023 07:57:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1694584651; x=1726120651; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=7/Rgc12UPueaNXelA0tTf9DcKKCFQFqudnNKtc7bJOk=; b=aUiBrvjs5peVnWHnglxNBQcHc2+Bu1naT6sHePWTxNAG6JgddNnYVzdo aDb4pF/102tcXAGyMsvyGmw+4ipvmugAsZ7KjmkBq0Q/dsusMgVtanESn rTPej0Aayn2N9zchae2pdwtCN1YvEjWdXnT4Q+3Vmy0zZyGAy50A8Wl4k wliK9HLJ4i4AVjs5QTOdsu6i50jQQNT9J4iJbdmenEXCgkpngqyAApWRZ 4+Ut3yyD010EGqt7O8mtApCwYiNxNHE1j0H+Lg7DjaRiY8BZlaF9WUcnx WEI6FYtVZeIZg9OJwDTx2MagK7CMd9amLyLTwuIDn8cSAc1887oF2tdVV w==; X-IronPort-AV: E=McAfee;i="6600,9927,10831"; a="358002947" X-IronPort-AV: E=Sophos;i="6.02,142,1688454000"; d="scan'208";a="358002947" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Sep 2023 22:57:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10831"; a="737371812" X-IronPort-AV: E=Sophos;i="6.02,142,1688454000"; d="scan'208";a="737371812" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 12 Sep 2023 22:57:30 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 12 Sep 2023 22:57:29 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 12 Sep 2023 22:57:29 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Tue, 12 Sep 2023 22:57:29 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Tue, 12 Sep 2023 22:57:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aa25JiPKzXzySLtwJVzKxcYthOrgh0fIJBDX8A75A9Jiujlah6lPk0Y0+kKbOPydWJ+h0Zy2UzBOnyg/Lr0P6ilXWQtPw8B1qxdExznjtNNYNCfLB85Xk8TXtm+l0prC7z7r90K30nCvj8UNS+VCilH1BU4Rldb7/rVqC69X4dISAYfyZFIQTa0xfDfqM+VMnfUeD+H7wnqQwFpUvfDXDsI4CZLnUqUr4jQQeDUAo2XGeElFN24k43mSZPmmZuLecawVDZ+M7uBxo4CdOdOvte0vr1Fh7OzfVGkewzjEBCmEi2l09XJyJ7N0f8G66D+8Wll1JyW/PhwA4/Ux8aAksA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9jiBlctNfJoe9WrOxtlnW/eLYbh8heyUX4X5fXxI+nU=; b=bosCJ7aCLtWQRT09Ud2HC77SsQsgJDzTFa2OjXLDIJETmcv4rCxcLIGMxQMQtt8YQtXb3hTe05gnqZm9oTrC79sZtcxE6JTUKvabVSb/QzwrKyVKm+zBRXkFMxH0b4AQkhsKnQcxVdNxqa6JK/1IeRwogaYYeDMXpELwkl1q26sr/rzPDhdITAaPpun9X9gtUm5Mu8z3NGNPOuIfNUWTx+4ztPUhO2eY7JaCHzT4pPnTGBiQSq+7RELOzc8fifCfqgOxEsoYc71a565+1y4K1mmoaapptxVEibbnnU6mX7oMGtWh75m+ErZrSHtT76GoBRyqgsqQQot74LxI2AMyrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from IA0PR11MB7955.namprd11.prod.outlook.com (2603:10b6:208:3dd::6) by SA3PR11MB7526.namprd11.prod.outlook.com (2603:10b6:806:31c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.30; Wed, 13 Sep 2023 05:57:21 +0000 Received: from IA0PR11MB7955.namprd11.prod.outlook.com ([fe80::6f86:7fd1:af53:ee2]) by IA0PR11MB7955.namprd11.prod.outlook.com ([fe80::6f86:7fd1:af53:ee2%7]) with mapi id 15.20.6768.029; Wed, 13 Sep 2023 05:57:21 +0000 From: "Wu, Wenjun1" To: "Su, Simei" , "Wu, Jingjing" , "Xing, Beilei" , "Zhang, Qi Z" CC: "dev@dpdk.org" Subject: RE: [PATCH v3] common/idpf: refactor single queue Tx function Thread-Topic: [PATCH v3] common/idpf: refactor single queue Tx function Thread-Index: AQHZ4j8bq7ugyzpym0CpJhm6B4JzhbAYSZ2g Date: Wed, 13 Sep 2023 05:57:20 +0000 Message-ID: References: <20230904070258.2130174-1-simei.su@intel.com> <20230908102827.2256297-1-simei.su@intel.com> In-Reply-To: <20230908102827.2256297-1-simei.su@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: IA0PR11MB7955:EE_|SA3PR11MB7526:EE_ x-ms-office365-filtering-correlation-id: 6c691dc0-4088-4909-76ea-08dbb41e4b3d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: v5arKHjQYKChkHdG7JUH+XK4axXg8LMOxjUR+h1GTk3i0wSaNAi2keVhA0QrkrQqSPzInFQ7pKtGUEnpWs5upn63A3fKPYTz2b2xZtdj152IDMRM2nvf3v6V2/3I0dXAZ3LZk6lSwMGMUIhvah5/DTpOwUIEqeUH1AaODtVbhJrYUncaiOvoe3FeKISzfuT/b9rhoMFQpC3h3S4e6Kzid7OsHi0sEFaszXf6y/i717JbmtKnURqu7pRLQc7gWaJFhgOU/gcid2Tz/cnvaHvRgcP7AowlwT1mdfI2FzqhbX5SsIcluC06U727y6oGKk5aPvqByDkDoF0MCznd9pSuW23tgcdBYpw3TeiK13H3gM97J67c3PPdH4sDs2OUbKE+Hxqp+ej2ZAU9S0YA8w7NWz9R+fhkty+cPI74SN47z2amdKmCTgQUb9h7f9Nb+8lFk3CABiAXhXVXrhcOM+xk3Yc3sMTeBj+ZYgDB53cWwzYPyoQRISqx/7vbWJ9IpT9OeXQcjlwSTSDwHv2zJXO/XPpHgSlmDcHYzx07KC9jEUtPFTSwmXu/8uoCvM6Di3CXKMab3SD4RxWCagYhBDTiYqNf8gusg90pQIZzWRw66Zg= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:IA0PR11MB7955.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(366004)(346002)(39860400002)(136003)(396003)(1800799009)(451199024)(186009)(6506007)(30864003)(2906002)(38100700002)(38070700005)(82960400001)(33656002)(86362001)(55016003)(122000001)(66446008)(66476007)(110136005)(66556008)(76116006)(66946007)(41300700001)(6636002)(316002)(8936002)(8676002)(64756008)(4326008)(478600001)(9686003)(71200400001)(53546011)(7696005)(83380400001)(5660300002)(52536014)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?khfIBIWSJyqyNByTeHyhg5saNQM/aHhBhKqlHa7QWKIpIHo+1coZAVeVRZK4?= =?us-ascii?Q?l95GX5bo8wXproD95QwpghLFB70BW/UGYALVNuP7c6/k1LZ4t9lk6QrqfEWh?= =?us-ascii?Q?qAyK9A3FEPoAuhlSliCRxXTPNYPWMHjCCEkLcs7lgOaoBG8aQEtV7aAP7c/4?= =?us-ascii?Q?P9hPHljPQidHHRerelRxo7kmHMZuCLtgr+VynVdnCFs2twoiE9AIMEHmcU63?= =?us-ascii?Q?/kHV1iiEQ1oDxjYJTfOjwhcOmOd5gqm6VODMQchkMWxl2UFIeQKDCAI+sax0?= =?us-ascii?Q?9HU3EM3aAaqpXHphGmG+sNBUZfT56LjE6XvRjSf7Wq7Aa34Z3EREgaKhamu+?= =?us-ascii?Q?z0LRRFngChn52XjJ0SgvLouBZdt6YdY9YTmS1RO0BnpfuuOTvNR4TdLEv+Hv?= =?us-ascii?Q?BDZd/D56Mx9pKicMtG7no3OZZBTbqXjkJ1EcnwwnxElzBQYHlQT3UtEiNEeL?= =?us-ascii?Q?NZ9de4xpXn95UXAEoWbGp8l129SfMxt/135lufwYacBwO/P+53s6gGJ4B4mH?= =?us-ascii?Q?mz8jP5P+h8TN/VDVJ8mKbz8eXd9PKO68B1tUHE6X/hfFKAB9A9KU9LO7uhJE?= =?us-ascii?Q?gyXAJOIRURyc6TeI/Xtul21yeQMuJanIEGfZtXSQoxG2b7446rXM818nwV90?= =?us-ascii?Q?13HZJ09yAkVVJLWnlPNIqkSvCYINaGaUkIcP6YbSdHkGpvGBrlAU7QSKUW4k?= =?us-ascii?Q?7Xd3pK3ZRy/5KLjpmp+uahdCu4t9DOMi42aF9bbaqHsZZkTcqfZbAjb8FkKA?= =?us-ascii?Q?ZO54wv05k7JOIF43V2AovarLeMdqv3B3pGoTO3va5vkwBKaba3611pKYyF+u?= =?us-ascii?Q?8Q1wmwytHd8ybdXxOualIMInsXBnBwD0ZbYE+ZOwClHkFbceY6ddUgMSJAog?= =?us-ascii?Q?pIk8sUKffLe7nws5e57xXrZcHVoYcxc8BrQSaPOL2SebMbJIbhIqO1KWjiFx?= =?us-ascii?Q?A4nMEsQtKYvacR6XexN3CRzfzfqenp8X1XFLD2O9XbBFNPXOjyVX4bPXpBBZ?= =?us-ascii?Q?yyob6F0knTQeht1XxlBjwJ52jy1uVpDoZQeRfjTe0lUA0Ptf62Lt4ParG/dV?= =?us-ascii?Q?2zG+Q75g34wEFqAlCB/99aExj81/r5ygqALdKIdxK58ek8FnrGhfe/Ly8ent?= =?us-ascii?Q?PHiRxdn22c9Guup6XJs+2tpnw/9KVsEBRoW37iihQvkIx7Ca6dJL07ePwCZb?= =?us-ascii?Q?32PpI14FCaT4tzdyHOPc+zWRJqN8pGjwodg0Kj/cPrHqTzvlGA7FrAO416Q2?= =?us-ascii?Q?C9VDVVcQHttkh4XJPZ2FldWGXn5PTQPdBdHGWol2Oo7YUQPMMcxbBaG0i03a?= =?us-ascii?Q?9eeX3fyotSprJvMwWlAcTF4UB0UszJq9Gr/JRw2gFF8m7LSeliz6LoP7ff/c?= =?us-ascii?Q?5diHmcBJRgVHtkcmK0yPYFGmmOzICgPh4z1XS7VvULYoDdPduDgJ2bwQBIJ/?= =?us-ascii?Q?1ABA7mtdnB+1NmqXgfwwvDITqY4OzWhNnD7Izjc/AR/5HUAT4LVUBNiWDQsj?= =?us-ascii?Q?WRLfel9AWU6NasgnkFr3re9a5P2mHntDcrN/vnzW3UGQJKYEaxIIER1ZkzmC?= =?us-ascii?Q?3cZ6cY3XmUCqHL2yWD/O4kCuI4EPuLK1PS2EWNfA?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: IA0PR11MB7955.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6c691dc0-4088-4909-76ea-08dbb41e4b3d X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2023 05:57:20.7194 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sTtJZvxUH+Ws+Qyn56FOkZrETDo5nAwu09R6ZJWVnhi+8Or+a18kGCn+6hJ2atuU0KrkOJYD3fj9BBzIisR0dw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB7526 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Su, Simei > Sent: Friday, September 8, 2023 6:28 PM > To: Wu, Jingjing ; Xing, Beilei ; > Zhang, Qi Z > Cc: dev@dpdk.org; Wu, Wenjun1 ; Su, Simei > > Subject: [PATCH v3] common/idpf: refactor single queue Tx function >=20 > This patch replaces flex Tx descriptor with base Tx descriptor to align w= ith > kernel driver practice. >=20 > Signed-off-by: Simei Su > --- > v3: > * Change context TSO descriptor from base mode to flex mode. >=20 > v2: > * Refine commit title and commit log. > * Remove redundant definition. > * Modify base mode context TSO descriptor. >=20 > drivers/common/idpf/idpf_common_rxtx.c | 39 +++++++++---------- > drivers/common/idpf/idpf_common_rxtx.h | 2 +- > drivers/common/idpf/idpf_common_rxtx_avx512.c | 37 +++++++++--------- > drivers/net/idpf/idpf_rxtx.c | 2 +- > 4 files changed, 39 insertions(+), 41 deletions(-) >=20 > diff --git a/drivers/common/idpf/idpf_common_rxtx.c > b/drivers/common/idpf/idpf_common_rxtx.c > index fc87e3e243..e6d2486272 100644 > --- a/drivers/common/idpf/idpf_common_rxtx.c > +++ b/drivers/common/idpf/idpf_common_rxtx.c > @@ -276,14 +276,14 @@ idpf_qc_single_tx_queue_reset(struct > idpf_tx_queue *txq) > } >=20 > txe =3D txq->sw_ring; > - size =3D sizeof(struct idpf_flex_tx_desc) * txq->nb_tx_desc; > + size =3D sizeof(struct idpf_base_tx_desc) * txq->nb_tx_desc; > for (i =3D 0; i < size; i++) > ((volatile char *)txq->tx_ring)[i] =3D 0; >=20 > prev =3D (uint16_t)(txq->nb_tx_desc - 1); > for (i =3D 0; i < txq->nb_tx_desc; i++) { > - txq->tx_ring[i].qw1.cmd_dtype =3D > - > rte_cpu_to_le_16(IDPF_TX_DESC_DTYPE_DESC_DONE); > + txq->tx_ring[i].qw1 =3D > + > rte_cpu_to_le_64(IDPF_TX_DESC_DTYPE_DESC_DONE); > txe[i].mbuf =3D NULL; > txe[i].last_id =3D i; > txe[prev].next_id =3D i; > @@ -1307,17 +1307,16 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq) > uint16_t nb_tx_to_clean; > uint16_t i; >=20 > - volatile struct idpf_flex_tx_desc *txd =3D txq->tx_ring; > + volatile struct idpf_base_tx_desc *txd =3D txq->tx_ring; >=20 > desc_to_clean_to =3D (uint16_t)(last_desc_cleaned + txq->rs_thresh); > if (desc_to_clean_to >=3D nb_tx_desc) > desc_to_clean_to =3D (uint16_t)(desc_to_clean_to - > nb_tx_desc); >=20 > desc_to_clean_to =3D sw_ring[desc_to_clean_to].last_id; > - /* In the writeback Tx desccriptor, the only significant fields are the= 4- > bit DTYPE */ > - if ((txd[desc_to_clean_to].qw1.cmd_dtype & > - rte_cpu_to_le_16(IDPF_TXD_QW1_DTYPE_M)) !=3D > - rte_cpu_to_le_16(IDPF_TX_DESC_DTYPE_DESC_DONE)) { > + if ((txd[desc_to_clean_to].qw1 & > + rte_cpu_to_le_64(IDPF_TXD_QW1_DTYPE_M)) !=3D > + rte_cpu_to_le_64(IDPF_TX_DESC_DTYPE_DESC_DONE)) { > TX_LOG(DEBUG, "TX descriptor %4u is not done " > "(port=3D%d queue=3D%d)", desc_to_clean_to, > txq->port_id, txq->queue_id); > @@ -1331,10 +1330,7 @@ idpf_xmit_cleanup(struct idpf_tx_queue *txq) > nb_tx_to_clean =3D (uint16_t)(desc_to_clean_to - > last_desc_cleaned); >=20 > - txd[desc_to_clean_to].qw1.cmd_dtype =3D 0; > - txd[desc_to_clean_to].qw1.buf_size =3D 0; > - for (i =3D 0; i < RTE_DIM(txd[desc_to_clean_to].qw1.flex.raw); i++) > - txd[desc_to_clean_to].qw1.flex.raw[i] =3D 0; > + txd[desc_to_clean_to].qw1 =3D 0; >=20 > txq->last_desc_cleaned =3D desc_to_clean_to; > txq->nb_free =3D (uint16_t)(txq->nb_free + nb_tx_to_clean); @@ - > 1347,8 +1343,8 @@ uint16_t idpf_dp_singleq_xmit_pkts(void *tx_queue, > struct rte_mbuf **tx_pkts, > uint16_t nb_pkts) > { > - volatile struct idpf_flex_tx_desc *txd; > - volatile struct idpf_flex_tx_desc *txr; > + volatile struct idpf_base_tx_desc *txd; > + volatile struct idpf_base_tx_desc *txr; > union idpf_tx_offload tx_offload =3D {0}; > struct idpf_tx_entry *txe, *txn; > struct idpf_tx_entry *sw_ring; > @@ -1356,6 +1352,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, > struct rte_mbuf *tx_pkt; > struct rte_mbuf *m_seg; > uint64_t buf_dma_addr; > + uint32_t td_offset; > uint64_t ol_flags; > uint16_t tx_last; > uint16_t nb_used; > @@ -1382,6 +1379,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, >=20 > for (nb_tx =3D 0; nb_tx < nb_pkts; nb_tx++) { > td_cmd =3D 0; > + td_offset =3D 0; >=20 > tx_pkt =3D *tx_pkts++; > RTE_MBUF_PREFETCH_TO_FREE(txe->mbuf); > @@ -1462,9 +1460,10 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, > slen =3D m_seg->data_len; > buf_dma_addr =3D rte_mbuf_data_iova(m_seg); > txd->buf_addr =3D rte_cpu_to_le_64(buf_dma_addr); > - txd->qw1.buf_size =3D slen; > - txd->qw1.cmd_dtype =3D > rte_cpu_to_le_16(IDPF_TX_DESC_DTYPE_FLEX_DATA << > - > IDPF_FLEX_TXD_QW1_DTYPE_S); > + txd->qw1 =3D > rte_cpu_to_le_64(IDPF_TX_DESC_DTYPE_DATA | > + ((uint64_t)td_cmd << > IDPF_TXD_QW1_CMD_S) | > + ((uint64_t)td_offset << > IDPF_TXD_QW1_OFFSET_S) | > + ((uint64_t)slen << > IDPF_TXD_QW1_TX_BUF_SZ_S)); >=20 > txe->last_id =3D tx_last; > tx_id =3D txe->next_id; > @@ -1473,7 +1472,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, > } while (m_seg); >=20 > /* The last packet data descriptor needs End Of Packet (EOP) > */ > - td_cmd |=3D IDPF_TX_FLEX_DESC_CMD_EOP; > + td_cmd |=3D IDPF_TX_DESC_CMD_EOP; > txq->nb_used =3D (uint16_t)(txq->nb_used + nb_used); > txq->nb_free =3D (uint16_t)(txq->nb_free - nb_used); >=20 > @@ -1482,7 +1481,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, > "%4u (port=3D%d queue=3D%d)", > tx_last, txq->port_id, txq->queue_id); >=20 > - td_cmd |=3D IDPF_TX_FLEX_DESC_CMD_RS; > + td_cmd |=3D IDPF_TX_DESC_CMD_RS; >=20 > /* Update txq RS bit counters */ > txq->nb_used =3D 0; > @@ -1491,7 +1490,7 @@ idpf_dp_singleq_xmit_pkts(void *tx_queue, struct > rte_mbuf **tx_pkts, > if (ol_flags & IDPF_TX_CKSUM_OFFLOAD_MASK) > td_cmd |=3D IDPF_TX_FLEX_DESC_CMD_CS_EN; >=20 > - txd->qw1.cmd_dtype |=3D rte_cpu_to_le_16(td_cmd << > IDPF_FLEX_TXD_QW1_CMD_S); > + txd->qw1 |=3D rte_cpu_to_le_16(td_cmd << > IDPF_TXD_QW1_CMD_S); > } >=20 > end_of_tx: > diff --git a/drivers/common/idpf/idpf_common_rxtx.h > b/drivers/common/idpf/idpf_common_rxtx.h > index 6cb83fc0a6..b49b1ed737 100644 > --- a/drivers/common/idpf/idpf_common_rxtx.h > +++ b/drivers/common/idpf/idpf_common_rxtx.h > @@ -157,7 +157,7 @@ struct idpf_tx_entry { > /* Structure associated with each TX queue. */ struct idpf_tx_queue { > const struct rte_memzone *mz; /* memzone for Tx ring */ > - volatile struct idpf_flex_tx_desc *tx_ring; /* Tx ring virtual > address */ > + volatile struct idpf_base_tx_desc *tx_ring; /* Tx ring virtual > address */ > volatile union { > struct idpf_flex_tx_sched_desc *desc_ring; > struct idpf_splitq_tx_compl_desc *compl_ring; diff --git > a/drivers/common/idpf/idpf_common_rxtx_avx512.c > b/drivers/common/idpf/idpf_common_rxtx_avx512.c > index 81312617cc..afb0014a13 100644 > --- a/drivers/common/idpf/idpf_common_rxtx_avx512.c > +++ b/drivers/common/idpf/idpf_common_rxtx_avx512.c > @@ -1005,7 +1005,7 @@ idpf_tx_singleq_free_bufs_avx512(struct > idpf_tx_queue *txq) > struct rte_mbuf *m, *free[txq->rs_thresh]; >=20 > /* check DD bits on threshold descriptor */ > - if ((txq->tx_ring[txq->next_dd].qw1.cmd_dtype & > + if ((txq->tx_ring[txq->next_dd].qw1 & > rte_cpu_to_le_64(IDPF_TXD_QW1_DTYPE_M)) !=3D >=20 > rte_cpu_to_le_64(IDPF_TX_DESC_DTYPE_DESC_DONE)) > return 0; > @@ -1113,15 +1113,14 @@ tx_backlog_entry_avx512(struct > idpf_tx_vec_entry *txep, > txep[i].mbuf =3D tx_pkts[i]; > } >=20 > -#define IDPF_FLEX_TXD_QW1_BUF_SZ_S 48 > static __rte_always_inline void > -idpf_singleq_vtx1(volatile struct idpf_flex_tx_desc *txdp, > +idpf_singleq_vtx1(volatile struct idpf_base_tx_desc *txdp, > struct rte_mbuf *pkt, uint64_t flags) { > uint64_t high_qw =3D > - (IDPF_TX_DESC_DTYPE_FLEX_DATA << > IDPF_FLEX_TXD_QW1_DTYPE_S | > - ((uint64_t)flags << IDPF_FLEX_TXD_QW1_CMD_S) | > - ((uint64_t)pkt->data_len << > IDPF_FLEX_TXD_QW1_BUF_SZ_S)); > + (IDPF_TX_DESC_DTYPE_DATA | > + ((uint64_t)flags << IDPF_TXD_QW1_CMD_S) | > + ((uint64_t)pkt->data_len << IDPF_TXD_QW1_TX_BUF_SZ_S)); >=20 > __m128i descriptor =3D _mm_set_epi64x(high_qw, > pkt->buf_iova + pkt->data_off); > @@ -1131,11 +1130,11 @@ idpf_singleq_vtx1(volatile struct > idpf_flex_tx_desc *txdp, #define IDPF_TX_LEN_MASK 0xAA #define > IDPF_TX_OFF_MASK 0x55 static __rte_always_inline void - > idpf_singleq_vtx(volatile struct idpf_flex_tx_desc *txdp, > +idpf_singleq_vtx(volatile struct idpf_base_tx_desc *txdp, > struct rte_mbuf **pkt, uint16_t nb_pkts, uint64_t flags) { > - const uint64_t hi_qw_tmpl =3D (IDPF_TX_DESC_DTYPE_FLEX_DATA | > - ((uint64_t)flags << IDPF_FLEX_TXD_QW1_CMD_S)); > + const uint64_t hi_qw_tmpl =3D (IDPF_TX_DESC_DTYPE_DATA | > + ((uint64_t)flags << IDPF_TXD_QW1_CMD_S)); >=20 > /* if unaligned on 32-bit boundary, do one to align */ > if (((uintptr_t)txdp & 0x1F) !=3D 0 && nb_pkts !=3D 0) { @@ -1148,19 > +1147,19 @@ idpf_singleq_vtx(volatile struct idpf_flex_tx_desc *txdp, > uint64_t hi_qw3 =3D > hi_qw_tmpl | > ((uint64_t)pkt[3]->data_len << > - IDPF_FLEX_TXD_QW1_BUF_SZ_S); > + IDPF_TXD_QW1_TX_BUF_SZ_S); > uint64_t hi_qw2 =3D > hi_qw_tmpl | > ((uint64_t)pkt[2]->data_len << > - IDPF_FLEX_TXD_QW1_BUF_SZ_S); > + IDPF_TXD_QW1_TX_BUF_SZ_S); > uint64_t hi_qw1 =3D > hi_qw_tmpl | > ((uint64_t)pkt[1]->data_len << > - IDPF_FLEX_TXD_QW1_BUF_SZ_S); > + IDPF_TXD_QW1_TX_BUF_SZ_S); > uint64_t hi_qw0 =3D > hi_qw_tmpl | > ((uint64_t)pkt[0]->data_len << > - IDPF_FLEX_TXD_QW1_BUF_SZ_S); > + IDPF_TXD_QW1_TX_BUF_SZ_S); >=20 > __m512i desc0_3 =3D > _mm512_set_epi64 > @@ -1187,11 +1186,11 @@ idpf_singleq_xmit_fixed_burst_vec_avx512(void > *tx_queue, struct rte_mbuf **tx_pk > uint16_t nb_pkts) > { > struct idpf_tx_queue *txq =3D tx_queue; > - volatile struct idpf_flex_tx_desc *txdp; > + volatile struct idpf_base_tx_desc *txdp; > struct idpf_tx_vec_entry *txep; > uint16_t n, nb_commit, tx_id; > - uint64_t flags =3D IDPF_TX_FLEX_DESC_CMD_EOP; > - uint64_t rs =3D IDPF_TX_FLEX_DESC_CMD_RS | flags; > + uint64_t flags =3D IDPF_TX_DESC_CMD_EOP; > + uint64_t rs =3D IDPF_TX_DESC_CMD_RS | flags; >=20 > /* cross rx_thresh boundary is not allowed */ > nb_pkts =3D RTE_MIN(nb_pkts, txq->rs_thresh); @@ -1238,9 +1237,9 > @@ idpf_singleq_xmit_fixed_burst_vec_avx512(void *tx_queue, struct > rte_mbuf **tx_pk >=20 > tx_id =3D (uint16_t)(tx_id + nb_commit); > if (tx_id > txq->next_rs) { > - txq->tx_ring[txq->next_rs].qw1.cmd_dtype |=3D > - > rte_cpu_to_le_64(((uint64_t)IDPF_TX_FLEX_DESC_CMD_RS) << > - IDPF_FLEX_TXD_QW1_CMD_S); > + txq->tx_ring[txq->next_rs].qw1 |=3D > + > rte_cpu_to_le_64(((uint64_t)IDPF_TX_DESC_CMD_RS) << > + IDPF_TXD_QW1_CMD_S); > txq->next_rs =3D > (uint16_t)(txq->next_rs + txq->rs_thresh); > } > diff --git a/drivers/net/idpf/idpf_rxtx.c b/drivers/net/idpf/idpf_rxtx.c = index > 3e3d81ca6d..64f2235580 100644 > --- a/drivers/net/idpf/idpf_rxtx.c > +++ b/drivers/net/idpf/idpf_rxtx.c > @@ -74,7 +74,7 @@ idpf_dma_zone_reserve(struct rte_eth_dev *dev, > uint16_t queue_idx, > ring_size =3D RTE_ALIGN(len * sizeof(struct > idpf_flex_tx_sched_desc), > IDPF_DMA_MEM_ALIGN); > else > - ring_size =3D RTE_ALIGN(len * sizeof(struct > idpf_flex_tx_desc), > + ring_size =3D RTE_ALIGN(len * sizeof(struct > idpf_base_tx_desc), > IDPF_DMA_MEM_ALIGN); > rte_memcpy(ring_name, "idpf Tx ring", sizeof("idpf Tx ring")); > break; > -- > 2.25.1 Acked-by: Wenjun Wu