[3/8] net/cnxk: add CN9K segregated Tx functions

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

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula Dec. 13, 2021, 8:22 a.m. UTC
  From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN9K 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/cn9k/tx_0_15.c             | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_0_15_dual.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_0_15_dual_seg.c    | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_0_15_seg.c         | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_112_127.c          | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_112_127_dual.c     | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_112_127_dual_seg.c | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_112_127_seg.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_16_31.c            | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_16_31_dual.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_16_31_dual_seg.c   | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_16_31_seg.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_32_47.c            | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_32_47_dual.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_32_47_dual_seg.c   | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_32_47_seg.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_48_63.c            | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_48_63_dual.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_48_63_dual_seg.c   | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_48_63_seg.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_64_79.c            | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_64_79_dual.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_64_79_dual_seg.c   | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_64_79_seg.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_80_95.c            | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_80_95_dual.c       | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_80_95_dual_seg.c   | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_80_95_seg.c        | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_96_111.c           | 10 ++++++++++
 drivers/event/cnxk/tx/cn9k/tx_96_111_dual.c      | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_96_111_dual_seg.c  | 11 +++++++++++
 drivers/event/cnxk/tx/cn9k/tx_96_111_seg.c       | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_0_15.c               | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_0_15_mseg.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_0_15_vec.c           | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_0_15_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_112_127.c            | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_112_127_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_112_127_vec.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_112_127_vec_mseg.c   | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_16_31.c              | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_16_31_mseg.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_16_31_vec.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_16_31_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_32_47.c              | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_32_47_mseg.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_32_47_vec.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_32_47_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_48_63.c              | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_48_63_mseg.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_48_63_vec.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_48_63_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_64_79.c              | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_64_79_mseg.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_64_79_vec.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_64_79_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_80_95.c              | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_80_95_mseg.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_80_95_vec.c          | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_80_95_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_96_111.c             | 11 +++++++++++
 drivers/net/cnxk/tx/cn9k/tx_96_111_mseg.c        | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_96_111_vec.c         | 12 ++++++++++++
 drivers/net/cnxk/tx/cn9k/tx_96_111_vec_mseg.c    | 12 ++++++++++++
 64 files changed, 720 insertions(+)
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_0_15.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_0_15_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_0_15_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_0_15_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_112_127.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_112_127_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_112_127_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_112_127_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_16_31.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_16_31_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_16_31_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_16_31_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_32_47.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_32_47_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_32_47_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_32_47_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_48_63.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_48_63_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_48_63_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_48_63_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_64_79.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_64_79_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_64_79_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_64_79_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_80_95.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_80_95_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_80_95_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_80_95_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_96_111.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_96_111_dual.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_96_111_dual_seg.c
 create mode 100644 drivers/event/cnxk/tx/cn9k/tx_96_111_seg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_0_15.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_112_127.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_16_31.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_32_47.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_48_63.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_64_79.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_80_95.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_96_111.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/tx/cn9k/tx_96_111_vec_mseg.c
  

Patch

