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 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 ; 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 To: Michael Baum , "dev@dpdk.org" CC: Matan Azrad , Raslan Darawsheh 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: 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Michael Baum > Sent: Monday, April 5, 2021 17:01 > To: dev@dpdk.org > Cc: Matan Azrad ; Raslan Darawsheh > ; Slava Ovsiienko > 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 Acked-by: Viacheslav Ovsiienko > --- > 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