From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 8AB4FA0A02;
	Tue,  6 Apr 2021 11:30:29 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 72FDA140F1F;
	Tue,  6 Apr 2021 11:30:29 +0200 (CEST)
Received: from NAM04-CO1-obe.outbound.protection.outlook.com
 (mail-eopbgr690052.outbound.protection.outlook.com [40.107.69.52])
 by mails.dpdk.org (Postfix) with ESMTP id 4962C406A2
 for <dev@dpdk.org>; Tue,  6 Apr 2021 11:30:27 +0200 (CEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HMrJrh5BnI0o5dEy4IRauE86emvEnej4xKOII0100mJlir/KyoekDOQqPgTttAcO70WKPcqLwG1Cn9MihIqkt8Nr4Q8cZOHhqzrAdo78OsCLFfECni/0ZYv0l6kOp/lPCFEl/xdn3psaqmF6GqvRnCjtDsVOmA4Gpe7FZD6EulDOf7Ba7/6tedwpW1DTAluKCPw+oVmXLsIW26rGqayIpPEe6roPMmCtQMeLOQh51mf05y8BEI14QwD62525AZL2w+tRgM8bfjLSGvBbeTrx4Uzp+whoR7ejx6pn1MUmTweS1Alc3axH6SzAxe1o83/i2g6suCV4krIO11ohL2JriA==
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=nQppMo8YkAMKrBoOip4gzyRSmcBaWVBYCA2vZHX1Ohc=;
 b=QTaJ7e2H1IC8em7Ybluqp9/XkmNACel9zWWSCCTXUGyGr07mNNgpbbxnNGbq3wpER3N2UXLMYnwOGbtE4fSzOOS7amGzlxR8GnLgeH74ZBxOB63upuVqFjpdBDIENW/8ubLs/VK6KedLbuUGo3e/kQ3I+cUGKELWZXg0M8bWxvpVGcV3+OpzH+fB6rjWOm+jhKDGwUu92sOAdQOEcbucuOqbubMk06OYkQlAGeUG8IAtJr7D9JwoTTGmkLpO6ui3v+A2DRW+04/YVoQnlGbDoExT3F9hFZEFxTj6vl1jaKK2zAx3QllqgYJtjSdprMQp/6dKQoOY/zulP9VmEeD15g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nQppMo8YkAMKrBoOip4gzyRSmcBaWVBYCA2vZHX1Ohc=;
 b=ggvyb6NKPFxknIC9znFETTDwCvWg45ekoF6IV34jsqCI5Cf4SqBdesmh76IkTzRG/3H4UGp00c0WAeCqJI6E678R08ft0pOPgA6TZJcOyYJwTWRBtVEJL7xrTLpkore+brqb3WKc/rLPNUEw74YtGm6Vm/0mFPwBd7tLMn2CxZ/dAVazZkpzygSk+zAsflM9UmtSSFrMPeYr2ZOsPFR9z9GASVm1N7ViNsx3e+BZsHdQx8CGzT2KVYMBUudEw/Sib62XcmG4aErwXPwfivBhTkmjCtZiPR/2a7hijeK0hpJqm5BqlDZT08P0ATuUOoY3u7fQ+9afYZGnfBB/FyQNvw==
Received: from DM6PR12MB3753.namprd12.prod.outlook.com (2603:10b6:5:1c7::18)
 by DM6PR12MB4481.namprd12.prod.outlook.com (2603:10b6:5:2af::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3999.26; Tue, 6 Apr
 2021 09:30:25 +0000
Received: from DM6PR12MB3753.namprd12.prod.outlook.com
 ([fe80::20f7:11fc:9d46:9258]) by DM6PR12MB3753.namprd12.prod.outlook.com
 ([fe80::20f7:11fc:9d46:9258%6]) with mapi id 15.20.3999.032; Tue, 6 Apr 2021
 09:30:25 +0000
From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: Michael Baum <michaelba@nvidia.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: Matan Azrad <matan@nvidia.com>, Raslan Darawsheh <rasland@nvidia.com>
Thread-Topic: [PATCH 6/6] net/mlx5: separate Tx burst functions to different
 files
Thread-Index: AQHXKiQxfA47SSfTLEOR/zpnBlit9qqnOqEQ
Date: Tue, 6 Apr 2021 09:30:25 +0000
Message-ID: <DM6PR12MB375354CEB602085DB14B34CEDF769@DM6PR12MB3753.namprd12.prod.outlook.com>
References: <1617631256-3018-1-git-send-email-michaelba@nvidia.com>
 <1617631256-3018-7-git-send-email-michaelba@nvidia.com>
In-Reply-To: <1617631256-3018-7-git-send-email-michaelba@nvidia.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: nvidia.com; dkim=none (message not signed)
 header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com;
x-originating-ip: [95.164.10.10]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 10875159-dd5a-493f-e146-08d8f8de9bf3
x-ms-traffictypediagnostic: DM6PR12MB4481:
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <DM6PR12MB4481AD5ED328E5E512BA39AADF769@DM6PR12MB4481.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:1247;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: y2oYpI5RGPo4J+D0XHIiNaWoAbgoy1POJQGeS+QEgQujroJFmzSTtScgXiFzn+IsMW/AiB59REHZkIRVtRrFmIkbKR7bb8CHpBfutGNnSloB4zv1bVx0Xw5QCOFcJbXPyI/Nn8v1uEMUrFegDRvrIDbA+NvRcb2kkKC4jLeUi2QrcYK1HwW6zjc0mZ/IjkZY2MN9+0U7hXU95RuJIo6Y4Cxla4p++lcO+czd3/B4ziVsGdI5tRTHjBRXQPAWvlk0drdRHFk+54F7Ky2U51nCwyTp7X8Y3DdUAyTYl+i9xvG29ey6i9JRCPToaTsLq/tqnGoE2eWeNcWTnVlTeCUA4yTUn6eYKGqt1ZZ/0WW8h4dpCuIGUcO7RJ5jdF3h4pIdPq19D83ZfBFPd01Wd8Bqfx8BhGDtgdmeu1d7w/jQaaHPtZZUWHnR7EA4YnWWzqIXmPd0I28YqXcuB8Y5B8E+BvUBiCK1LBNEBvPYG8b9Ludq0UJdAHTSZxKe5U3CK6ULSj96iG4o357G1jKu1rHk4PjGdcIy8oSc1TH8nsjvWFUW8bo3MByIu+I1Kcnb1cOB9H7DXRa5iqvKc28ZZqWnx1w9amfkuUwkVcfsSdd7g3T9MU5osaFAr4Wbv6rX5UGLrBPLJlTcWlrynZuqCxGGC0SnOKxJF2wEIg4K/YFnVT0=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM6PR12MB3753.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(346002)(136003)(376002)(396003)(39860400002)(366004)(76116006)(33656002)(64756008)(54906003)(66446008)(186003)(66556008)(66476007)(4326008)(71200400001)(110136005)(66946007)(5660300002)(7696005)(86362001)(316002)(6506007)(55016002)(30864003)(52536014)(9686003)(38100700001)(83380400001)(8676002)(8936002)(2906002)(26005)(107886003)(53546011)(478600001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: =?us-ascii?Q?DlPF0Vgl+jAx4Ksk7OMsSCe4yvOOjN8itddqGF/YzUrIoNGoPZDM9JCSQD29?=
 =?us-ascii?Q?nuZvtdDe10qbuj+d7A624Wc71l1YfDPNXPPazG9rBkYVIpavSIERkh/jAivU?=
 =?us-ascii?Q?DN6TFO7mD0kqHTPsb4ZCvAYKYiVcJgqMOjscxmPw/Sqf9muD1xYRktEVUPzd?=
 =?us-ascii?Q?dVwwMNhhf0JYPFb90TW87LpBKOwBkPdtyY+gigoY0A0/4yH1ANYR2BRu3jsB?=
 =?us-ascii?Q?VxTeVhMqEu8qB6YIvZZUwlgiasHAUiSeZXVwbl/qTV54cp82+4z3HWMfgmYz?=
 =?us-ascii?Q?KlnNIRQKCzxdCUizhw0rbd4iBL8orR04QDS8ppDCC8/Ab87BhrTk+BELFe1D?=
 =?us-ascii?Q?9IfumQJY4VU+l/NGqa5PkeV24XHJDQC4owm64pBo+o9t94Eb9O17Ys06YTVx?=
 =?us-ascii?Q?g36MGqC2uHVlFFKzEbJzUIzoeM5Y9yqPUkrn5AOZzqW0A6yCaz+IGYaev4Um?=
 =?us-ascii?Q?BLuREBvMzo+kkPmEaTodWGu3wx7LgDIhu0iBZ1E4kyVXZsdw9gmTi5YoV5yB?=
 =?us-ascii?Q?UlSwyf1DzUkuOEFmC+L32a1HJST6pS/92U9Xaj446XEN0wNPHs0ERo7dcL3y?=
 =?us-ascii?Q?God556Ju2UUGR3HdXEgbu4YcIr8Do90hmuicBts20ySGqgknUqdcw3JArgMV?=
 =?us-ascii?Q?Ij34yxDYSgpWhscztWjP2nY3xmu107UFTmAWtHcYvdqtXeZ1qv46zbBolvut?=
 =?us-ascii?Q?AYbOYE5MjfWnVJlGgS6u9ThaOkFjvaA68kOHQ/Fo/o93GIl3YGloIZ0usJDQ?=
 =?us-ascii?Q?n8DN/ktxs4iVFu2DqGCnnm3PF6JFYqyjmma3FVdM5NnYS99rQu4d4PJoeTKY?=
 =?us-ascii?Q?7tWgpUf7w8iqa7TeH5K/cAoPOeeuN3VCNpBEi0gZkWNynp90IrckmJJssEdW?=
 =?us-ascii?Q?AVB6l5TCM5gSokl75jCJ/BeJVd/l0/0FQzWvkqC9vgh+LDBu2uHgbBp1wnDS?=
 =?us-ascii?Q?QExHOMP2vOipkSEqxVLEIre0RtMgLO5Jr1GjxP40twWqa1sOQJHH1thqzQUX?=
 =?us-ascii?Q?T+RBYG6Ceb+Zf63N8gv0nnzyaBQu8w2DBCrC4xBYECwxDZOsWSE+BOGfp/gI?=
 =?us-ascii?Q?+ekbh5atamCDMznLhrZbGPSVna4QZmzBgpCMcIgrgULQhz++2h1rCl7Vo4Fs?=
 =?us-ascii?Q?6PVreNHsql+BFtPZwj3zM+sBpqLj6FfBb/appKkO7T2jekTcYTt1JxS1t72x?=
 =?us-ascii?Q?YIi/5gE79zH8uKbIvgFGekPiwPAheOnvnX8KMUnlP3+zUAwKePaJUX53MiRB?=
 =?us-ascii?Q?x2QVjgM1ep3/hRhf6zsQMgheTfgCu2/8lIdwuTvE7nOlxMOHlxCu2cAUvDle?=
 =?us-ascii?Q?5AfMjvCEm7QiY5xuDhWpz0zb?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3753.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 10875159-dd5a-493f-e146-08d8f8de9bf3
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2021 09:30:25.4925 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jpdPfAAQYfOFsM+lHxRu/io0fJHnUfemxdu97ei/1MkirDoq+WlPQ4OksHkJoabxuQFAZ0xHhn2l8siw86/kqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4481
Subject: Re: [dpdk-dev] [PATCH 6/6] net/mlx5: separate Tx burst functions to
 different files
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

> -----Original Message-----
> From: Michael Baum <michaelba@nvidia.com>
> Sent: Monday, April 5, 2021 17:01
> To: dev@dpdk.org
> Cc: Matan Azrad <matan@nvidia.com>; Raslan Darawsheh
> <rasland@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>
> Subject: [PATCH 6/6] net/mlx5: separate Tx burst functions to different f=
iles
>=20
> This patch separates Tx burst function implementations to different sourc=
e
> files, thus allowing them to compile in parallel.
>=20
> Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>


> ---
>  drivers/net/mlx5/meson.build     |   4 +
>  drivers/net/mlx5/mlx5_rxtx.c     | 201 ---------------------------------=
------
>  drivers/net/mlx5/mlx5_tx.h       |   8 +-
>  drivers/net/mlx5/mlx5_tx_empw.c  |  71 ++++++++++++++
>  drivers/net/mlx5/mlx5_tx_mpw.c   |  34 +++++++
>  drivers/net/mlx5/mlx5_tx_nompw.c |  71 ++++++++++++++
> drivers/net/mlx5/mlx5_tx_txpp.c  |  45 +++++++++
>  7 files changed, 232 insertions(+), 202 deletions(-)  create mode 100644
> drivers/net/mlx5/mlx5_tx_empw.c  create mode 100644
> drivers/net/mlx5/mlx5_tx_mpw.c  create mode 100644
> drivers/net/mlx5/mlx5_tx_nompw.c  create mode 100644
> drivers/net/mlx5/mlx5_tx_txpp.c
>=20
> diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
> index 688a925..59afd3f 100644
> --- a/drivers/net/mlx5/meson.build
> +++ b/drivers/net/mlx5/meson.build
> @@ -26,6 +26,10 @@ sources =3D files(
>  	'mlx5_stats.c',
>  	'mlx5_trigger.c',
>      'mlx5_tx.c',
> +    'mlx5_tx_empw.c',
> +    'mlx5_tx_mpw.c',
> +    'mlx5_tx_nompw.c',
> +    'mlx5_tx_txpp.c',
>  	'mlx5_txq.c',
>  	'mlx5_txpp.c',
>  	'mlx5_vlan.c',
> diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c
> index 35c4cc3..7b984ef 100644
> --- a/drivers/net/mlx5/mlx5_rxtx.c
> +++ b/drivers/net/mlx5/mlx5_rxtx.c
> @@ -429,204 +429,3 @@
>  	}
>  	return ret;
>  }
> -
> -/* Generate routines with Enhanced Multi-Packet Write support. */ -
> MLX5_TXOFF_DECL(full_empw,
> -		MLX5_TXOFF_CONFIG_FULL |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(none_empw,
> -		MLX5_TXOFF_CONFIG_NONE |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(md_empw,
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mt_empw,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mtsc_empw,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mti_empw,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mtv_empw,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mtiv_empw,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(sc_empw,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(sci_empw,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(scv_empw,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(sciv_empw,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(i_empw,
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(v_empw,
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(iv_empw,
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -/* Generate routines without Enhanced Multi-Packet Write support. */ -
> MLX5_TXOFF_DECL(full,
> -		MLX5_TXOFF_CONFIG_FULL)
> -
> -MLX5_TXOFF_DECL(none,
> -		MLX5_TXOFF_CONFIG_NONE)
> -
> -MLX5_TXOFF_DECL(md,
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(mt,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(mtsc,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(mti,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -
> -MLX5_TXOFF_DECL(mtv,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -
> -MLX5_TXOFF_DECL(mtiv,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(sc,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(sci,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -
> -MLX5_TXOFF_DECL(scv,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -
> -MLX5_TXOFF_DECL(sciv,
> -		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(i,
> -		MLX5_TXOFF_CONFIG_INLINE |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(v,
> -		MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -MLX5_TXOFF_DECL(iv,
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA)
> -
> -/* Generate routines with timestamp scheduling. */ -
> MLX5_TXOFF_DECL(full_ts_nompw,
> -		MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP)
> -
> -MLX5_TXOFF_DECL(full_ts_nompwi,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM
> |
> -		MLX5_TXOFF_CONFIG_VLAN |
> MLX5_TXOFF_CONFIG_METADATA |
> -		MLX5_TXOFF_CONFIG_TXPP)
> -
> -MLX5_TXOFF_DECL(full_ts,
> -		MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP
> |
> -		MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(full_ts_noi,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM
> |
> -		MLX5_TXOFF_CONFIG_VLAN |
> MLX5_TXOFF_CONFIG_METADATA |
> -		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(none_ts,
> -		MLX5_TXOFF_CONFIG_NONE | MLX5_TXOFF_CONFIG_TXPP
> |
> -		MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mdi_ts,
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_METADATA |
> -		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mti_ts,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_METADATA |
> -		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> -
> -MLX5_TXOFF_DECL(mtiv_ts,
> -		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> -		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_TXPP |
> -		MLX5_TXOFF_CONFIG_EMPW)
> -
> -/*
> - * Generate routines with Legacy Multi-Packet Write support.
> - * This mode is supported by ConnectX-4 Lx only and imposes
> - * offload limitations, not supported:
> - *   - ACL/Flows (metadata are becoming meaningless)
> - *   - WQE Inline headers
> - *   - SRIOV (E-Switch offloads)
> - *   - VLAN insertion
> - *   - tunnel encapsulation/decapsulation
> - *   - TSO
> - */
> -MLX5_TXOFF_DECL(none_mpw,
> -		MLX5_TXOFF_CONFIG_NONE |
> MLX5_TXOFF_CONFIG_EMPW |
> -		MLX5_TXOFF_CONFIG_MPW)
> -
> -MLX5_TXOFF_DECL(mci_mpw,
> -		MLX5_TXOFF_CONFIG_MULTI |
> MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_EMPW |
> -		MLX5_TXOFF_CONFIG_MPW)
> -
> -MLX5_TXOFF_DECL(mc_mpw,
> -		MLX5_TXOFF_CONFIG_MULTI |
> MLX5_TXOFF_CONFIG_CSUM |
> -		MLX5_TXOFF_CONFIG_EMPW |
> MLX5_TXOFF_CONFIG_MPW)
> -
> -MLX5_TXOFF_DECL(i_mpw,
> -		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_EMPW |
> -		MLX5_TXOFF_CONFIG_MPW)
> diff --git a/drivers/net/mlx5/mlx5_tx.h b/drivers/net/mlx5/mlx5_tx.h inde=
x
> 7a03aaf..7d3ff84 100644
> --- a/drivers/net/mlx5/mlx5_tx.h
> +++ b/drivers/net/mlx5/mlx5_tx.h
> @@ -242,7 +242,7 @@ int mlx5_tx_burst_mode_get(struct rte_eth_dev
> *dev, uint16_t tx_queue_id,  uint32_t mlx5_tx_update_ext_mp(struct
> mlx5_txq_data *txq, uintptr_t addr,
>  			       struct rte_mempool *mp);
>=20
> -/* mlx5_rxtx.c */
> +/* mlx5_tx_empw.c */
>=20
>  MLX5_TXOFF_PRE_DECL(full_empw);
>  MLX5_TXOFF_PRE_DECL(none_empw);
> @@ -260,6 +260,8 @@ uint32_t mlx5_tx_update_ext_mp(struct
> mlx5_txq_data *txq, uintptr_t addr,  MLX5_TXOFF_PRE_DECL(v_empw);
> MLX5_TXOFF_PRE_DECL(iv_empw);
>=20
> +/* mlx5_tx_nompw.c */
> +
>  MLX5_TXOFF_PRE_DECL(full);
>  MLX5_TXOFF_PRE_DECL(none);
>  MLX5_TXOFF_PRE_DECL(md);
> @@ -276,6 +278,8 @@ uint32_t mlx5_tx_update_ext_mp(struct
> mlx5_txq_data *txq, uintptr_t addr,  MLX5_TXOFF_PRE_DECL(v);
> MLX5_TXOFF_PRE_DECL(iv);
>=20
> +/* mlx5_tx_txpp.c */
> +
>  MLX5_TXOFF_PRE_DECL(full_ts_nompw);
>  MLX5_TXOFF_PRE_DECL(full_ts_nompwi);
>  MLX5_TXOFF_PRE_DECL(full_ts);
> @@ -285,6 +289,8 @@ uint32_t mlx5_tx_update_ext_mp(struct
> mlx5_txq_data *txq, uintptr_t addr,  MLX5_TXOFF_PRE_DECL(mti_ts);
> MLX5_TXOFF_PRE_DECL(mtiv_ts);
>=20
> +/* mlx5_tx_mpw.c */
> +
>  MLX5_TXOFF_PRE_DECL(none_mpw);
>  MLX5_TXOFF_PRE_DECL(mci_mpw);
>  MLX5_TXOFF_PRE_DECL(mc_mpw);
> diff --git a/drivers/net/mlx5/mlx5_tx_empw.c
> b/drivers/net/mlx5/mlx5_tx_empw.c new file mode 100644 index
> 0000000..81c2dc4
> --- /dev/null
> +++ b/drivers/net/mlx5/mlx5_tx_empw.c
> @@ -0,0 +1,71 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright 2021 6WIND S.A.
> + * Copyright 2021 Mellanox Technologies, Ltd  */
> +
> +#include "mlx5_tx.h"
> +
> +/* Generate routines with Enhanced Multi-Packet Write support. */
> +MLX5_TXOFF_DECL(full_empw,
> +		MLX5_TXOFF_CONFIG_FULL |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(none_empw,
> +		MLX5_TXOFF_CONFIG_NONE |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(md_empw,
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mt_empw,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mtsc_empw,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mti_empw,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mtv_empw,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mtiv_empw,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(sc_empw,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(sci_empw,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(scv_empw,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(sciv_empw,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(i_empw,
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(v_empw,
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(iv_empw,
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_EMPW)
> diff --git a/drivers/net/mlx5/mlx5_tx_mpw.c
> b/drivers/net/mlx5/mlx5_tx_mpw.c new file mode 100644 index
> 0000000..bd7d5d2
> --- /dev/null
> +++ b/drivers/net/mlx5/mlx5_tx_mpw.c
> @@ -0,0 +1,34 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright 2021 6WIND S.A.
> + * Copyright 2021 Mellanox Technologies, Ltd  */
> +
> +#include "mlx5_tx.h"
> +
> +/*
> + * Generate routines with Legacy Multi-Packet Write support.
> + * This mode is supported by ConnectX-4 Lx only and imposes
> + * offload limitations, not supported:
> + *   - ACL/Flows (metadata are becoming meaningless)
> + *   - WQE Inline headers
> + *   - SRIOV (E-Switch offloads)
> + *   - VLAN insertion
> + *   - tunnel encapsulation/decapsulation
> + *   - TSO
> + */
> +MLX5_TXOFF_DECL(none_mpw,
> +		MLX5_TXOFF_CONFIG_NONE |
> MLX5_TXOFF_CONFIG_EMPW |
> +		MLX5_TXOFF_CONFIG_MPW)
> +
> +MLX5_TXOFF_DECL(mci_mpw,
> +		MLX5_TXOFF_CONFIG_MULTI |
> MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_EMPW |
> +		MLX5_TXOFF_CONFIG_MPW)
> +
> +MLX5_TXOFF_DECL(mc_mpw,
> +		MLX5_TXOFF_CONFIG_MULTI |
> MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_EMPW |
> MLX5_TXOFF_CONFIG_MPW)
> +
> +MLX5_TXOFF_DECL(i_mpw,
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_EMPW |
> +		MLX5_TXOFF_CONFIG_MPW)
> diff --git a/drivers/net/mlx5/mlx5_tx_nompw.c
> b/drivers/net/mlx5/mlx5_tx_nompw.c
> new file mode 100644
> index 0000000..ad23aab
> --- /dev/null
> +++ b/drivers/net/mlx5/mlx5_tx_nompw.c
> @@ -0,0 +1,71 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright 2021 6WIND S.A.
> + * Copyright 2021 Mellanox Technologies, Ltd  */
> +
> +#include "mlx5_tx.h"
> +
> +/* Generate routines without Enhanced Multi-Packet Write support. */
> +MLX5_TXOFF_DECL(full,
> +		MLX5_TXOFF_CONFIG_FULL)
> +
> +MLX5_TXOFF_DECL(none,
> +		MLX5_TXOFF_CONFIG_NONE)
> +
> +MLX5_TXOFF_DECL(md,
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(mt,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(mtsc,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(mti,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(mtv,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(mtiv,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(sc,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(sci,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(scv,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(sciv,
> +		MLX5_TXOFF_CONFIG_SWP |
> 	MLX5_TXOFF_CONFIG_CSUM |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(i,
> +		MLX5_TXOFF_CONFIG_INLINE |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(v,
> +		MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> +
> +MLX5_TXOFF_DECL(iv,
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA)
> diff --git a/drivers/net/mlx5/mlx5_tx_txpp.c
> b/drivers/net/mlx5/mlx5_tx_txpp.c new file mode 100644 index
> 0000000..4d2a4c6
> --- /dev/null
> +++ b/drivers/net/mlx5/mlx5_tx_txpp.c
> @@ -0,0 +1,45 @@
> +/* SPDX-License-Identifier: BSD-3-Clause
> + * Copyright 2021 6WIND S.A.
> + * Copyright 2021 Mellanox Technologies, Ltd  */
> +
> +#include "mlx5_tx.h"
> +
> +/* Generate routines with timestamp scheduling. */
> +MLX5_TXOFF_DECL(full_ts_nompw,
> +		MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP)
> +
> +MLX5_TXOFF_DECL(full_ts_nompwi,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM
> |
> +		MLX5_TXOFF_CONFIG_VLAN |
> MLX5_TXOFF_CONFIG_METADATA |
> +		MLX5_TXOFF_CONFIG_TXPP)
> +
> +MLX5_TXOFF_DECL(full_ts,
> +		MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP
> |
> +		MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(full_ts_noi,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM
> |
> +		MLX5_TXOFF_CONFIG_VLAN |
> MLX5_TXOFF_CONFIG_METADATA |
> +		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(none_ts,
> +		MLX5_TXOFF_CONFIG_NONE | MLX5_TXOFF_CONFIG_TXPP
> |
> +		MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mdi_ts,
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_METADATA |
> +		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mti_ts,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_METADATA |
> +		MLX5_TXOFF_CONFIG_TXPP |
> MLX5_TXOFF_CONFIG_EMPW)
> +
> +MLX5_TXOFF_DECL(mtiv_ts,
> +		MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO
> |
> +		MLX5_TXOFF_CONFIG_INLINE |
> MLX5_TXOFF_CONFIG_VLAN |
> +		MLX5_TXOFF_CONFIG_METADATA |
> MLX5_TXOFF_CONFIG_TXPP |
> +		MLX5_TXOFF_CONFIG_EMPW)
> --
> 1.8.3.1