diff --git a/drivers/event/cnxk/tx/cn9k/tx_0_15.c b/drivers/event/cnxk/tx/cn9k/tx_0_15.c
new file mode 100644
index 0000000000..3fd3b69cbf
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_0_15.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_0_15_dual.c b/drivers/event/cnxk/tx/cn9k/tx_0_15_dual.c
new file mode 100644
index 0000000000..5ef91b9aad
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_0_15_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_0_15_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_0_15_dual_seg.c
new file mode 100644
index 0000000000..5df202b230
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_0_15_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_0_15_seg.c b/drivers/event/cnxk/tx/cn9k/tx_0_15_seg.c
new file mode 100644
index 0000000000..8999ab231a
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_0_15_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_112_127.c b/drivers/event/cnxk/tx/cn9k/tx_112_127.c
new file mode 100644
index 0000000000..b56ab7eb84
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_112_127.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_112_127_dual.c b/drivers/event/cnxk/tx/cn9k/tx_112_127_dual.c
new file mode 100644
index 0000000000..2651eacbfa
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_112_127_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_112_127_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_112_127_dual_seg.c
new file mode 100644
index 0000000000..6c3ad45773
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_112_127_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_112_127_seg.c b/drivers/event/cnxk/tx/cn9k/tx_112_127_seg.c
new file mode 100644
index 0000000000..d060f7f8bb
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_112_127_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_16_31.c b/drivers/event/cnxk/tx/cn9k/tx_16_31.c
new file mode 100644
index 0000000000..f404275120
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_16_31.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_16_31_dual.c b/drivers/event/cnxk/tx/cn9k/tx_16_31_dual.c
new file mode 100644
index 0000000000..aac71bbfcc
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_16_31_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_16_31_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_16_31_dual_seg.c
new file mode 100644
index 0000000000..9ae00624a9
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_16_31_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_16_31_seg.c b/drivers/event/cnxk/tx/cn9k/tx_16_31_seg.c
new file mode 100644
index 0000000000..2ce606991f
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_16_31_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_32_47.c b/drivers/event/cnxk/tx/cn9k/tx_32_47.c
new file mode 100644
index 0000000000..98d95f3524
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_32_47.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_32_47_dual.c b/drivers/event/cnxk/tx/cn9k/tx_32_47_dual.c
new file mode 100644
index 0000000000..c66fa9b6c7
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_32_47_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_32_47_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_32_47_dual_seg.c
new file mode 100644
index 0000000000..9ae47b4d62
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_32_47_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_32_47_seg.c b/drivers/event/cnxk/tx/cn9k/tx_32_47_seg.c
new file mode 100644
index 0000000000..77983871c9
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_32_47_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_48_63.c b/drivers/event/cnxk/tx/cn9k/tx_48_63.c
new file mode 100644
index 0000000000..c585947397
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_48_63.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_48_63_dual.c b/drivers/event/cnxk/tx/cn9k/tx_48_63_dual.c
new file mode 100644
index 0000000000..6ff2d978d6
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_48_63_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_48_63_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_48_63_dual_seg.c
new file mode 100644
index 0000000000..c251ffd35c
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_48_63_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_48_63_seg.c b/drivers/event/cnxk/tx/cn9k/tx_48_63_seg.c
new file mode 100644
index 0000000000..34554d6c90
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_48_63_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_64_79.c b/drivers/event/cnxk/tx/cn9k/tx_64_79.c
new file mode 100644
index 0000000000..d0a00bba05
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_64_79.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_64_79_dual.c b/drivers/event/cnxk/tx/cn9k/tx_64_79_dual.c
new file mode 100644
index 0000000000..8aaea58dee
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_64_79_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_64_79_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_64_79_dual_seg.c
new file mode 100644
index 0000000000..9b9ef59b9e
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_64_79_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_64_79_seg.c b/drivers/event/cnxk/tx/cn9k/tx_64_79_seg.c
new file mode 100644
index 0000000000..42e1d44906
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_64_79_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_80_95.c b/drivers/event/cnxk/tx/cn9k/tx_80_95.c
new file mode 100644
index 0000000000..47b6808689
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_80_95.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_80_95_dual.c b/drivers/event/cnxk/tx/cn9k/tx_80_95_dual.c
new file mode 100644
index 0000000000..f37427a91b
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_80_95_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_80_95_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_80_95_dual_seg.c
new file mode 100644
index 0000000000..231dc03c19
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_80_95_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_80_95_seg.c b/drivers/event/cnxk/tx/cn9k/tx_80_95_seg.c
new file mode 100644
index 0000000000..4bf3fa9142
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_80_95_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_96_111.c b/drivers/event/cnxk/tx/cn9k/tx_96_111.c
new file mode 100644
index 0000000000..d2ad48908b
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_96_111.c
@@ -0,0 +1,10 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags) SSO_TX(cn9k_sso_hws_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_96_111_dual.c b/drivers/event/cnxk/tx/cn9k/tx_96_111_dual.c
new file mode 100644
index 0000000000..dc0289ce32
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_96_111_dual.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX(cn9k_sso_hws_dual_tx_adptr_enq_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_96_111_dual_seg.c b/drivers/event/cnxk/tx/cn9k/tx_96_111_dual_seg.c
new file mode 100644
index 0000000000..910a0c7d49
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_96_111_dual_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_DUAL_TX_SEG(cn9k_sso_hws_dual_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/event/cnxk/tx/cn9k/tx_96_111_seg.c b/drivers/event/cnxk/tx/cn9k/tx_96_111_seg.c
new file mode 100644
index 0000000000..96f129a34e
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_96_111_seg.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+
+#define T(name, sz, flags)                                                     \
+	SSO_TX_SEG(cn9k_sso_hws_tx_adptr_enq_seg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_0_15.c b/drivers/net/cnxk/tx/cn9k/tx_0_15.c
new file mode 100644
index 0000000000..13d97e70dc
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_0_15.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_0_15_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_0_15_mseg.c
new file mode 100644
index 0000000000..c278716561
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_0_15_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_0_15_vec.c b/drivers/net/cnxk/tx/cn9k/tx_0_15_vec.c
new file mode 100644
index 0000000000..33c60ab051
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_0_15_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_0_15_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_0_15_vec_mseg.c
new file mode 100644
index 0000000000..86b91d9203
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_0_15_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_0_15
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_112_127.c b/drivers/net/cnxk/tx/cn9k/tx_112_127.c
new file mode 100644
index 0000000000..f3b4dd23af
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_112_127.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_112_127_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_112_127_mseg.c
new file mode 100644
index 0000000000..d3e3b38639
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_112_127_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_112_127_vec.c b/drivers/net/cnxk/tx/cn9k/tx_112_127_vec.c
new file mode 100644
index 0000000000..96b7a7b29b
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_112_127_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_112_127_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_112_127_vec_mseg.c
new file mode 100644
index 0000000000..f940fc6f32
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_112_127_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_112_127
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_16_31.c b/drivers/net/cnxk/tx/cn9k/tx_16_31.c
new file mode 100644
index 0000000000..3c21035e64
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_16_31.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_16_31_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_16_31_mseg.c
new file mode 100644
index 0000000000..95c8409824
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_16_31_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_16_31_vec.c b/drivers/net/cnxk/tx/cn9k/tx_16_31_vec.c
new file mode 100644
index 0000000000..652b118d29
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_16_31_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_16_31_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_16_31_vec_mseg.c
new file mode 100644
index 0000000000..2d605e1b4c
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_16_31_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_16_31
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_32_47.c b/drivers/net/cnxk/tx/cn9k/tx_32_47.c
new file mode 100644
index 0000000000..9041cc8628
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_32_47.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_32_47_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_32_47_mseg.c
new file mode 100644
index 0000000000..c14cecc837
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_32_47_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_32_47_vec.c b/drivers/net/cnxk/tx/cn9k/tx_32_47_vec.c
new file mode 100644
index 0000000000..94c7a1ac8e
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_32_47_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_32_47_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_32_47_vec_mseg.c
new file mode 100644
index 0000000000..2e787391ef
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_32_47_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_32_47
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_48_63.c b/drivers/net/cnxk/tx/cn9k/tx_48_63.c
new file mode 100644
index 0000000000..df0f935319
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_48_63.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_48_63_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_48_63_mseg.c
new file mode 100644
index 0000000000..663e19f5bc
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_48_63_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_48_63_vec.c b/drivers/net/cnxk/tx/cn9k/tx_48_63_vec.c
new file mode 100644
index 0000000000..2ac8ab01fb
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_48_63_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_48_63_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_48_63_vec_mseg.c
new file mode 100644
index 0000000000..e1808fd0ff
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_48_63_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_48_63
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_64_79.c b/drivers/net/cnxk/tx/cn9k/tx_64_79.c
new file mode 100644
index 0000000000..2d202ef7a7
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_64_79.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_64_79_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_64_79_mseg.c
new file mode 100644
index 0000000000..ff9657819e
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_64_79_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_64_79_vec.c b/drivers/net/cnxk/tx/cn9k/tx_64_79_vec.c
new file mode 100644
index 0000000000..ad5fb44421
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_64_79_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_64_79_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_64_79_vec_mseg.c
new file mode 100644
index 0000000000..1da905c717
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_64_79_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_64_79
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_80_95.c b/drivers/net/cnxk/tx/cn9k/tx_80_95.c
new file mode 100644
index 0000000000..3090207ec4
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_80_95.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_80_95_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_80_95_mseg.c
new file mode 100644
index 0000000000..ea59d546b7
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_80_95_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_80_95_vec.c b/drivers/net/cnxk/tx/cn9k/tx_80_95_vec.c
new file mode 100644
index 0000000000..617ae6468b
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_80_95_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_80_95_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_80_95_vec_mseg.c
new file mode 100644
index 0000000000..6d7c219a72
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_80_95_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_80_95
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_96_111.c b/drivers/net/cnxk/tx/cn9k/tx_96_111.c
new file mode 100644
index 0000000000..7a5c55de73
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_96_111.c
@@ -0,0 +1,11 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags) NIX_TX_XMIT(cn9k_nix_xmit_pkts_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_96_111_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_96_111_mseg.c
new file mode 100644
index 0000000000..9268544a39
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_96_111_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_MSEG(cn9k_nix_xmit_pkts_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_96_111_vec.c b/drivers/net/cnxk/tx/cn9k/tx_96_111_vec.c
new file mode 100644
index 0000000000..842bf336d5
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_96_111_vec.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC(cn9k_nix_xmit_pkts_vec_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T
diff --git a/drivers/net/cnxk/tx/cn9k/tx_96_111_vec_mseg.c b/drivers/net/cnxk/tx/cn9k/tx_96_111_vec_mseg.c
new file mode 100644
index 0000000000..5fad1baea7
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_96_111_vec_mseg.c
@@ -0,0 +1,12 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+#define T(name, sz, flags)                                                     \
+	NIX_TX_XMIT_VEC_MSEG(cn9k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
+
+NIX_TX_FASTPATH_MODES_96_111
+#undef T