[v2,7/8] net/cnxk: add CN10K segregated Tx functions

Message ID 20220120145136.7844-7-pbhagavatula@marvell.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v2,1/8] net/cnxk: add CN9K segregated Rx functions |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula Jan. 20, 2022, 2:51 p.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN10K segregated Rx and event Tx enqueue template functions,
these help in parallelizing the build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/tx/cn10k/tx_0_15.c           | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_112_127.c        | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c    | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_16_31.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_32_47.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_48_63.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_64_79.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_80_95.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn10k/tx_96_111.c         | 10 ++++++++++
 drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c     | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_0_15.c             | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c    | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_112_127.c          | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c      | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_16_31.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_32_47.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_48_63.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_64_79.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_80_95.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_96_111.c           | 11 +++++++++++
 drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c  | 12 ++++++++++++
 48 files changed, 544 insertions(+)
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_0_15.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_112_127.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_16_31.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_32_47.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_48_63.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_64_79.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_80_95.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_96_111.c
 create mode 100644 drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_0_15.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_112_127.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_16_31.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_32_47.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_48_63.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_64_79.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_80_95.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_96_111.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
  

Patch

diff --git a/drivers/event/cnxk/tx/cn10k/tx_0_15.c b/drivers/event/cnxk/tx/cn10k/tx_0_15.c
new file mode 100644
index 0000000000..9ae761ba39
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_0_15.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c b/drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c
new file mode 100644
index 0000000000..58c77dac0e
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_0_15_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_112_127.c b/drivers/event/cnxk/tx/cn10k/tx_112_127.c
new file mode 100644
index 0000000000..60dcfbb355
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_112_127.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c b/drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c
new file mode 100644
index 0000000000..bd52c5f903
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_112_127_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_16_31.c b/drivers/event/cnxk/tx/cn10k/tx_16_31.c
new file mode 100644
index 0000000000..7fa9c02314
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_16_31.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c b/drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c
new file mode 100644
index 0000000000..c39a806688
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_16_31_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_32_47.c b/drivers/event/cnxk/tx/cn10k/tx_32_47.c
new file mode 100644
index 0000000000..4bd1547955
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_32_47.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c b/drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c
new file mode 100644
index 0000000000..0e3d52d48c
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_32_47_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_48_63.c b/drivers/event/cnxk/tx/cn10k/tx_48_63.c
new file mode 100644
index 0000000000..6c6a35ee9b
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_48_63.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c b/drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c
new file mode 100644
index 0000000000..2528fbf544
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_48_63_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_64_79.c b/drivers/event/cnxk/tx/cn10k/tx_64_79.c
new file mode 100644
index 0000000000..e2c046bcde
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_64_79.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c b/drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c
new file mode 100644
index 0000000000..b7757d08e7
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_64_79_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_80_95.c b/drivers/event/cnxk/tx/cn10k/tx_80_95.c
new file mode 100644
index 0000000000..49ba008abe
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_80_95.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c b/drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c
new file mode 100644
index 0000000000..48255e4727
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_80_95_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_96_111.c b/drivers/event/cnxk/tx/cn10k/tx_96_111.c
new file mode 100644
index 0000000000..dd62d70c68
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_96_111.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn10k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c b/drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c
new file mode 100644
index 0000000000..511ac2f70b
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_96_111_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn10k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15.c b/drivers/net/cnxk/tx/cn10k/tx_0_15.c
new file mode 100644
index 0000000000..a7920b7f91
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
new file mode 100644
index 0000000000..13a35474a1
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
new file mode 100644
index 0000000000..cb4091b067
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
new file mode 100644
index 0000000000..be1abafd79
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127.c b/drivers/net/cnxk/tx/cn10k/tx_112_127.c
new file mode 100644
index 0000000000..15a3f1c567
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
new file mode 100644
index 0000000000..13664ae6ed
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
new file mode 100644
index 0000000000..079773c866
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
new file mode 100644
index 0000000000..9f4f2fe468
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31.c b/drivers/net/cnxk/tx/cn10k/tx_16_31.c
new file mode 100644
index 0000000000..a90620434e
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
new file mode 100644
index 0000000000..975ccb6d3b
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
new file mode 100644
index 0000000000..84955841ae
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
new file mode 100644
index 0000000000..6380dda5d7
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47.c b/drivers/net/cnxk/tx/cn10k/tx_32_47.c
new file mode 100644
index 0000000000..657de869f7
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
new file mode 100644
index 0000000000..5d82f7c5dc
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
new file mode 100644
index 0000000000..298e1604f3
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
new file mode 100644
index 0000000000..6e3580acf1
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63.c b/drivers/net/cnxk/tx/cn10k/tx_48_63.c
new file mode 100644
index 0000000000..38fef5fcfd
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
new file mode 100644
index 0000000000..b916358ca3
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
new file mode 100644
index 0000000000..0b9bb38a21
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
new file mode 100644
index 0000000000..c5f63dccf6
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79.c b/drivers/net/cnxk/tx/cn10k/tx_64_79.c
new file mode 100644
index 0000000000..c5b5ef24f5
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
new file mode 100644
index 0000000000..265e1def37
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
new file mode 100644
index 0000000000..6a577f7074
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
new file mode 100644
index 0000000000..b6e1c1ff8c
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95.c b/drivers/net/cnxk/tx/cn10k/tx_80_95.c
new file mode 100644
index 0000000000..b0208999bf
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
new file mode 100644
index 0000000000..911f2fb50c
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
new file mode 100644
index 0000000000..4300340e08
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
new file mode 100644
index 0000000000..3409fc4f21
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111.c b/drivers/net/cnxk/tx/cn10k/tx_96_111.c
new file mode 100644
index 0000000000..82903de012
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
new file mode 100644
index 0000000000..ff84b7c64b
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
new file mode 100644
index 0000000000..c13c33ebc0
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
new file mode 100644
index 0000000000..59ef5c2fa9
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T