> -----Original Message----- > From: Michael Baum <michae...@nvidia.com> > Sent: Monday, April 5, 2021 17:01 > To: dev@dpdk.org > Cc: Matan Azrad <ma...@nvidia.com>; Raslan Darawsheh > <rasl...@nvidia.com>; Slava Ovsiienko <viachesl...@nvidia.com> > Subject: [PATCH 6/6] net/mlx5: separate Tx burst functions to different files > > This patch separates Tx burst function implementations to different source > files, thus allowing them to compile in parallel. > > Signed-off-by: Michael Baum <michae...@nvidia.com> Acked-by: Viacheslav Ovsiienko <viachesl...@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 > > 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 = 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 index > 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); > > -/* mlx5_rxtx.c */ > +/* mlx5_tx_empw.c */ > > 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); > > +/* 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); > > +/* 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); > > +/* 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