DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions
@ 2021-12-13  8:22 pbhagavatula
  2021-12-13  8:22 ` [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN9K seggeragated Rx and event dequeue template functions,
these help in parallelizing the build.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 Reduces compile time by 1 minute on a 28 thread Machine.

 drivers/event/cnxk/deq/cn9k/deq_0_15.c             | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_burst.c       | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_ca.c          | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_ca_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_ca_tmo_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg.c  | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_0_15_ca_tmo_seg_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_dual_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_0_15_dual_ca_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_burst.c     | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_dual_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_dual_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_0_15_dual_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_seg.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_0_15_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127.c          | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_ca.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_ca_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_ca_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_ca_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_dual.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_dual_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca.c  | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_ca_burst.c      | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg.c  | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_ca_seg_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo.c  | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_burst.c  | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg.c    | 13 +++++++++++++
 .../deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg.c | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo.c | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_tmo_burst.c     | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_dual_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_seg.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_112_127_tmo_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg.c  | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_112_127_tmo_seg_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_16_31_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_ca_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_16_31_dual_ca_seg_burst.c    | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_burst.c    | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg.c      | 13 +++++++++++++
 .../deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_16_31_dual_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_16_31_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_32_47_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_ca_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_32_47_dual_ca_seg_burst.c    | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_burst.c    | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg.c      | 13 +++++++++++++
 .../deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_32_47_dual_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_32_47_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_48_63_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_ca_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_48_63_dual_ca_seg_burst.c    | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_burst.c    | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg.c      | 13 +++++++++++++
 .../deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_48_63_dual_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_48_63_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_64_79_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_ca_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_64_79_dual_ca_seg_burst.c    | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_burst.c    | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg.c      | 13 +++++++++++++
 .../deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_64_79_dual_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_64_79_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_80_95_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_ca_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_80_95_dual_ca_seg_burst.c    | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_burst.c    | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg.c      | 13 +++++++++++++
 .../deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_80_95_dual_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_80_95_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_dual.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_dual_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_dual_ca_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_ca_seg_burst.c   | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo.c   | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_burst.c   | 14 ++++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg.c     | 13 +++++++++++++
 .../deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg.c  | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_seg_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo.c  | 12 ++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_tmo_burst.c      | 14 ++++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg.c  | 13 +++++++++++++
 .../cnxk/deq/cn9k/deq_96_111_dual_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn9k/deq_96_111_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_0_15.c                 | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_0_15_mseg.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_0_15_vec.c             | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_0_15_vec_mseg.c        | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_112_127.c              | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_112_127_mseg.c         | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_112_127_vec.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_112_127_vec_mseg.c     | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_16_31.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_16_31_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_16_31_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_16_31_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_32_47.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_32_47_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_32_47_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_32_47_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_48_63.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_48_63_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_48_63_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_48_63_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_64_79.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_64_79_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_64_79_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_64_79_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_80_95.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_80_95_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_80_95_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_80_95_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn9k/rx_96_111.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_96_111_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_96_111_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn9k/rx_96_111_vec_mseg.c      | 12 ++++++++++++
 288 files changed, 3728 insertions(+)
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg_burst.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_0_15.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_112_127.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_16_31.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_32_47.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_48_63.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_64_79.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_80_95.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_96_111.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn9k/rx_96_111_vec_mseg.c

diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15.c b/drivers/event/cnxk/deq/cn9k/deq_0_15.c
new file mode 100644
index 0000000000..dd6a72cbe1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_burst.c
new file mode 100644
index 0000000000..c77632764d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca.c
new file mode 100644
index 0000000000..c58c4f56de
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_burst.c
new file mode 100644
index 0000000000..527ae44553
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg.c
new file mode 100644
index 0000000000..95e36fc7aa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg_burst.c
new file mode 100644
index 0000000000..4aa38d81eb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo.c
new file mode 100644
index 0000000000..d225e25c6f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_burst.c
new file mode 100644
index 0000000000..40ba45c790
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg.c
new file mode 100644
index 0000000000..58a6754432
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..57f024aac1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual.c
new file mode 100644
index 0000000000..65c2f487ae
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_burst.c
new file mode 100644
index 0000000000..ebf1675871
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca.c
new file mode 100644
index 0000000000..ede6140295
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_burst.c
new file mode 100644
index 0000000000..6db14bce4c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg.c
new file mode 100644
index 0000000000..90e58b9c5c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..0147af0da6
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo.c
new file mode 100644
index 0000000000..7d5676f403
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..8186091746
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..1731570a83
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..e287df397c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg.c
new file mode 100644
index 0000000000..187ac20db4
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg_burst.c
new file mode 100644
index 0000000000..3a9e07f793
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo.c
new file mode 100644
index 0000000000..b54b9ea7b8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_burst.c
new file mode 100644
index 0000000000..6bb333699e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg.c
new file mode 100644
index 0000000000..35b5bbf4bd
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..164ce86169
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_seg.c
new file mode 100644
index 0000000000..d7c53a0233
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_seg_burst.c
new file mode 100644
index 0000000000..89018532b1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo.c
new file mode 100644
index 0000000000..6f078b3b8e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_burst.c
new file mode 100644
index 0000000000..93ea7a1fe7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg.c
new file mode 100644
index 0000000000..15e439ebbe
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg_burst.c
new file mode 100644
index 0000000000..bdfb0df566
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127.c b/drivers/event/cnxk/deq/cn9k/deq_112_127.c
new file mode 100644
index 0000000000..e79bec1431
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_burst.c
new file mode 100644
index 0000000000..a110644cea
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca.c
new file mode 100644
index 0000000000..640d3a3797
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_burst.c
new file mode 100644
index 0000000000..1a7c05f856
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg.c
new file mode 100644
index 0000000000..7acecf5195
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg_burst.c
new file mode 100644
index 0000000000..b5673f8de1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo.c
new file mode 100644
index 0000000000..1597189eb7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_burst.c
new file mode 100644
index 0000000000..143fb6e545
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg.c
new file mode 100644
index 0000000000..132bf73f10
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..4ca4e2489e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual.c
new file mode 100644
index 0000000000..8a64c00fc8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_burst.c
new file mode 100644
index 0000000000..afc30969e5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca.c
new file mode 100644
index 0000000000..6b9fb2a09b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_burst.c
new file mode 100644
index 0000000000..2b2837f28c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg.c
new file mode 100644
index 0000000000..7691647c00
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..0a4681baa4
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo.c
new file mode 100644
index 0000000000..bcaeeba1b8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..e9ffabcbaf
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..452fb4a1e5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..74d4fc9618
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg.c
new file mode 100644
index 0000000000..001bdc1ea8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg_burst.c
new file mode 100644
index 0000000000..f84766f3ed
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo.c
new file mode 100644
index 0000000000..56faa57f84
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_burst.c
new file mode 100644
index 0000000000..1fa51d57ef
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg.c
new file mode 100644
index 0000000000..01419f0190
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..9230c7e1a0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_seg.c
new file mode 100644
index 0000000000..fd8d5fd325
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_seg_burst.c
new file mode 100644
index 0000000000..9a1b7d39ea
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo.c
new file mode 100644
index 0000000000..50d6d9f2d7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_burst.c
new file mode 100644
index 0000000000..bcdf5a11d3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg.c
new file mode 100644
index 0000000000..626a2335e4
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg_burst.c
new file mode 100644
index 0000000000..347a002b0f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31.c b/drivers/event/cnxk/deq/cn9k/deq_16_31.c
new file mode 100644
index 0000000000..5fbc38eb4e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_burst.c
new file mode 100644
index 0000000000..c78edc64ca
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca.c
new file mode 100644
index 0000000000..c0ac00f1a0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_burst.c
new file mode 100644
index 0000000000..722c9cf9ae
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg.c
new file mode 100644
index 0000000000..ce7dc95257
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg_burst.c
new file mode 100644
index 0000000000..4112667797
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo.c
new file mode 100644
index 0000000000..e20acf52ab
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_burst.c
new file mode 100644
index 0000000000..f894569930
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg.c
new file mode 100644
index 0000000000..8c0e0843ee
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..60298f1319
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual.c
new file mode 100644
index 0000000000..f20005bfaa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_burst.c
new file mode 100644
index 0000000000..f468c4618d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca.c
new file mode 100644
index 0000000000..b34d02b14d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_burst.c
new file mode 100644
index 0000000000..3157499bdc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg.c
new file mode 100644
index 0000000000..525aac641e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..2b3b7eb297
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo.c
new file mode 100644
index 0000000000..9f7b00ffe5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..4f2757b91c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..3ece6e72de
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..aa9da1ecf5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg.c
new file mode 100644
index 0000000000..d596ef7242
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg_burst.c
new file mode 100644
index 0000000000..e48e4ec6af
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo.c
new file mode 100644
index 0000000000..1fc3a24837
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_burst.c
new file mode 100644
index 0000000000..2852a0357c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg.c
new file mode 100644
index 0000000000..88c11ad571
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..e2dbc66b70
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_seg.c
new file mode 100644
index 0000000000..4877ceab38
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_seg_burst.c
new file mode 100644
index 0000000000..3bb8e6302b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo.c
new file mode 100644
index 0000000000..040fba759d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_burst.c
new file mode 100644
index 0000000000..0cbdfd6326
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg.c
new file mode 100644
index 0000000000..7f3e17319d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg_burst.c
new file mode 100644
index 0000000000..07458db0ef
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47.c b/drivers/event/cnxk/deq/cn9k/deq_32_47.c
new file mode 100644
index 0000000000..58fb324ffa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_burst.c
new file mode 100644
index 0000000000..ac3977e688
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca.c
new file mode 100644
index 0000000000..13962b3495
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_burst.c
new file mode 100644
index 0000000000..b2f20c7258
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg.c
new file mode 100644
index 0000000000..1c8d039fa2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg_burst.c
new file mode 100644
index 0000000000..bd4975290f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo.c
new file mode 100644
index 0000000000..e3b05d98eb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_burst.c
new file mode 100644
index 0000000000..213e4c07fe
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg.c
new file mode 100644
index 0000000000..8c7f8d6bba
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..ff989b497d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual.c
new file mode 100644
index 0000000000..ced8da599e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_burst.c
new file mode 100644
index 0000000000..25dbc95db8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca.c
new file mode 100644
index 0000000000..34deaf0599
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_burst.c
new file mode 100644
index 0000000000..2c2dd2d552
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg.c
new file mode 100644
index 0000000000..e9d09d3ca1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..46d04c0ee9
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo.c
new file mode 100644
index 0000000000..6f5f3dc0f7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..15e6fec17d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..1561270d92
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..99dbee8f2c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg.c
new file mode 100644
index 0000000000..6656a873f3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg_burst.c
new file mode 100644
index 0000000000..8b2b646f90
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo.c
new file mode 100644
index 0000000000..96953a4a35
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_burst.c
new file mode 100644
index 0000000000..ec514b6d59
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg.c
new file mode 100644
index 0000000000..e6c13825b2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..f35558e2a1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_seg.c
new file mode 100644
index 0000000000..afd33d9e55
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_seg_burst.c
new file mode 100644
index 0000000000..de8c5cad3c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo.c
new file mode 100644
index 0000000000..808a56a65b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_burst.c
new file mode 100644
index 0000000000..192ed24ef2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg.c
new file mode 100644
index 0000000000..5dc6dcd396
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg_burst.c
new file mode 100644
index 0000000000..8ed0da5f25
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63.c b/drivers/event/cnxk/deq/cn9k/deq_48_63.c
new file mode 100644
index 0000000000..ea388ec451
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_burst.c
new file mode 100644
index 0000000000..481864180e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca.c
new file mode 100644
index 0000000000..6a4d70a648
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_burst.c
new file mode 100644
index 0000000000..57c46e4ba2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg.c
new file mode 100644
index 0000000000..3bf2ce7065
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg_burst.c
new file mode 100644
index 0000000000..8705edef57
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo.c
new file mode 100644
index 0000000000..f5dc6aa66b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_burst.c
new file mode 100644
index 0000000000..da222dd00a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg.c
new file mode 100644
index 0000000000..4f5ce84881
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..375182a5d6
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual.c
new file mode 100644
index 0000000000..7a08956700
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_burst.c
new file mode 100644
index 0000000000..c424251f5d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca.c
new file mode 100644
index 0000000000..74039a33c1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_burst.c
new file mode 100644
index 0000000000..ac45d18a9d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg.c
new file mode 100644
index 0000000000..eedf203165
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..083fc4ac05
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo.c
new file mode 100644
index 0000000000..46cb42d331
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..50d4cbfae5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..af3ea8f7d3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..04c0cfb3ac
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg.c
new file mode 100644
index 0000000000..9782a3ac49
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg_burst.c
new file mode 100644
index 0000000000..20dc146b8d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo.c
new file mode 100644
index 0000000000..b39c2337db
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_burst.c
new file mode 100644
index 0000000000..e812d3e43a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg.c
new file mode 100644
index 0000000000..18618dd4b3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..b96af0fcc9
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_seg.c
new file mode 100644
index 0000000000..c1804b0e53
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_seg_burst.c
new file mode 100644
index 0000000000..349f495b02
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo.c
new file mode 100644
index 0000000000..d7a0d5f192
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_burst.c
new file mode 100644
index 0000000000..8c006ab07b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg.c
new file mode 100644
index 0000000000..ca9687aa07
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg_burst.c
new file mode 100644
index 0000000000..bd81f88e2a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79.c b/drivers/event/cnxk/deq/cn9k/deq_64_79.c
new file mode 100644
index 0000000000..0122d9c706
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_burst.c
new file mode 100644
index 0000000000..4062c82967
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca.c
new file mode 100644
index 0000000000..e69408040d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_burst.c
new file mode 100644
index 0000000000..e7b94c7f16
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg.c
new file mode 100644
index 0000000000..d506bd58d7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg_burst.c
new file mode 100644
index 0000000000..fbd266019a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo.c
new file mode 100644
index 0000000000..32728eaacd
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_burst.c
new file mode 100644
index 0000000000..d734e763f5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg.c
new file mode 100644
index 0000000000..9c5a75281c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..6fa97cfb21
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual.c
new file mode 100644
index 0000000000..10e835119f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_burst.c
new file mode 100644
index 0000000000..a7176e47c2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca.c
new file mode 100644
index 0000000000..84b6b88688
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_burst.c
new file mode 100644
index 0000000000..b7e12fe77a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg.c
new file mode 100644
index 0000000000..804a716beb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..154fd005d7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo.c
new file mode 100644
index 0000000000..9e54c98d8e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..75002cc3d6
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..3d809526bc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..42e7726fe0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg.c
new file mode 100644
index 0000000000..4ab30e8c3b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg_burst.c
new file mode 100644
index 0000000000..e6279e1e6a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo.c
new file mode 100644
index 0000000000..2497437f83
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_burst.c
new file mode 100644
index 0000000000..66868139e1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg.c
new file mode 100644
index 0000000000..e5c0a61d61
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..c056fdf728
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_seg.c
new file mode 100644
index 0000000000..2b79dbbd6e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_seg_burst.c
new file mode 100644
index 0000000000..4737fef267
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo.c
new file mode 100644
index 0000000000..711ed019bc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_burst.c
new file mode 100644
index 0000000000..ee4c431182
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg.c
new file mode 100644
index 0000000000..42b5da0f03
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg_burst.c
new file mode 100644
index 0000000000..6cebd9be83
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95.c b/drivers/event/cnxk/deq/cn9k/deq_80_95.c
new file mode 100644
index 0000000000..a9beae8c49
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_burst.c
new file mode 100644
index 0000000000..27fd09c40d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca.c
new file mode 100644
index 0000000000..081627bf31
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_burst.c
new file mode 100644
index 0000000000..18f72e9511
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg.c
new file mode 100644
index 0000000000..e5cd0854fa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg_burst.c
new file mode 100644
index 0000000000..374ba7d09f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo.c
new file mode 100644
index 0000000000..6e44f1b305
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_burst.c
new file mode 100644
index 0000000000..2a0fc74a89
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg.c
new file mode 100644
index 0000000000..d8317baa1a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..01f7c5dcb1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual.c
new file mode 100644
index 0000000000..32ee5123e1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_burst.c
new file mode 100644
index 0000000000..6f4b7ab929
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca.c
new file mode 100644
index 0000000000..a4f241e57f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_burst.c
new file mode 100644
index 0000000000..bd091e2a21
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg.c
new file mode 100644
index 0000000000..cb2e1bfe9f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..662cd1a8a8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo.c
new file mode 100644
index 0000000000..5f1dd305e8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..2fbde6d633
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..d530f69db2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..b6ead64bb8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg.c
new file mode 100644
index 0000000000..64163555fa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg_burst.c
new file mode 100644
index 0000000000..45250c5ef0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo.c
new file mode 100644
index 0000000000..764a51ed1c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_burst.c
new file mode 100644
index 0000000000..c9eefa600a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg.c
new file mode 100644
index 0000000000..b81e1690ee
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..306ebd8ca8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_seg.c
new file mode 100644
index 0000000000..058c844303
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_seg_burst.c
new file mode 100644
index 0000000000..adf64c50e2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo.c
new file mode 100644
index 0000000000..9befedc52d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_burst.c
new file mode 100644
index 0000000000..f39574540d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg.c
new file mode 100644
index 0000000000..b0367b847a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg_burst.c
new file mode 100644
index 0000000000..907f089a4b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111.c b/drivers/event/cnxk/deq/cn9k/deq_96_111.c
new file mode 100644
index 0000000000..eb0c6c06b9
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_burst.c
new file mode 100644
index 0000000000..0a8fb1ab61
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_burst_##name,                       \
+			  cn9k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca.c
new file mode 100644
index 0000000000..0133d3e9f8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_burst.c
new file mode 100644
index 0000000000..25f9caef0d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_burst_##name,                    \
+			  cn9k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg.c
new file mode 100644
index 0000000000..c0d4cd7805
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg_burst.c
new file mode 100644
index 0000000000..2797997fb2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_ca_seg_burst_##name,                \
+			  cn9k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo.c
new file mode 100644
index 0000000000..2982a17148
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_burst.c
new file mode 100644
index 0000000000..8577c16602
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_burst_##name,                \
+			  cn9k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg.c
new file mode 100644
index 0000000000..0073cf2c1b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..b01a7db467
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,            \
+			  cn9k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual.c
new file mode 100644
index 0000000000..c7ae2d9071
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_burst.c
new file mode 100644
index 0000000000..1c1f603a7a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_burst_##name,                  \
+			  cn9k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca.c
new file mode 100644
index 0000000000..53075d4f9b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_CA(cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_burst.c
new file mode 100644
index 0000000000..0cabb3b64c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_burst_##name,               \
+			  cn9k_sso_hws_dual_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg.c
new file mode 100644
index 0000000000..f4d3267d1d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_CA_SEG(cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg_burst.c
new file mode 100644
index 0000000000..fd482a9889
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_ca_seg_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo.c
new file mode 100644
index 0000000000..a2898e3053
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA(cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_burst.c
new file mode 100644
index 0000000000..3affd887c1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,           \
+			  cn9k_sso_hws_dual_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg.c
new file mode 100644
index 0000000000..e0bc16d327
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_CA_SEG(cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..27a799464e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,       \
+			  cn9k_sso_hws_dual_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg.c
new file mode 100644
index 0000000000..38070c1793
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_SEG(cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg_burst.c
new file mode 100644
index 0000000000..035924cf74
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_dual_deq_seg_burst_##name,          \
+			      cn9k_sso_hws_dual_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo.c
new file mode 100644
index 0000000000..a082ce6d0d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ_TMO(cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_burst.c
new file mode 100644
index 0000000000..fd28104640
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_burst_##name,              \
+			  cn9k_sso_hws_dual_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg.c
new file mode 100644
index 0000000000..7fe709a345
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DUAL_DEQ_TMO_SEG(cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg_burst.c
new file mode 100644
index 0000000000..a5dcaa99d7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_dual_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,          \
+			  cn9k_sso_hws_dual_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_seg.c
new file mode 100644
index 0000000000..3e8c119032
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_seg_burst.c
new file mode 100644
index 0000000000..4903be4ff1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn9k_sso_hws_deq_seg_burst_##name,               \
+			      cn9k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo.c
new file mode 100644
index 0000000000..ebb3f3c52f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_burst.c
new file mode 100644
index 0000000000..ba8bbace19
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_burst_##name,                   \
+			  cn9k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg.c
new file mode 100644
index 0000000000..ec4cfcaebe
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg_burst.c
new file mode 100644
index 0000000000..9b67e6a57a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn9k_sso_hws_deq_tmo_seg_burst_##name,               \
+			  cn9k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_0_15.c b/drivers/net/cnxk/rx/cn9k/rx_0_15.c
new file mode 100644
index 0000000000..c1cd64ad5f
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_0_15_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_0_15_mseg.c
new file mode 100644
index 0000000000..055ab4b980
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_0_15_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_0_15_vec.c b/drivers/net/cnxk/rx/cn9k/rx_0_15_vec.c
new file mode 100644
index 0000000000..3883daba6a
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_0_15_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_0_15_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_0_15_vec_mseg.c
new file mode 100644
index 0000000000..ab94d4566e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_112_127.c b/drivers/net/cnxk/rx/cn9k/rx_112_127.c
new file mode 100644
index 0000000000..bc6bff5e6b
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_112_127_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_112_127_mseg.c
new file mode 100644
index 0000000000..5a1dc66fec
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_112_127_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_112_127_vec.c b/drivers/net/cnxk/rx/cn9k/rx_112_127_vec.c
new file mode 100644
index 0000000000..88232cd38e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_112_127_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_112_127_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_112_127_vec_mseg.c
new file mode 100644
index 0000000000..46a4a95d0e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_16_31.c b/drivers/net/cnxk/rx/cn9k/rx_16_31.c
new file mode 100644
index 0000000000..3003160e84
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_16_31_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_16_31_mseg.c
new file mode 100644
index 0000000000..1ca58993ac
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_16_31_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_16_31_vec.c b/drivers/net/cnxk/rx/cn9k/rx_16_31_vec.c
new file mode 100644
index 0000000000..f327386ebf
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_16_31_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_16_31_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_16_31_vec_mseg.c
new file mode 100644
index 0000000000..bfe3808944
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_32_47.c b/drivers/net/cnxk/rx/cn9k/rx_32_47.c
new file mode 100644
index 0000000000..bff38a21df
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_32_47_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_32_47_mseg.c
new file mode 100644
index 0000000000..397f9ed07b
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_32_47_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_32_47_vec.c b/drivers/net/cnxk/rx/cn9k/rx_32_47_vec.c
new file mode 100644
index 0000000000..4876884815
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_32_47_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_32_47_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_32_47_vec_mseg.c
new file mode 100644
index 0000000000..1d791166ac
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_48_63.c b/drivers/net/cnxk/rx/cn9k/rx_48_63.c
new file mode 100644
index 0000000000..6d5437e322
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_48_63_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_48_63_mseg.c
new file mode 100644
index 0000000000..1b950eaae0
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_48_63_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_48_63_vec.c b/drivers/net/cnxk/rx/cn9k/rx_48_63_vec.c
new file mode 100644
index 0000000000..30565b9778
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_48_63_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_48_63_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_48_63_vec_mseg.c
new file mode 100644
index 0000000000..0a1daabb10
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_64_79.c b/drivers/net/cnxk/rx/cn9k/rx_64_79.c
new file mode 100644
index 0000000000..59697a74b7
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_64_79_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_64_79_mseg.c
new file mode 100644
index 0000000000..df025cefc0
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_64_79_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_64_79_vec.c b/drivers/net/cnxk/rx/cn9k/rx_64_79_vec.c
new file mode 100644
index 0000000000..f0e971ab88
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_64_79_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_64_79_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_64_79_vec_mseg.c
new file mode 100644
index 0000000000..79a776ea4d
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_80_95.c b/drivers/net/cnxk/rx/cn9k/rx_80_95.c
new file mode 100644
index 0000000000..6ffbcc85be
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_80_95_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_80_95_mseg.c
new file mode 100644
index 0000000000..4638317a1e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_80_95_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_80_95_vec.c b/drivers/net/cnxk/rx/cn9k/rx_80_95_vec.c
new file mode 100644
index 0000000000..585b460dc4
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_80_95_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_80_95_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_80_95_vec_mseg.c
new file mode 100644
index 0000000000..e434628a1e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_96_111.c b/drivers/net/cnxk/rx/cn9k/rx_96_111.c
new file mode 100644
index 0000000000..68c69e2edc
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn9k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_96_111_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_96_111_mseg.c
new file mode 100644
index 0000000000..114f719241
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_96_111_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn9k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_96_111_vec.c b/drivers/net/cnxk/rx/cn9k/rx_96_111_vec.c
new file mode 100644
index 0000000000..8640c097e5
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_96_111_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn9k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn9k/rx_96_111_vec_mseg.c b/drivers/net/cnxk/rx/cn9k/rx_96_111_vec_mseg.c
new file mode 100644
index 0000000000..ad963d8868
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn9k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
--
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2022-01-20  4:53   ` Jerin Jacob
  2021-12-13  8:22 ` [PATCH 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
	Anatoly Burakov
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN9K seggeregated Rx and event dequeue functions to build,
add macros to make future modifications simpler.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/cn9k_eventdev.c            | 229 +++++----
 drivers/event/cnxk/cn9k_worker.h              | 143 +++++-
 drivers/event/cnxk/cn9k_worker_deq.c          |  44 --
 drivers/event/cnxk/cn9k_worker_deq_burst.c    |  29 --
 drivers/event/cnxk/cn9k_worker_deq_ca.c       |  65 ---
 drivers/event/cnxk/cn9k_worker_deq_tmo.c      |  72 ---
 drivers/event/cnxk/cn9k_worker_dual_deq.c     |  53 --
 .../event/cnxk/cn9k_worker_dual_deq_burst.c   |  30 --
 drivers/event/cnxk/cn9k_worker_dual_deq_ca.c  |  74 ---
 drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c |  87 ----
 drivers/event/cnxk/meson.build                | 270 +++++++++-
 drivers/net/cnxk/cn9k_rx.h                    | 461 ++++++++----------
 drivers/net/cnxk/cn9k_rx_mseg.c               |  17 -
 drivers/net/cnxk/cn9k_rx_select.c             |  67 +++
 drivers/net/cnxk/cn9k_rx_vec.c                |  17 -
 drivers/net/cnxk/cn9k_rx_vec_mseg.c           |  18 -
 drivers/net/cnxk/meson.build                  |  41 +-
 17 files changed, 845 insertions(+), 872 deletions(-)
 delete mode 100644 drivers/event/cnxk/cn9k_worker_deq.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_deq_burst.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_deq_ca.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_deq_tmo.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_deq.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_deq_burst.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_deq_ca.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c
 delete mode 100644 drivers/net/cnxk/cn9k_rx_mseg.c
 create mode 100644 drivers/net/cnxk/cn9k_rx_select.c
 delete mode 100644 drivers/net/cnxk/cn9k_rx_vec.c
 delete mode 100644 drivers/net/cnxk/cn9k_rx_vec_mseg.c

diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index b68ce6c0a4..1d0e1288ce 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -10,13 +10,7 @@
 #define CN9K_DUAL_WS_PAIR_ID(x, id) (((x)*CN9K_DUAL_WS_NB_WS) + id)
 
 #define CN9K_SET_EVDEV_DEQ_OP(dev, deq_op, deq_ops)                            \
-	(deq_op = deq_ops[!!(dev->rx_offloads & NIX_RX_OFFLOAD_SECURITY_F)]    \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_VLAN_STRIP_F)]  \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_TSTAMP_F)]      \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_MARK_UPDATE_F)] \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_CHECKSUM_F)]    \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_PTYPE_F)]       \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_RSS_F)])
+	deq_op = deq_ops[dev->rx_offloads & (NIX_RX_OFFLOAD_MAX - 1)]
 
 #define CN9K_SET_EVDEV_ENQ_OP(dev, enq_op, enq_ops)                            \
 	(enq_op = enq_ops[!!(dev->tx_offloads & NIX_TX_OFFLOAD_SECURITY_F)]    \
@@ -316,188 +310,214 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 {
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
 	/* Single WS modes */
-	const event_dequeue_t sso_hws_deq[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_##name,
+	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t sso_hws_deq_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_burst_##name,
+	const event_dequeue_burst_t sso_hws_deq_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_tmo_##name,
+	const event_dequeue_t sso_hws_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t
-		sso_hws_deq_tmo_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_tmo_burst_##name,
-		NIX_RX_FASTPATH_MODES
+	const event_dequeue_burst_t sso_hws_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_burst_##name,
+			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	const event_dequeue_t sso_hws_deq_ca[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_ca_##name,
+	const event_dequeue_t sso_hws_deq_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t
-		sso_hws_deq_ca_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_ca_burst_##name,
+	const event_dequeue_burst_t sso_hws_deq_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_ca_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_seg_##name,
+	const event_dequeue_t sso_hws_deq_tmo_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_seg_burst_##name,
+		sso_hws_deq_tmo_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_ca_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_deq_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_tmo_seg_##name,
+	const event_dequeue_burst_t sso_hws_deq_seg_burst[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_tmo_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_tmo_seg_burst_##name,
+		sso_hws_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	const event_dequeue_t sso_hws_deq_ca_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_ca_seg_##name,
+	const event_dequeue_t sso_hws_deq_ca_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_ca_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_ca_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_deq_ca_seg_burst_##name,
+		sso_hws_deq_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_ca_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	/* Dual WS modes */
-	const event_dequeue_t sso_hws_dual_deq[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_##name,
+	const event_dequeue_t sso_hws_deq_tmo_ca_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_ca_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_burst_##name,
+		sso_hws_deq_tmo_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_deq_tmo_ca_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	/* Dual WS modes */
+	const event_dequeue_t sso_hws_dual_deq[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_dual_deq_tmo[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_tmo_##name,
+	const event_dequeue_burst_t sso_hws_dual_deq_burst[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_dual_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_tmo_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_tmo_burst_##name,
+		sso_hws_dual_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	const event_dequeue_t sso_hws_dual_deq_ca[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_ca_##name,
+	const event_dequeue_t sso_hws_dual_deq_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_ca_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_ca_burst_##name,
+		sso_hws_dual_deq_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_ca_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	const event_dequeue_t sso_hws_dual_deq_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_seg_##name,
+	const event_dequeue_t sso_hws_dual_deq_tmo_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_seg_burst_##name,
+		sso_hws_dual_deq_tmo_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_ca_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
 		};
 
-	const event_dequeue_t sso_hws_dual_deq_tmo_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_tmo_seg_##name,
+	const event_dequeue_t sso_hws_dual_deq_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_tmo_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] =                                         \
-			cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,
+		sso_hws_dual_deq_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
 		};
 
-	const event_dequeue_t sso_hws_dual_deq_ca_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_deq_ca_seg_##name,
+	const event_dequeue_t sso_hws_dual_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_dual_deq_ca_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] =                                         \
-			cn9k_sso_hws_dual_deq_ca_seg_burst_##name,
+		sso_hws_dual_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_dual_deq_ca_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_ca_seg_##name,
+		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
+	const event_dequeue_burst_t
+		sso_hws_dual_deq_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_ca_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_dual_deq_tmo_ca_seg[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_ca_seg_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_burst_t
+		sso_hws_dual_deq_tmo_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
 	/* Tx modes */
 	const event_tx_adapter_enqueue_t
 		sso_hws_tx_adptr_enq[2][2][2][2][2][2][2] = {
@@ -552,6 +572,13 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_deq_ca_seg_burst);
 		}
+
+		if (dev->is_ca_internal_port && dev->is_timeout_deq) {
+			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
+					      sso_hws_deq_tmo_ca_seg);
+			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
+					      sso_hws_deq_tmo_ca_seg_burst);
+		}
 	} else {
 		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq);
 		CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
@@ -568,6 +595,13 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					      sso_hws_deq_ca_burst);
 		}
+
+		if (dev->is_ca_internal_port && dev->is_timeout_deq) {
+			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
+					      sso_hws_deq_tmo_ca);
+			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
+					      sso_hws_deq_tmo_ca_burst);
+		}
 	}
 	event_dev->ca_enqueue = cn9k_sso_hws_ca_enq;
 
@@ -605,6 +639,14 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 					dev, event_dev->dequeue_burst,
 					sso_hws_dual_deq_ca_seg_burst);
 			}
+			if (dev->is_ca_internal_port && dev->is_timeout_deq) {
+				CN9K_SET_EVDEV_DEQ_OP(
+					dev, event_dev->dequeue,
+					sso_hws_dual_deq_tmo_ca_seg);
+				CN9K_SET_EVDEV_DEQ_OP(
+					dev, event_dev->dequeue_burst,
+					sso_hws_dual_deq_tmo_ca_seg_burst);
+			}
 		} else {
 			CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
 					      sso_hws_dual_deq);
@@ -624,6 +666,13 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 					dev, event_dev->dequeue_burst,
 					sso_hws_dual_deq_ca_burst);
 			}
+			if (dev->is_ca_internal_port && dev->is_timeout_deq) {
+				CN9K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
+						      sso_hws_dual_deq_tmo_ca);
+				CN9K_SET_EVDEV_DEQ_OP(
+					dev, event_dev->dequeue_burst,
+					sso_hws_dual_deq_tmo_ca_burst);
+			}
 		}
 
 		if (dev->tx_offloads & NIX_TX_MULTI_SEG_F)
diff --git a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h
index 9377fa50e7..b421412adc 100644
--- a/drivers/event/cnxk/cn9k_worker.h
+++ b/drivers/event/cnxk/cn9k_worker.h
@@ -385,7 +385,7 @@ uint16_t __rte_hot cn9k_sso_hws_ca_enq(void *port, struct rte_event ev[],
 uint16_t __rte_hot cn9k_sso_hws_dual_ca_enq(void *port, struct rte_event ev[],
 					    uint16_t nb_events);
 
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
+#define R(name, flags)                                                         \
 	uint16_t __rte_hot cn9k_sso_hws_deq_##name(                            \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_deq_burst_##name(                      \
@@ -401,6 +401,11 @@ uint16_t __rte_hot cn9k_sso_hws_dual_ca_enq(void *port, struct rte_event ev[],
 	uint16_t __rte_hot cn9k_sso_hws_deq_ca_burst_##name(                   \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_ca_##name(                     \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_ca_burst_##name(               \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
 	uint16_t __rte_hot cn9k_sso_hws_deq_seg_##name(                        \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_deq_seg_burst_##name(                  \
@@ -414,13 +419,61 @@ uint16_t __rte_hot cn9k_sso_hws_dual_ca_enq(void *port, struct rte_event ev[],
 	uint16_t __rte_hot cn9k_sso_hws_deq_ca_seg_##name(                     \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_deq_ca_seg_burst_##name(               \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_ca_seg_##name(                 \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_ca_seg_burst_##name(           \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);
 
 NIX_RX_FASTPATH_MODES
 #undef R
 
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
+#define SSO_DEQ(fn, flags)                                                     \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn9k_sso_hws *ws = port;                                \
+                                                                               \
+		RTE_SET_USED(timeout_ticks);                                   \
+		if (ws->swtag_req) {                                           \
+			ws->swtag_req = 0;                                     \
+			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
+			return 1;                                              \
+		}                                                              \
+		return cn9k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);   \
+	}
+
+#define SSO_DEQ_SEG(fn, flags)	  SSO_DEQ(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DEQ_CA(fn, flags)	  SSO_DEQ(fn, flags | CPT_RX_WQE_F)
+#define SSO_DEQ_CA_SEG(fn, flags) SSO_DEQ_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define SSO_DEQ_TMO(fn, flags)                                                 \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn9k_sso_hws *ws = port;                                \
+		uint16_t ret = 1;                                              \
+		uint64_t iter;                                                 \
+                                                                               \
+		if (ws->swtag_req) {                                           \
+			ws->swtag_req = 0;                                     \
+			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
+			return ret;                                            \
+		}                                                              \
+		ret = cn9k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);    \
+		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
+			ret = cn9k_sso_hws_get_work(ws, ev, flags,             \
+						    ws->lookup_mem);           \
+		return ret;                                                    \
+	}
+
+#define SSO_DEQ_TMO_SEG(fn, flags)    SSO_DEQ_TMO(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DEQ_TMO_CA(fn, flags)     SSO_DEQ_TMO(fn, flags | CPT_RX_WQE_F)
+#define SSO_DEQ_TMO_CA_SEG(fn, flags) SSO_DEQ_TMO_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define R(name, flags)                                                         \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_##name(                       \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_burst_##name(                 \
@@ -436,6 +489,11 @@ NIX_RX_FASTPATH_MODES
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_burst_##name(              \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_ca_##name(                \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_ca_burst_##name(          \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_seg_##name(                   \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_seg_burst_##name(             \
@@ -449,12 +507,93 @@ NIX_RX_FASTPATH_MODES
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_seg_##name(                \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_seg_burst_##name(          \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_ca_seg_##name(            \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_ca_seg_burst_##name(      \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);
 
 NIX_RX_FASTPATH_MODES
 #undef R
 
+#define SSO_DUAL_DEQ(fn, flags)                                                \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn9k_sso_hws_dual *dws = port;                          \
+		uint16_t gw;                                                   \
+                                                                               \
+		RTE_SET_USED(timeout_ticks);                                   \
+		if (dws->swtag_req) {                                          \
+			dws->swtag_req = 0;                                    \
+			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
+						SSOW_LF_GWS_TAG);              \
+			return 1;                                              \
+		}                                                              \
+		gw = cn9k_sso_hws_dual_get_work(                               \
+			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
+			dws->lookup_mem, dws->tstamp);                         \
+		dws->vws = !dws->vws;                                          \
+		return gw;                                                     \
+	}
+
+#define SSO_DUAL_DEQ_SEG(fn, flags) SSO_DUAL_DEQ(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DUAL_DEQ_CA(fn, flags)  SSO_DUAL_DEQ(fn, flags | CPT_RX_WQE_F)
+#define SSO_DUAL_DEQ_CA_SEG(fn, flags)                                         \
+	SSO_DUAL_DEQ_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define SSO_DUAL_DEQ_TMO(fn, flags)                                            \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn9k_sso_hws_dual *dws = port;                          \
+		uint16_t ret = 1;                                              \
+		uint64_t iter;                                                 \
+                                                                               \
+		if (dws->swtag_req) {                                          \
+			dws->swtag_req = 0;                                    \
+			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
+						SSOW_LF_GWS_TAG);              \
+			return ret;                                            \
+		}                                                              \
+		ret = cn9k_sso_hws_dual_get_work(                              \
+			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
+			dws->lookup_mem, dws->tstamp);                         \
+		dws->vws = !dws->vws;                                          \
+		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++) {   \
+			ret = cn9k_sso_hws_dual_get_work(                      \
+				dws->base[dws->vws], dws->base[!dws->vws], ev, \
+				flags, dws->lookup_mem, dws->tstamp);          \
+			dws->vws = !dws->vws;                                  \
+		}                                                              \
+		return ret;                                                    \
+	}
+
+#define SSO_DUAL_DEQ_TMO_SEG(fn, flags)                                        \
+	SSO_DUAL_DEQ_TMO(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DUAL_DEQ_TMO_CA(fn, flags)                                         \
+	SSO_DUAL_DEQ_TMO(fn, flags | CPT_RX_WQE_F)
+#define SSO_DUAL_DEQ_TMO_CA_SEG(fn, flags)                                     \
+	SSO_DUAL_DEQ_TMO_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define SSO_CMN_DEQ_BURST(fnb, fn, flags)                                      \
+	uint16_t __rte_hot fnb(void *port, struct rte_event ev[],              \
+			       uint16_t nb_events, uint64_t timeout_ticks)     \
+	{                                                                      \
+		RTE_SET_USED(nb_events);                                       \
+		return fn(port, ev, timeout_ticks);                            \
+	}
+
+#define SSO_CMN_DEQ_SEG_BURST(fnb, fn, flags)                                  \
+	uint16_t __rte_hot fnb(void *port, struct rte_event ev[],              \
+			       uint16_t nb_events, uint64_t timeout_ticks)     \
+	{                                                                      \
+		RTE_SET_USED(nb_events);                                       \
+		return fn(port, ev, timeout_ticks);                            \
+	}
+
 static __rte_always_inline void
 cn9k_sso_txq_fc_wait(const struct cn9k_eth_txq *txq)
 {
diff --git a/drivers/event/cnxk/cn9k_worker_deq.c b/drivers/event/cnxk/cn9k_worker_deq.c
deleted file mode 100644
index ba6fd05381..0000000000
--- a/drivers/event/cnxk/cn9k_worker_deq.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_deq_##name(                            \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn9k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);   \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_seg_##name(                        \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn9k_sso_hws_get_work(                                  \
-			ws, ev, flags | NIX_RX_MULTI_SEG_F, ws->lookup_mem);   \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_deq_burst.c b/drivers/event/cnxk/cn9k_worker_deq_burst.c
deleted file mode 100644
index 42dc59bd07..0000000000
--- a/drivers/event/cnxk/cn9k_worker_deq_burst.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_deq_burst_##name(                      \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_##name(port, ev, timeout_ticks);       \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_seg_burst_##name(                  \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_seg_##name(port, ev, timeout_ticks);   \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_deq_ca.c b/drivers/event/cnxk/cn9k_worker_deq_ca.c
deleted file mode 100644
index ffe7a7c9e2..0000000000
--- a/drivers/event/cnxk/cn9k_worker_deq_ca.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_deq_ca_##name(                         \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn9k_sso_hws_get_work(ws, ev, flags | CPT_RX_WQE_F,     \
-					     ws->lookup_mem);                  \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_ca_burst_##name(                   \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_ca_##name(port, ev, timeout_ticks);    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_ca_seg_##name(                     \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn9k_sso_hws_get_work(                                  \
-			ws, ev, flags | NIX_RX_MULTI_SEG_F | CPT_RX_WQE_F,     \
-			ws->lookup_mem);                                       \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_ca_seg_burst_##name(               \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_ca_seg_##name(port, ev,                \
-						      timeout_ticks);          \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_deq_tmo.c b/drivers/event/cnxk/cn9k_worker_deq_tmo.c
deleted file mode 100644
index 5147c1933a..0000000000
--- a/drivers/event/cnxk/cn9k_worker_deq_tmo.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_##name(                        \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn9k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);    \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
-			ret = cn9k_sso_hws_get_work(ws, ev, flags,             \
-						    ws->lookup_mem);           \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_burst_##name(                  \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_tmo_##name(port, ev, timeout_ticks);   \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_seg_##name(                    \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_TAG);   \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn9k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);    \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
-			ret = cn9k_sso_hws_get_work(ws, ev, flags,             \
-						    ws->lookup_mem);           \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_deq_tmo_seg_burst_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_deq_tmo_seg_##name(port, ev,               \
-						       timeout_ticks);         \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_dual_deq.c b/drivers/event/cnxk/cn9k_worker_dual_deq.c
deleted file mode 100644
index ed134ab779..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_deq.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_##name(                       \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t gw;                                                   \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return 1;                                              \
-		}                                                              \
-									       \
-		gw = cn9k_sso_hws_dual_get_work(                               \
-			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
-			dws->lookup_mem, dws->tstamp);                         \
-		dws->vws = !dws->vws;                                          \
-		return gw;                                                     \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_seg_##name(                   \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t gw;                                                   \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return 1;                                              \
-		}                                                              \
-									       \
-		gw = cn9k_sso_hws_dual_get_work(                               \
-			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
-			dws->lookup_mem, dws->tstamp);                         \
-		dws->vws = !dws->vws;                                          \
-		return gw;                                                     \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_dual_deq_burst.c b/drivers/event/cnxk/cn9k_worker_dual_deq_burst.c
deleted file mode 100644
index 4d913f9ea7..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_deq_burst.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_burst_##name(                 \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_##name(port, ev, timeout_ticks);  \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_seg_burst_##name(             \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_seg_##name(port, ev,              \
-							timeout_ticks);        \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_dual_deq_ca.c b/drivers/event/cnxk/cn9k_worker_dual_deq_ca.c
deleted file mode 100644
index 22e148be73..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_deq_ca.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_##name(                    \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t gw;                                                   \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return 1;                                              \
-		}                                                              \
-									       \
-		gw = cn9k_sso_hws_dual_get_work(                               \
-			dws->base[dws->vws], dws->base[!dws->vws], ev,         \
-			flags | CPT_RX_WQE_F, dws->lookup_mem, dws->tstamp);   \
-		dws->vws = !dws->vws;                                          \
-		return gw;                                                     \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_burst_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_ca_##name(port, ev,               \
-						       timeout_ticks);         \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_seg_##name(                \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t gw;                                                   \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return 1;                                              \
-		}                                                              \
-									       \
-		gw = cn9k_sso_hws_dual_get_work(                               \
-			dws->base[dws->vws], dws->base[!dws->vws], ev,         \
-			flags | NIX_RX_MULTI_SEG_F | CPT_RX_WQE_F,             \
-			dws->lookup_mem, dws->tstamp);                         \
-		dws->vws = !dws->vws;                                          \
-		return gw;                                                     \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_ca_seg_burst_##name(          \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_ca_seg_##name(port, ev,           \
-							   timeout_ticks);     \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c b/drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c
deleted file mode 100644
index e5ba3feb22..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_deq_tmo.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_##name(                   \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn9k_sso_hws_dual_get_work(                              \
-			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
-			dws->lookup_mem, dws->tstamp);                         \
-		dws->vws = !dws->vws;                                          \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++) {   \
-			ret = cn9k_sso_hws_dual_get_work(                      \
-				dws->base[dws->vws], dws->base[!dws->vws], ev, \
-				flags, dws->lookup_mem, dws->tstamp);          \
-			dws->vws = !dws->vws;                                  \
-		}                                                              \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_burst_##name(             \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_tmo_##name(port, ev,              \
-							timeout_ticks);        \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_seg_##name(               \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *dws = port;                          \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (dws->swtag_req) {                                          \
-			dws->swtag_req = 0;                                    \
-			cnxk_sso_hws_swtag_wait(dws->base[!dws->vws] +         \
-						SSOW_LF_GWS_TAG);              \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn9k_sso_hws_dual_get_work(                              \
-			dws->base[dws->vws], dws->base[!dws->vws], ev, flags,  \
-			dws->lookup_mem, dws->tstamp);                         \
-		dws->vws = !dws->vws;                                          \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++) {   \
-			ret = cn9k_sso_hws_dual_get_work(                      \
-				dws->base[dws->vws], dws->base[!dws->vws], ev, \
-				flags, dws->lookup_mem, dws->tstamp);          \
-			dws->vws = !dws->vws;                                  \
-		}                                                              \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn9k_sso_hws_dual_deq_tmo_seg_burst_##name(         \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn9k_sso_hws_dual_deq_tmo_seg_##name(port, ev,          \
-							    timeout_ticks);    \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
index 6f8b23c8e8..27697d2ece 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -11,14 +11,6 @@ endif
 sources = files(
         'cn9k_eventdev.c',
         'cn9k_worker.c',
-        'cn9k_worker_deq.c',
-        'cn9k_worker_deq_burst.c',
-        'cn9k_worker_deq_ca.c',
-        'cn9k_worker_deq_tmo.c',
-        'cn9k_worker_dual_deq.c',
-        'cn9k_worker_dual_deq_burst.c',
-        'cn9k_worker_dual_deq_ca.c',
-        'cn9k_worker_dual_deq_tmo.c',
         'cn9k_worker_tx_enq.c',
         'cn9k_worker_tx_enq_seg.c',
         'cn9k_worker_dual_tx_enq.c',
@@ -39,6 +31,268 @@ sources = files(
         'cnxk_tim_worker.c',
 )
 
+sources += files(
+        'deq/cn9k/deq_0_15_burst.c',
+        'deq/cn9k/deq_16_31_burst.c',
+        'deq/cn9k/deq_32_47_burst.c',
+        'deq/cn9k/deq_48_63_burst.c',
+        'deq/cn9k/deq_64_79_burst.c',
+        'deq/cn9k/deq_80_95_burst.c',
+        'deq/cn9k/deq_96_111_burst.c',
+        'deq/cn9k/deq_112_127_burst.c',
+        'deq/cn9k/deq_0_15_seg_burst.c',
+        'deq/cn9k/deq_16_31_seg_burst.c',
+        'deq/cn9k/deq_32_47_seg_burst.c',
+        'deq/cn9k/deq_48_63_seg_burst.c',
+        'deq/cn9k/deq_64_79_seg_burst.c',
+        'deq/cn9k/deq_80_95_seg_burst.c',
+        'deq/cn9k/deq_96_111_seg_burst.c',
+        'deq/cn9k/deq_112_127_seg_burst.c',
+        'deq/cn9k/deq_0_15.c',
+        'deq/cn9k/deq_16_31.c',
+        'deq/cn9k/deq_32_47.c',
+        'deq/cn9k/deq_48_63.c',
+        'deq/cn9k/deq_64_79.c',
+        'deq/cn9k/deq_80_95.c',
+        'deq/cn9k/deq_96_111.c',
+        'deq/cn9k/deq_112_127.c',
+        'deq/cn9k/deq_0_15_seg.c',
+        'deq/cn9k/deq_16_31_seg.c',
+        'deq/cn9k/deq_32_47_seg.c',
+        'deq/cn9k/deq_48_63_seg.c',
+        'deq/cn9k/deq_64_79_seg.c',
+        'deq/cn9k/deq_80_95_seg.c',
+        'deq/cn9k/deq_96_111_seg.c',
+        'deq/cn9k/deq_112_127_seg.c',
+        'deq/cn9k/deq_0_15_tmo.c',
+        'deq/cn9k/deq_16_31_tmo.c',
+        'deq/cn9k/deq_32_47_tmo.c',
+        'deq/cn9k/deq_48_63_tmo.c',
+        'deq/cn9k/deq_64_79_tmo.c',
+        'deq/cn9k/deq_80_95_tmo.c',
+        'deq/cn9k/deq_96_111_tmo.c',
+        'deq/cn9k/deq_112_127_tmo.c',
+        'deq/cn9k/deq_0_15_tmo_burst.c',
+        'deq/cn9k/deq_16_31_tmo_burst.c',
+        'deq/cn9k/deq_32_47_tmo_burst.c',
+        'deq/cn9k/deq_48_63_tmo_burst.c',
+        'deq/cn9k/deq_64_79_tmo_burst.c',
+        'deq/cn9k/deq_80_95_tmo_burst.c',
+        'deq/cn9k/deq_96_111_tmo_burst.c',
+        'deq/cn9k/deq_112_127_tmo_burst.c',
+        'deq/cn9k/deq_0_15_tmo_seg.c',
+        'deq/cn9k/deq_16_31_tmo_seg.c',
+        'deq/cn9k/deq_32_47_tmo_seg.c',
+        'deq/cn9k/deq_48_63_tmo_seg.c',
+        'deq/cn9k/deq_64_79_tmo_seg.c',
+        'deq/cn9k/deq_80_95_tmo_seg.c',
+        'deq/cn9k/deq_96_111_tmo_seg.c',
+        'deq/cn9k/deq_112_127_tmo_seg.c',
+        'deq/cn9k/deq_0_15_tmo_seg_burst.c',
+        'deq/cn9k/deq_16_31_tmo_seg_burst.c',
+        'deq/cn9k/deq_32_47_tmo_seg_burst.c',
+        'deq/cn9k/deq_48_63_tmo_seg_burst.c',
+        'deq/cn9k/deq_64_79_tmo_seg_burst.c',
+        'deq/cn9k/deq_80_95_tmo_seg_burst.c',
+        'deq/cn9k/deq_96_111_tmo_seg_burst.c',
+        'deq/cn9k/deq_112_127_tmo_seg_burst.c',
+        'deq/cn9k/deq_0_15_ca.c',
+        'deq/cn9k/deq_16_31_ca.c',
+        'deq/cn9k/deq_32_47_ca.c',
+        'deq/cn9k/deq_48_63_ca.c',
+        'deq/cn9k/deq_64_79_ca.c',
+        'deq/cn9k/deq_80_95_ca.c',
+        'deq/cn9k/deq_96_111_ca.c',
+        'deq/cn9k/deq_112_127_ca.c',
+        'deq/cn9k/deq_0_15_ca_burst.c',
+        'deq/cn9k/deq_16_31_ca_burst.c',
+        'deq/cn9k/deq_32_47_ca_burst.c',
+        'deq/cn9k/deq_48_63_ca_burst.c',
+        'deq/cn9k/deq_64_79_ca_burst.c',
+        'deq/cn9k/deq_80_95_ca_burst.c',
+        'deq/cn9k/deq_96_111_ca_burst.c',
+        'deq/cn9k/deq_112_127_ca_burst.c',
+        'deq/cn9k/deq_0_15_ca_seg.c',
+        'deq/cn9k/deq_16_31_ca_seg.c',
+        'deq/cn9k/deq_32_47_ca_seg.c',
+        'deq/cn9k/deq_48_63_ca_seg.c',
+        'deq/cn9k/deq_64_79_ca_seg.c',
+        'deq/cn9k/deq_80_95_ca_seg.c',
+        'deq/cn9k/deq_96_111_ca_seg.c',
+        'deq/cn9k/deq_112_127_ca_seg.c',
+        'deq/cn9k/deq_0_15_ca_seg_burst.c',
+        'deq/cn9k/deq_16_31_ca_seg_burst.c',
+        'deq/cn9k/deq_32_47_ca_seg_burst.c',
+        'deq/cn9k/deq_48_63_ca_seg_burst.c',
+        'deq/cn9k/deq_64_79_ca_seg_burst.c',
+        'deq/cn9k/deq_80_95_ca_seg_burst.c',
+        'deq/cn9k/deq_96_111_ca_seg_burst.c',
+        'deq/cn9k/deq_112_127_ca_seg_burst.c',
+        'deq/cn9k/deq_0_15_ca_tmo.c',
+        'deq/cn9k/deq_16_31_ca_tmo.c',
+        'deq/cn9k/deq_32_47_ca_tmo.c',
+        'deq/cn9k/deq_48_63_ca_tmo.c',
+        'deq/cn9k/deq_64_79_ca_tmo.c',
+        'deq/cn9k/deq_80_95_ca_tmo.c',
+        'deq/cn9k/deq_96_111_ca_tmo.c',
+        'deq/cn9k/deq_112_127_ca_tmo.c',
+        'deq/cn9k/deq_0_15_ca_tmo_burst.c',
+        'deq/cn9k/deq_16_31_ca_tmo_burst.c',
+        'deq/cn9k/deq_32_47_ca_tmo_burst.c',
+        'deq/cn9k/deq_48_63_ca_tmo_burst.c',
+        'deq/cn9k/deq_64_79_ca_tmo_burst.c',
+        'deq/cn9k/deq_80_95_ca_tmo_burst.c',
+        'deq/cn9k/deq_96_111_ca_tmo_burst.c',
+        'deq/cn9k/deq_112_127_ca_tmo_burst.c',
+        'deq/cn9k/deq_0_15_ca_tmo_seg.c',
+        'deq/cn9k/deq_16_31_ca_tmo_seg.c',
+        'deq/cn9k/deq_32_47_ca_tmo_seg.c',
+        'deq/cn9k/deq_48_63_ca_tmo_seg.c',
+        'deq/cn9k/deq_64_79_ca_tmo_seg.c',
+        'deq/cn9k/deq_80_95_ca_tmo_seg.c',
+        'deq/cn9k/deq_96_111_ca_tmo_seg.c',
+        'deq/cn9k/deq_112_127_ca_tmo_seg.c',
+        'deq/cn9k/deq_0_15_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_16_31_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_32_47_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_48_63_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_64_79_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_80_95_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_96_111_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_112_127_ca_tmo_seg_burst.c',
+)
+
+sources += files(
+        'deq/cn9k/deq_0_15_dual_burst.c',
+        'deq/cn9k/deq_16_31_dual_burst.c',
+        'deq/cn9k/deq_32_47_dual_burst.c',
+        'deq/cn9k/deq_48_63_dual_burst.c',
+        'deq/cn9k/deq_64_79_dual_burst.c',
+        'deq/cn9k/deq_80_95_dual_burst.c',
+        'deq/cn9k/deq_96_111_dual_burst.c',
+        'deq/cn9k/deq_112_127_dual_burst.c',
+        'deq/cn9k/deq_0_15_dual_seg_burst.c',
+        'deq/cn9k/deq_16_31_dual_seg_burst.c',
+        'deq/cn9k/deq_32_47_dual_seg_burst.c',
+        'deq/cn9k/deq_48_63_dual_seg_burst.c',
+        'deq/cn9k/deq_64_79_dual_seg_burst.c',
+        'deq/cn9k/deq_80_95_dual_seg_burst.c',
+        'deq/cn9k/deq_96_111_dual_seg_burst.c',
+        'deq/cn9k/deq_112_127_dual_seg_burst.c',
+        'deq/cn9k/deq_0_15_dual.c',
+        'deq/cn9k/deq_16_31_dual.c',
+        'deq/cn9k/deq_32_47_dual.c',
+        'deq/cn9k/deq_48_63_dual.c',
+        'deq/cn9k/deq_64_79_dual.c',
+        'deq/cn9k/deq_80_95_dual.c',
+        'deq/cn9k/deq_96_111_dual.c',
+        'deq/cn9k/deq_112_127_dual.c',
+        'deq/cn9k/deq_0_15_dual_seg.c',
+        'deq/cn9k/deq_16_31_dual_seg.c',
+        'deq/cn9k/deq_32_47_dual_seg.c',
+        'deq/cn9k/deq_48_63_dual_seg.c',
+        'deq/cn9k/deq_64_79_dual_seg.c',
+        'deq/cn9k/deq_80_95_dual_seg.c',
+        'deq/cn9k/deq_96_111_dual_seg.c',
+        'deq/cn9k/deq_112_127_dual_seg.c',
+        'deq/cn9k/deq_0_15_dual_tmo.c',
+        'deq/cn9k/deq_16_31_dual_tmo.c',
+        'deq/cn9k/deq_32_47_dual_tmo.c',
+        'deq/cn9k/deq_48_63_dual_tmo.c',
+        'deq/cn9k/deq_64_79_dual_tmo.c',
+        'deq/cn9k/deq_80_95_dual_tmo.c',
+        'deq/cn9k/deq_96_111_dual_tmo.c',
+        'deq/cn9k/deq_112_127_dual_tmo.c',
+        'deq/cn9k/deq_0_15_dual_tmo_burst.c',
+        'deq/cn9k/deq_16_31_dual_tmo_burst.c',
+        'deq/cn9k/deq_32_47_dual_tmo_burst.c',
+        'deq/cn9k/deq_48_63_dual_tmo_burst.c',
+        'deq/cn9k/deq_64_79_dual_tmo_burst.c',
+        'deq/cn9k/deq_80_95_dual_tmo_burst.c',
+        'deq/cn9k/deq_96_111_dual_tmo_burst.c',
+        'deq/cn9k/deq_112_127_dual_tmo_burst.c',
+        'deq/cn9k/deq_0_15_dual_tmo_seg.c',
+        'deq/cn9k/deq_16_31_dual_tmo_seg.c',
+        'deq/cn9k/deq_32_47_dual_tmo_seg.c',
+        'deq/cn9k/deq_48_63_dual_tmo_seg.c',
+        'deq/cn9k/deq_64_79_dual_tmo_seg.c',
+        'deq/cn9k/deq_80_95_dual_tmo_seg.c',
+        'deq/cn9k/deq_96_111_dual_tmo_seg.c',
+        'deq/cn9k/deq_112_127_dual_tmo_seg.c',
+        'deq/cn9k/deq_0_15_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_16_31_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_32_47_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_48_63_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_64_79_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_80_95_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_96_111_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_112_127_dual_tmo_seg_burst.c',
+        'deq/cn9k/deq_0_15_dual_ca.c',
+        'deq/cn9k/deq_16_31_dual_ca.c',
+        'deq/cn9k/deq_32_47_dual_ca.c',
+        'deq/cn9k/deq_48_63_dual_ca.c',
+        'deq/cn9k/deq_64_79_dual_ca.c',
+        'deq/cn9k/deq_80_95_dual_ca.c',
+        'deq/cn9k/deq_96_111_dual_ca.c',
+        'deq/cn9k/deq_112_127_dual_ca.c',
+        'deq/cn9k/deq_0_15_dual_ca_burst.c',
+        'deq/cn9k/deq_16_31_dual_ca_burst.c',
+        'deq/cn9k/deq_32_47_dual_ca_burst.c',
+        'deq/cn9k/deq_48_63_dual_ca_burst.c',
+        'deq/cn9k/deq_64_79_dual_ca_burst.c',
+        'deq/cn9k/deq_80_95_dual_ca_burst.c',
+        'deq/cn9k/deq_96_111_dual_ca_burst.c',
+        'deq/cn9k/deq_112_127_dual_ca_burst.c',
+        'deq/cn9k/deq_0_15_dual_ca_seg.c',
+        'deq/cn9k/deq_16_31_dual_ca_seg.c',
+        'deq/cn9k/deq_32_47_dual_ca_seg.c',
+        'deq/cn9k/deq_48_63_dual_ca_seg.c',
+        'deq/cn9k/deq_64_79_dual_ca_seg.c',
+        'deq/cn9k/deq_80_95_dual_ca_seg.c',
+        'deq/cn9k/deq_96_111_dual_ca_seg.c',
+        'deq/cn9k/deq_112_127_dual_ca_seg.c',
+        'deq/cn9k/deq_0_15_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_16_31_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_32_47_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_48_63_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_64_79_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_80_95_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_96_111_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_112_127_dual_ca_seg_burst.c',
+        'deq/cn9k/deq_0_15_dual_ca_tmo.c',
+        'deq/cn9k/deq_16_31_dual_ca_tmo.c',
+        'deq/cn9k/deq_32_47_dual_ca_tmo.c',
+        'deq/cn9k/deq_48_63_dual_ca_tmo.c',
+        'deq/cn9k/deq_64_79_dual_ca_tmo.c',
+        'deq/cn9k/deq_80_95_dual_ca_tmo.c',
+        'deq/cn9k/deq_96_111_dual_ca_tmo.c',
+        'deq/cn9k/deq_112_127_dual_ca_tmo.c',
+        'deq/cn9k/deq_0_15_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_16_31_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_32_47_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_48_63_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_64_79_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_80_95_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_96_111_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_112_127_dual_ca_tmo_burst.c',
+        'deq/cn9k/deq_0_15_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_16_31_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_32_47_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_48_63_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_64_79_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_80_95_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_96_111_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_112_127_dual_ca_tmo_seg.c',
+        'deq/cn9k/deq_0_15_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_16_31_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_32_47_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_48_63_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_64_79_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_80_95_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_96_111_dual_ca_tmo_seg_burst.c',
+        'deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c',
+)
+
 extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
 foreach flag: extra_flags
     if cc.has_argument(flag)
diff --git a/drivers/net/cnxk/cn9k_rx.h b/drivers/net/cnxk/cn9k_rx.h
index 225bb4197c..b038b1a6ef 100644
--- a/drivers/net/cnxk/cn9k_rx.h
+++ b/drivers/net/cnxk/cn9k_rx.h
@@ -18,6 +18,7 @@
 #define NIX_RX_OFFLOAD_TSTAMP_F	     BIT(4)
 #define NIX_RX_OFFLOAD_VLAN_STRIP_F  BIT(5)
 #define NIX_RX_OFFLOAD_SECURITY_F    BIT(6)
+#define NIX_RX_OFFLOAD_MAX	     (NIX_RX_OFFLOAD_SECURITY_F << 1)
 
 /* Flags to control cqe_to_mbuf conversion function.
  * Defining it from backwards to denote its been
@@ -807,278 +808,214 @@ cn9k_nix_recv_pkts_vector(void *rx_queue, struct rte_mbuf **rx_pkts,
 #define R_SEC_F   NIX_RX_OFFLOAD_SECURITY_F
 
 /* [R_SEC_F] [RX_VLAN_F] [TS] [MARK] [CKSUM] [PTYPE] [RSS] */
-#define NIX_RX_FASTPATH_MODES						       \
-R(no_offload,			0, 0, 0, 0, 0, 0, 0,			       \
-		NIX_RX_OFFLOAD_NONE)					       \
-R(rss,				0, 0, 0, 0, 0, 0, 1,			       \
-		RSS_F)							       \
-R(ptype,			0, 0, 0, 0, 0, 1, 0,			       \
-		PTYPE_F)						       \
-R(ptype_rss,			0, 0, 0, 0, 0, 1, 1,			       \
-		PTYPE_F | RSS_F)					       \
-R(cksum,			0, 0, 0, 0, 1, 0, 0,			       \
-		CKSUM_F)						       \
-R(cksum_rss,			0, 0, 0, 0, 1, 0, 1,			       \
-		CKSUM_F | RSS_F)					       \
-R(cksum_ptype,			0, 0, 0, 0, 1, 1, 0,			       \
-		CKSUM_F | PTYPE_F)					       \
-R(cksum_ptype_rss,		0, 0, 0, 0, 1, 1, 1,			       \
-		CKSUM_F | PTYPE_F | RSS_F)				       \
-R(mark,				0, 0, 0, 1, 0, 0, 0,			       \
-		MARK_F)							       \
-R(mark_rss,			0, 0, 0, 1, 0, 0, 1,			       \
-		MARK_F | RSS_F)						       \
-R(mark_ptype,			0, 0, 0, 1, 0, 1, 0,			       \
-		MARK_F | PTYPE_F)					       \
-R(mark_ptype_rss,		0, 0, 0, 1, 0, 1, 1,			       \
-		MARK_F | PTYPE_F | RSS_F)				       \
-R(mark_cksum,			0, 0, 0, 1, 1, 0, 0,			       \
-		MARK_F | CKSUM_F)					       \
-R(mark_cksum_rss,		0, 0, 0, 1, 1, 0, 1,			       \
-		MARK_F | CKSUM_F | RSS_F)				       \
-R(mark_cksum_ptype,		0, 0, 0, 1, 1, 1, 0,			       \
-		MARK_F | CKSUM_F | PTYPE_F)				       \
-R(mark_cksum_ptype_rss,		0, 0, 0, 1, 1, 1, 1,			       \
-		MARK_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(ts,				0, 0, 1, 0, 0, 0, 0,			       \
-		TS_F)							       \
-R(ts_rss,			0, 0, 1, 0, 0, 0, 1,			       \
-		TS_F | RSS_F)						       \
-R(ts_ptype,			0, 0, 1, 0, 0, 1, 0,			       \
-		TS_F | PTYPE_F)						       \
-R(ts_ptype_rss,			0, 0, 1, 0, 0, 1, 1,			       \
-		TS_F | PTYPE_F | RSS_F)					       \
-R(ts_cksum,			0, 0, 1, 0, 1, 0, 0,			       \
-		TS_F | CKSUM_F)						       \
-R(ts_cksum_rss,			0, 0, 1, 0, 1, 0, 1,			       \
-		TS_F | CKSUM_F | RSS_F)					       \
-R(ts_cksum_ptype,		0, 0, 1, 0, 1, 1, 0,			       \
-		TS_F | CKSUM_F | PTYPE_F)				       \
-R(ts_cksum_ptype_rss,		0, 0, 1, 0, 1, 1, 1,			       \
-		TS_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(ts_mark,			0, 0, 1, 1, 0, 0, 0,			       \
-		TS_F | MARK_F)						       \
-R(ts_mark_rss,			0, 0, 1, 1, 0, 0, 1,			       \
-		TS_F | MARK_F | RSS_F)					       \
-R(ts_mark_ptype,		0, 0, 1, 1, 0, 1, 0,			       \
-		TS_F | MARK_F | PTYPE_F)				       \
-R(ts_mark_ptype_rss,		0, 0, 1, 1, 0, 1, 1,			       \
-		TS_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(ts_mark_cksum,		0, 0, 1, 1, 1, 0, 0,			       \
-		TS_F | MARK_F | CKSUM_F)				       \
-R(ts_mark_cksum_rss,		0, 0, 1, 1, 1, 0, 1,			       \
-		TS_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(ts_mark_cksum_ptype,		0, 0, 1, 1, 1, 1, 0,			       \
-		TS_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(ts_mark_cksum_ptype_rss,	0, 0, 1, 1, 1, 1, 1,			       \
-		TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan,				0, 1, 0, 0, 0, 0, 0,			       \
-		RX_VLAN_F)						       \
-R(vlan_rss,			0, 1, 0, 0, 0, 0, 1,			       \
-		RX_VLAN_F | RSS_F)					       \
-R(vlan_ptype,			0, 1, 0, 0, 0, 1, 0,			       \
-		RX_VLAN_F | PTYPE_F)					       \
-R(vlan_ptype_rss,		0, 1, 0, 0, 0, 1, 1,			       \
-		RX_VLAN_F | PTYPE_F | RSS_F)				       \
-R(vlan_cksum,			0, 1, 0, 0, 1, 0, 0,			       \
-		RX_VLAN_F | CKSUM_F)					       \
-R(vlan_cksum_rss,		0, 1, 0, 0, 1, 0, 1,			       \
-		RX_VLAN_F | CKSUM_F | RSS_F)				       \
-R(vlan_cksum_ptype,		0, 1, 0, 0, 1, 1, 0,			       \
-		RX_VLAN_F | CKSUM_F | PTYPE_F)				       \
-R(vlan_cksum_ptype_rss,		0, 1, 0, 0, 1, 1, 1,			       \
-		RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(vlan_mark,			0, 1, 0, 1, 0, 0, 0,			       \
-		RX_VLAN_F | MARK_F)					       \
-R(vlan_mark_rss,		0, 1, 0, 1, 0, 0, 1,			       \
-		RX_VLAN_F | MARK_F | RSS_F)				       \
-R(vlan_mark_ptype,		0, 1, 0, 1, 0, 1, 0,			       \
-		RX_VLAN_F | MARK_F | PTYPE_F)				       \
-R(vlan_mark_ptype_rss,		0, 1, 0, 1, 0, 1, 1,			       \
-		RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(vlan_mark_cksum,		0, 1, 0, 1, 1, 0, 0,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F)				       \
-R(vlan_mark_cksum_rss,		0, 1, 0, 1, 1, 0, 1,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(vlan_mark_cksum_ptype,	0, 1, 0, 1, 1, 1, 0,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(vlan_mark_cksum_ptype_rss,	0, 1, 0, 1, 1, 1, 1,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts,			0, 1, 1, 0, 0, 0, 0,			       \
-		RX_VLAN_F | TS_F)					       \
-R(vlan_ts_rss,			0, 1, 1, 0, 0, 0, 1,			       \
-		RX_VLAN_F | TS_F | RSS_F)				       \
-R(vlan_ts_ptype,		0, 1, 1, 0, 0, 1, 0,			       \
-		RX_VLAN_F | TS_F | PTYPE_F)				       \
-R(vlan_ts_ptype_rss,		0, 1, 1, 0, 0, 1, 1,			       \
-		RX_VLAN_F | TS_F | PTYPE_F | RSS_F)			       \
-R(vlan_ts_cksum,		0, 1, 1, 0, 1, 0, 0,			       \
-		RX_VLAN_F | TS_F | CKSUM_F)				       \
-R(vlan_ts_cksum_rss,		0, 1, 1, 0, 1, 0, 1,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | RSS_F)			       \
-R(vlan_ts_cksum_ptype,		0, 1, 1, 0, 1, 1, 0,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)			       \
-R(vlan_ts_cksum_ptype_rss,	0, 1, 1, 0, 1, 1, 1,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts_mark,			0, 1, 1, 1, 0, 0, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F)				       \
-R(vlan_ts_mark_rss,		0, 1, 1, 1, 0, 0, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | RSS_F)			       \
-R(vlan_ts_mark_ptype,		0, 1, 1, 1, 0, 1, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | PTYPE_F)			       \
-R(vlan_ts_mark_ptype_rss,	0, 1, 1, 1, 0, 1, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts_mark_cksum,		0, 1, 1, 1, 1, 0, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F)			       \
-R(vlan_ts_mark_cksum_rss,	0, 1, 1, 1, 1, 0, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(vlan_ts_mark_cksum_ptype,	0, 1, 1, 1, 1, 1, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)		       \
-R(vlan_ts_mark_cksum_ptype_rss,	0, 1, 1, 1, 1, 1, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec,				1, 0, 0, 0, 0, 0, 0,			       \
-		R_SEC_F)						       \
-R(sec_rss,			1, 0, 0, 0, 0, 0, 1,			       \
-		RSS_F)							       \
-R(sec_ptype,			1, 0, 0, 0, 0, 1, 0,			       \
-		R_SEC_F | PTYPE_F)					       \
-R(sec_ptype_rss,		1, 0, 0, 0, 0, 1, 1,			       \
-		R_SEC_F | PTYPE_F | RSS_F)				       \
-R(sec_cksum,			1, 0, 0, 0, 1, 0, 0,			       \
-		R_SEC_F | CKSUM_F)					       \
-R(sec_cksum_rss,		1, 0, 0, 0, 1, 0, 1,			       \
-		R_SEC_F | CKSUM_F | RSS_F)				       \
-R(sec_cksum_ptype,		1, 0, 0, 0, 1, 1, 0,			       \
-		R_SEC_F | CKSUM_F | PTYPE_F)				       \
-R(sec_cksum_ptype_rss,		1, 0, 0, 0, 1, 1, 1,			       \
-		R_SEC_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(sec_mark,			1, 0, 0, 1, 0, 0, 0,			       \
-		R_SEC_F | MARK_F)					       \
-R(sec_mark_rss,			1, 0, 0, 1, 0, 0, 1,			       \
-		R_SEC_F | MARK_F | RSS_F)				       \
-R(sec_mark_ptype,		1, 0, 0, 1, 0, 1, 0,			       \
-		R_SEC_F | MARK_F | PTYPE_F)				       \
-R(sec_mark_ptype_rss,		1, 0, 0, 1, 0, 1, 1,			       \
-		R_SEC_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(sec_mark_cksum,		1, 0, 0, 1, 1, 0, 0,			       \
-		R_SEC_F | MARK_F | CKSUM_F)				       \
-R(sec_mark_cksum_rss,		1, 0, 0, 1, 1, 0, 1,			       \
-		R_SEC_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(sec_mark_cksum_ptype,		1, 0, 0, 1, 1, 1, 0,			       \
-		R_SEC_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(sec_mark_cksum_ptype_rss,	1, 0, 0, 1, 1, 1, 1,			       \
-		R_SEC_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(sec_ts,			1, 0, 1, 0, 0, 0, 0,			       \
-		R_SEC_F | TS_F)						       \
-R(sec_ts_rss,			1, 0, 1, 0, 0, 0, 1,			       \
-		R_SEC_F | TS_F | RSS_F)					       \
-R(sec_ts_ptype,			1, 0, 1, 0, 0, 1, 0,			       \
-		R_SEC_F | TS_F | PTYPE_F)				       \
-R(sec_ts_ptype_rss,		1, 0, 1, 0, 0, 1, 1,			       \
-		R_SEC_F | TS_F | PTYPE_F | RSS_F)			       \
-R(sec_ts_cksum,			1, 0, 1, 0, 1, 0, 0,			       \
-		R_SEC_F | TS_F | CKSUM_F)				       \
-R(sec_ts_cksum_rss,		1, 0, 1, 0, 1, 0, 1,			       \
-		R_SEC_F | TS_F | CKSUM_F | RSS_F)			       \
-R(sec_ts_cksum_ptype,		1, 0, 1, 0, 1, 1, 0,			       \
-		R_SEC_F | TS_F | CKSUM_F | PTYPE_F)			       \
-R(sec_ts_cksum_ptype_rss,	1, 0, 1, 0, 1, 1, 1,			       \
-		R_SEC_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(sec_ts_mark,			1, 0, 1, 1, 0, 0, 0,			       \
-		R_SEC_F | TS_F | MARK_F)				       \
-R(sec_ts_mark_rss,		1, 0, 1, 1, 0, 0, 1,			       \
-		R_SEC_F | TS_F | MARK_F | RSS_F)			       \
-R(sec_ts_mark_ptype,		1, 0, 1, 1, 0, 1, 0,			       \
-		R_SEC_F | TS_F | MARK_F | PTYPE_F)			       \
-R(sec_ts_mark_ptype_rss,	1, 0, 1, 1, 0, 1, 1,			       \
-		R_SEC_F | TS_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(sec_ts_mark_cksum,		1, 0, 1, 1, 1, 0, 0,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F)			       \
-R(sec_ts_mark_cksum_rss,	1, 0, 1, 1, 1, 0, 1,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(sec_ts_mark_cksum_ptype,	1, 0, 1, 1, 1, 1, 0,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)		       \
-R(sec_ts_mark_cksum_ptype_rss,	1, 0, 1, 1, 1, 1, 1,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan,			1, 1, 0, 0, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F)					       \
-R(sec_vlan_rss,			1, 1, 0, 0, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | RSS_F)				       \
-R(sec_vlan_ptype,		1, 1, 0, 0, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | PTYPE_F)				       \
-R(sec_vlan_ptype_rss,		1, 1, 0, 0, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | PTYPE_F | RSS_F)			       \
-R(sec_vlan_cksum,		1, 1, 0, 0, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F)				       \
-R(sec_vlan_cksum_rss,		1, 1, 0, 0, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | RSS_F)			       \
-R(sec_vlan_cksum_ptype,		1, 1, 0, 0, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F)		       \
-R(sec_vlan_cksum_ptype_rss,	1, 1, 0, 0, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_mark,		1, 1, 0, 1, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F)				       \
-R(sec_vlan_mark_rss,		1, 1, 0, 1, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | RSS_F)			       \
-R(sec_vlan_mark_ptype,		1, 1, 0, 1, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F)			       \
-R(sec_vlan_mark_ptype_rss,	1, 1, 0, 1, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(sec_vlan_mark_cksum,		1, 1, 0, 1, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F)			       \
-R(sec_vlan_mark_cksum_rss,	1, 1, 0, 1, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(sec_vlan_mark_cksum_ptype,	1, 1, 0, 1, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)	       \
-R(sec_vlan_mark_cksum_ptype_rss, 1, 1, 0, 1, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)      \
-R(sec_vlan_ts,			1, 1, 1, 0, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F)				       \
-R(sec_vlan_ts_rss,		1, 1, 1, 0, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | RSS_F)			       \
-R(sec_vlan_ts_ptype,		1, 1, 1, 0, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F)			       \
-R(sec_vlan_ts_ptype_rss,	1, 1, 1, 0, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F | RSS_F)		       \
-R(sec_vlan_ts_cksum,		1, 1, 1, 0, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F)			       \
-R(sec_vlan_ts_cksum_rss,	1, 1, 1, 0, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | RSS_F)		       \
-R(sec_vlan_ts_cksum_ptype,	1, 1, 1, 0, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)		       \
-R(sec_vlan_ts_cksum_ptype_rss,	1, 1, 1, 0, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_ts_mark,		1, 1, 1, 1, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F)			       \
-R(sec_vlan_ts_mark_rss,		1, 1, 1, 1, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | RSS_F)		       \
-R(sec_vlan_ts_mark_ptype,	1, 1, 1, 1, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F)		       \
-R(sec_vlan_ts_mark_ptype_rss,	1, 1, 1, 1, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_ts_mark_cksum,	1, 1, 1, 1, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F)		       \
-R(sec_vlan_ts_mark_cksum_rss,	1, 1, 1, 1, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)	       \
-R(sec_vlan_ts_mark_cksum_ptype,	1, 1, 1, 1, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)       \
-R(sec_vlan_ts_mark_cksum_ptype_rss,	1, 1, 1, 1, 1, 1, 1,		       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
+#define NIX_RX_FASTPATH_MODES_0_15                                             \
+	R(no_offload, NIX_RX_OFFLOAD_NONE)                                     \
+	R(rss, RSS_F)                                                          \
+	R(ptype, PTYPE_F)                                                      \
+	R(ptype_rss, PTYPE_F | RSS_F)                                          \
+	R(cksum, CKSUM_F)                                                      \
+	R(cksum_rss, CKSUM_F | RSS_F)                                          \
+	R(cksum_ptype, CKSUM_F | PTYPE_F)                                      \
+	R(cksum_ptype_rss, CKSUM_F | PTYPE_F | RSS_F)                          \
+	R(mark, MARK_F)                                                        \
+	R(mark_rss, MARK_F | RSS_F)                                            \
+	R(mark_ptype, MARK_F | PTYPE_F)                                        \
+	R(mark_ptype_rss, MARK_F | PTYPE_F | RSS_F)                            \
+	R(mark_cksum, MARK_F | CKSUM_F)                                        \
+	R(mark_cksum_rss, MARK_F | CKSUM_F | RSS_F)                            \
+	R(mark_cksum_ptype, MARK_F | CKSUM_F | PTYPE_F)                        \
+	R(mark_cksum_ptype_rss, MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_16_31                                            \
+	R(ts, TS_F)                                                            \
+	R(ts_rss, TS_F | RSS_F)                                                \
+	R(ts_ptype, TS_F | PTYPE_F)                                            \
+	R(ts_ptype_rss, TS_F | PTYPE_F | RSS_F)                                \
+	R(ts_cksum, TS_F | CKSUM_F)                                            \
+	R(ts_cksum_rss, TS_F | CKSUM_F | RSS_F)                                \
+	R(ts_cksum_ptype, TS_F | CKSUM_F | PTYPE_F)                            \
+	R(ts_cksum_ptype_rss, TS_F | CKSUM_F | PTYPE_F | RSS_F)                \
+	R(ts_mark, TS_F | MARK_F)                                              \
+	R(ts_mark_rss, TS_F | MARK_F | RSS_F)                                  \
+	R(ts_mark_ptype, TS_F | MARK_F | PTYPE_F)                              \
+	R(ts_mark_ptype_rss, TS_F | MARK_F | PTYPE_F | RSS_F)                  \
+	R(ts_mark_cksum, TS_F | MARK_F | CKSUM_F)                              \
+	R(ts_mark_cksum_rss, TS_F | MARK_F | CKSUM_F | RSS_F)                  \
+	R(ts_mark_cksum_ptype, TS_F | MARK_F | CKSUM_F | PTYPE_F)              \
+	R(ts_mark_cksum_ptype_rss, TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_32_47                                            \
+	R(vlan, RX_VLAN_F)                                                     \
+	R(vlan_rss, RX_VLAN_F | RSS_F)                                         \
+	R(vlan_ptype, RX_VLAN_F | PTYPE_F)                                     \
+	R(vlan_ptype_rss, RX_VLAN_F | PTYPE_F | RSS_F)                         \
+	R(vlan_cksum, RX_VLAN_F | CKSUM_F)                                     \
+	R(vlan_cksum_rss, RX_VLAN_F | CKSUM_F | RSS_F)                         \
+	R(vlan_cksum_ptype, RX_VLAN_F | CKSUM_F | PTYPE_F)                     \
+	R(vlan_cksum_ptype_rss, RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)         \
+	R(vlan_mark, RX_VLAN_F | MARK_F)                                       \
+	R(vlan_mark_rss, RX_VLAN_F | MARK_F | RSS_F)                           \
+	R(vlan_mark_ptype, RX_VLAN_F | MARK_F | PTYPE_F)                       \
+	R(vlan_mark_ptype_rss, RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)           \
+	R(vlan_mark_cksum, RX_VLAN_F | MARK_F | CKSUM_F)                       \
+	R(vlan_mark_cksum_rss, RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)           \
+	R(vlan_mark_cksum_ptype, RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)       \
+	R(vlan_mark_cksum_ptype_rss,                                           \
+	  RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_48_63                                            \
+	R(vlan_ts, RX_VLAN_F | TS_F)                                           \
+	R(vlan_ts_rss, RX_VLAN_F | TS_F | RSS_F)                               \
+	R(vlan_ts_ptype, RX_VLAN_F | TS_F | PTYPE_F)                           \
+	R(vlan_ts_ptype_rss, RX_VLAN_F | TS_F | PTYPE_F | RSS_F)               \
+	R(vlan_ts_cksum, RX_VLAN_F | TS_F | CKSUM_F)                           \
+	R(vlan_ts_cksum_rss, RX_VLAN_F | TS_F | CKSUM_F | RSS_F)               \
+	R(vlan_ts_cksum_ptype, RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)           \
+	R(vlan_ts_cksum_ptype_rss,                                             \
+	  RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)                        \
+	R(vlan_ts_mark, RX_VLAN_F | TS_F | MARK_F)                             \
+	R(vlan_ts_mark_rss, RX_VLAN_F | TS_F | MARK_F | RSS_F)                 \
+	R(vlan_ts_mark_ptype, RX_VLAN_F | TS_F | MARK_F | PTYPE_F)             \
+	R(vlan_ts_mark_ptype_rss, RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F) \
+	R(vlan_ts_mark_cksum, RX_VLAN_F | TS_F | MARK_F | CKSUM_F)             \
+	R(vlan_ts_mark_cksum_rss, RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F) \
+	R(vlan_ts_mark_cksum_ptype,                                            \
+	  RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)                       \
+	R(vlan_ts_mark_cksum_ptype_rss,                                        \
+	  RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_64_79                                            \
+	R(sec, R_SEC_F)                                                        \
+	R(sec_rss, R_SEC_F | RSS_F)                                            \
+	R(sec_ptype, R_SEC_F | PTYPE_F)                                        \
+	R(sec_ptype_rss, R_SEC_F | PTYPE_F | RSS_F)                            \
+	R(sec_cksum, R_SEC_F | CKSUM_F)                                        \
+	R(sec_cksum_rss, R_SEC_F | CKSUM_F | RSS_F)                            \
+	R(sec_cksum_ptype, R_SEC_F | CKSUM_F | PTYPE_F)                        \
+	R(sec_cksum_ptype_rss, R_SEC_F | CKSUM_F | PTYPE_F | RSS_F)            \
+	R(sec_mark, R_SEC_F | MARK_F)                                          \
+	R(sec_mark_rss, R_SEC_F | MARK_F | RSS_F)                              \
+	R(sec_mark_ptype, R_SEC_F | MARK_F | PTYPE_F)                          \
+	R(sec_mark_ptype_rss, R_SEC_F | MARK_F | PTYPE_F | RSS_F)              \
+	R(sec_mark_cksum, R_SEC_F | MARK_F | CKSUM_F)                          \
+	R(sec_mark_cksum_rss, R_SEC_F | MARK_F | CKSUM_F | RSS_F)              \
+	R(sec_mark_cksum_ptype, R_SEC_F | MARK_F | CKSUM_F | PTYPE_F)          \
+	R(sec_mark_cksum_ptype_rss,                                            \
+	  R_SEC_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_80_95                                            \
+	R(sec_ts, R_SEC_F | TS_F)                                              \
+	R(sec_ts_rss, R_SEC_F | TS_F | RSS_F)                                  \
+	R(sec_ts_ptype, R_SEC_F | TS_F | PTYPE_F)                              \
+	R(sec_ts_ptype_rss, R_SEC_F | TS_F | PTYPE_F | RSS_F)                  \
+	R(sec_ts_cksum, R_SEC_F | TS_F | CKSUM_F)                              \
+	R(sec_ts_cksum_rss, R_SEC_F | TS_F | CKSUM_F | RSS_F)                  \
+	R(sec_ts_cksum_ptype, R_SEC_F | TS_F | CKSUM_F | PTYPE_F)              \
+	R(sec_ts_cksum_ptype_rss, R_SEC_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)  \
+	R(sec_ts_mark, R_SEC_F | TS_F | MARK_F)                                \
+	R(sec_ts_mark_rss, R_SEC_F | TS_F | MARK_F | RSS_F)                    \
+	R(sec_ts_mark_ptype, R_SEC_F | TS_F | MARK_F | PTYPE_F)                \
+	R(sec_ts_mark_ptype_rss, R_SEC_F | TS_F | MARK_F | PTYPE_F | RSS_F)    \
+	R(sec_ts_mark_cksum, R_SEC_F | TS_F | MARK_F | CKSUM_F)                \
+	R(sec_ts_mark_cksum_rss, R_SEC_F | TS_F | MARK_F | CKSUM_F | RSS_F)    \
+	R(sec_ts_mark_cksum_ptype,                                             \
+	  R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)                         \
+	R(sec_ts_mark_cksum_ptype_rss,                                         \
+	  R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_96_111                                           \
+	R(sec_vlan, R_SEC_F | RX_VLAN_F)                                       \
+	R(sec_vlan_rss, R_SEC_F | RX_VLAN_F | RSS_F)                           \
+	R(sec_vlan_ptype, R_SEC_F | RX_VLAN_F | PTYPE_F)                       \
+	R(sec_vlan_ptype_rss, R_SEC_F | RX_VLAN_F | PTYPE_F | RSS_F)           \
+	R(sec_vlan_cksum, R_SEC_F | RX_VLAN_F | CKSUM_F)                       \
+	R(sec_vlan_cksum_rss, R_SEC_F | RX_VLAN_F | CKSUM_F | RSS_F)           \
+	R(sec_vlan_cksum_ptype, R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F)       \
+	R(sec_vlan_cksum_ptype_rss,                                            \
+	  R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)                     \
+	R(sec_vlan_mark, R_SEC_F | RX_VLAN_F | MARK_F)                         \
+	R(sec_vlan_mark_rss, R_SEC_F | RX_VLAN_F | MARK_F | RSS_F)             \
+	R(sec_vlan_mark_ptype, R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F)         \
+	R(sec_vlan_mark_ptype_rss,                                             \
+	  R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)                      \
+	R(sec_vlan_mark_cksum, R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F)         \
+	R(sec_vlan_mark_cksum_rss,                                             \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)                      \
+	R(sec_vlan_mark_cksum_ptype,                                           \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)                    \
+	R(sec_vlan_mark_cksum_ptype_rss,                                       \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_112_127                                          \
+	R(sec_vlan_ts, R_SEC_F | RX_VLAN_F | TS_F)                             \
+	R(sec_vlan_ts_rss, R_SEC_F | RX_VLAN_F | TS_F | RSS_F)                 \
+	R(sec_vlan_ts_ptype, R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F)             \
+	R(sec_vlan_ts_ptype_rss, R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F | RSS_F) \
+	R(sec_vlan_ts_cksum, R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F)             \
+	R(sec_vlan_ts_cksum_rss, R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | RSS_F) \
+	R(sec_vlan_ts_cksum_ptype,                                             \
+	  R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)                      \
+	R(sec_vlan_ts_cksum_ptype_rss,                                         \
+	  R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)              \
+	R(sec_vlan_ts_mark, R_SEC_F | RX_VLAN_F | TS_F | MARK_F)               \
+	R(sec_vlan_ts_mark_rss, R_SEC_F | RX_VLAN_F | TS_F | MARK_F | RSS_F)   \
+	R(sec_vlan_ts_mark_ptype,                                              \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F)                       \
+	R(sec_vlan_ts_mark_ptype_rss,                                          \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)               \
+	R(sec_vlan_ts_mark_cksum,                                              \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F)                       \
+	R(sec_vlan_ts_mark_cksum_rss,                                          \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)               \
+	R(sec_vlan_ts_mark_cksum_ptype,                                        \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)             \
+	R(sec_vlan_ts_mark_cksum_ptype_rss,                                    \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES                                                  \
+	NIX_RX_FASTPATH_MODES_0_15                                             \
+	NIX_RX_FASTPATH_MODES_16_31                                            \
+	NIX_RX_FASTPATH_MODES_32_47                                            \
+	NIX_RX_FASTPATH_MODES_48_63                                            \
+	NIX_RX_FASTPATH_MODES_64_79                                            \
+	NIX_RX_FASTPATH_MODES_80_95                                            \
+	NIX_RX_FASTPATH_MODES_96_111                                           \
+	NIX_RX_FASTPATH_MODES_112_127
+
+#define R(name, flags)                                                         \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_##name(           \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_mseg_##name(      \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_vec_##name(       \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_vec_mseg_##name(  \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);
 
 NIX_RX_FASTPATH_MODES
 #undef R
 
+#define NIX_RX_RECV(fn, flags)                                                 \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		return cn9k_nix_recv_pkts(rx_queue, rx_pkts, pkts, (flags));   \
+	}
+
+#define NIX_RX_RECV_MSEG(fn, flags) NIX_RX_RECV(fn, flags | NIX_RX_MULTI_SEG_F)
+
+#define NIX_RX_RECV_VEC(fn, flags)                                             \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		return cn9k_nix_recv_pkts_vector(rx_queue, rx_pkts, pkts,      \
+						 (flags));                     \
+	}
+
+#define NIX_RX_RECV_VEC_MSEG(fn, flags)                                        \
+	NIX_RX_RECV_VEC(fn, flags | NIX_RX_MULTI_SEG_F)
+
 #endif /* __CN9K_RX_H__ */
diff --git a/drivers/net/cnxk/cn9k_rx_mseg.c b/drivers/net/cnxk/cn9k_rx_mseg.c
deleted file mode 100644
index 06509e81ff..0000000000
--- a/drivers/net/cnxk/cn9k_rx_mseg.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_mseg_##name(      \
-		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		return cn9k_nix_recv_pkts(rx_queue, rx_pkts, pkts,             \
-					  (flags) | NIX_RX_MULTI_SEG_F);       \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/cn9k_rx_select.c b/drivers/net/cnxk/cn9k_rx_select.c
new file mode 100644
index 0000000000..faecebc17c
--- /dev/null
+++ b/drivers/net/cnxk/cn9k_rx_select.c
@@ -0,0 +1,67 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_rx.h"
+
+static inline void
+pick_rx_func(struct rte_eth_dev *eth_dev,
+	     const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	/* [TSP] [MARK] [VLAN] [CKSUM] [PTYPE] [RSS] */
+	eth_dev->rx_pkt_burst =
+		rx_burst[dev->rx_offload_flags & (NIX_RX_OFFLOAD_MAX - 1)];
+
+	rte_atomic_thread_fence(__ATOMIC_RELEASE);
+}
+
+void
+cn9k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_nix_recv_pkts_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_burst_mseg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_nix_recv_pkts_mseg_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_vec_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_nix_recv_pkts_vec_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_vec_burst_mseg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn9k_nix_recv_pkts_vec_mseg_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	/* Copy multi seg version with no offload for tear down sequence */
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+		dev->rx_pkt_burst_no_offload = nix_eth_rx_burst_mseg[0];
+
+	if (dev->scalar_ena) {
+		if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
+			return pick_rx_func(eth_dev, nix_eth_rx_burst_mseg);
+		return pick_rx_func(eth_dev, nix_eth_rx_burst);
+	}
+
+	if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
+		return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_mseg);
+	return pick_rx_func(eth_dev, nix_eth_rx_vec_burst);
+}
diff --git a/drivers/net/cnxk/cn9k_rx_vec.c b/drivers/net/cnxk/cn9k_rx_vec.c
deleted file mode 100644
index c96f61c406..0000000000
--- a/drivers/net/cnxk/cn9k_rx_vec.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
-	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_vec_##name(       \
-		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		return cn9k_nix_recv_pkts_vector(rx_queue, rx_pkts, pkts,      \
-						 (flags));                     \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/cn9k_rx_vec_mseg.c b/drivers/net/cnxk/cn9k_rx_vec_mseg.c
deleted file mode 100644
index 938b1c0b47..0000000000
--- a/drivers/net/cnxk/cn9k_rx_vec_mseg.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_noinline __rte_hot cn9k_nix_recv_pkts_vec_mseg_##name(  \
-		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		return cn9k_nix_recv_pkts_vector(rx_queue, rx_pkts, pkts,      \
-						 (flags) |                     \
-							 NIX_RX_MULTI_SEG_F);  \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index 7648ff5760..fcf8140686 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -28,15 +28,48 @@ sources += files(
         'cn9k_ethdev.c',
         'cn9k_ethdev_sec.c',
         'cn9k_rte_flow.c',
-        'cn9k_rx.c',
-        'cn9k_rx_mseg.c',
-        'cn9k_rx_vec.c',
-        'cn9k_rx_vec_mseg.c',
+        'cn9k_rx_select.c',
         'cn9k_tx.c',
         'cn9k_tx_mseg.c',
         'cn9k_tx_vec.c',
         'cn9k_tx_vec_mseg.c',
 )
+
+sources += files(
+        'rx/cn9k/rx_0_15.c',
+        'rx/cn9k/rx_16_31.c',
+        'rx/cn9k/rx_32_47.c',
+        'rx/cn9k/rx_48_63.c',
+        'rx/cn9k/rx_64_79.c',
+        'rx/cn9k/rx_80_95.c',
+        'rx/cn9k/rx_96_111.c',
+        'rx/cn9k/rx_112_127.c',
+        'rx/cn9k/rx_0_15_mseg.c',
+        'rx/cn9k/rx_16_31_mseg.c',
+        'rx/cn9k/rx_32_47_mseg.c',
+        'rx/cn9k/rx_48_63_mseg.c',
+        'rx/cn9k/rx_64_79_mseg.c',
+        'rx/cn9k/rx_80_95_mseg.c',
+        'rx/cn9k/rx_96_111_mseg.c',
+        'rx/cn9k/rx_112_127_mseg.c',
+        'rx/cn9k/rx_0_15_vec.c',
+        'rx/cn9k/rx_16_31_vec.c',
+        'rx/cn9k/rx_32_47_vec.c',
+        'rx/cn9k/rx_48_63_vec.c',
+        'rx/cn9k/rx_64_79_vec.c',
+        'rx/cn9k/rx_80_95_vec.c',
+        'rx/cn9k/rx_96_111_vec.c',
+        'rx/cn9k/rx_112_127_vec.c',
+        'rx/cn9k/rx_0_15_vec_mseg.c',
+        'rx/cn9k/rx_16_31_vec_mseg.c',
+        'rx/cn9k/rx_32_47_vec_mseg.c',
+        'rx/cn9k/rx_48_63_vec_mseg.c',
+        'rx/cn9k/rx_64_79_vec_mseg.c',
+        'rx/cn9k/rx_80_95_vec_mseg.c',
+        'rx/cn9k/rx_96_111_vec_mseg.c',
+        'rx/cn9k/rx_112_127_vec_mseg.c',
+)
+
 # CN10K
 sources += files(
         'cn10k_ethdev.c',
-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 3/8] net/cnxk: add CN9K segregated Tx functions
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
  2021-12-13  8:22 ` [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2021-12-13  8:22 ` [PATCH 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

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

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
-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 4/8] net/cnxk: add CN9K template Tx functions to build
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
  2021-12-13  8:22 ` [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
  2021-12-13  8:22 ` [PATCH 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2021-12-13  8:22 ` [PATCH 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN9K segregated Tx and event Tx functions to build,
add macros to make future modifications simpler.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/cn9k_eventdev.c            |  29 +-
 drivers/event/cnxk/cn9k_worker.h              |  62 ++-
 drivers/event/cnxk/cn9k_worker_dual_tx_enq.c  |  23 -
 .../event/cnxk/cn9k_worker_dual_tx_enq_seg.c  |  23 -
 drivers/event/cnxk/cn9k_worker_tx_enq.c       |  23 -
 drivers/event/cnxk/cn9k_worker_tx_enq_seg.c   |  23 -
 drivers/event/cnxk/meson.build                |  42 +-
 drivers/net/cnxk/cn9k_tx.h                    | 519 +++++++++---------
 drivers/net/cnxk/cn9k_tx_mseg.c               |  25 -
 drivers/net/cnxk/cn9k_tx_select.c             |  59 ++
 drivers/net/cnxk/cn9k_tx_vec.c                |  25 -
 drivers/net/cnxk/cn9k_tx_vec_mseg.c           |  24 -
 drivers/net/cnxk/meson.build                  |  40 +-
 13 files changed, 459 insertions(+), 458 deletions(-)
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_tx_enq.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_dual_tx_enq_seg.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_tx_enq.c
 delete mode 100644 drivers/event/cnxk/cn9k_worker_tx_enq_seg.c
 delete mode 100644 drivers/net/cnxk/cn9k_tx_mseg.c
 create mode 100644 drivers/net/cnxk/cn9k_tx_select.c
 delete mode 100644 drivers/net/cnxk/cn9k_tx_vec.c
 delete mode 100644 drivers/net/cnxk/cn9k_tx_vec_mseg.c

diff --git a/drivers/event/cnxk/cn9k_eventdev.c b/drivers/event/cnxk/cn9k_eventdev.c
index 1d0e1288ce..7858e37146 100644
--- a/drivers/event/cnxk/cn9k_eventdev.c
+++ b/drivers/event/cnxk/cn9k_eventdev.c
@@ -13,13 +13,7 @@
 	deq_op = deq_ops[dev->rx_offloads & (NIX_RX_OFFLOAD_MAX - 1)]

 #define CN9K_SET_EVDEV_ENQ_OP(dev, enq_op, enq_ops)                            \
-	(enq_op = enq_ops[!!(dev->tx_offloads & NIX_TX_OFFLOAD_SECURITY_F)]    \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_TSTAMP_F)]       \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_TSO_F)]          \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_MBUF_NOFF_F)]    \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_VLAN_QINQ_F)]    \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F)] \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_L3_L4_CSUM_F)])
+	enq_op = enq_ops[dev->tx_offloads & (NIX_TX_OFFLOAD_MAX - 1)]

 static int
 cn9k_sso_hws_link(void *arg, void *port, uint16_t *map, uint16_t nb_link)
@@ -520,34 +514,29 @@ cn9k_sso_fp_fns_set(struct rte_eventdev *event_dev)

 	/* Tx modes */
 	const event_tx_adapter_enqueue_t
-		sso_hws_tx_adptr_enq[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_##name,
+		sso_hws_tx_adptr_enq[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_sso_hws_tx_adptr_enq_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};

 	const event_tx_adapter_enqueue_t
-		sso_hws_tx_adptr_enq_seg[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_tx_adptr_enq_seg_##name,
+		sso_hws_tx_adptr_enq_seg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_sso_hws_tx_adptr_enq_seg_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};

 	const event_tx_adapter_enqueue_t
-		sso_hws_dual_tx_adptr_enq[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn9k_sso_hws_dual_tx_adptr_enq_##name,
+		sso_hws_dual_tx_adptr_enq[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_sso_hws_dual_tx_adptr_enq_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};

 	const event_tx_adapter_enqueue_t
-		sso_hws_dual_tx_adptr_enq_seg[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] =                                         \
-			cn9k_sso_hws_dual_tx_adptr_enq_seg_##name,
+		sso_hws_dual_tx_adptr_enq_seg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_sso_hws_dual_tx_adptr_enq_seg_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};
diff --git a/drivers/event/cnxk/cn9k_worker.h b/drivers/event/cnxk/cn9k_worker.h
index b421412adc..a46d4e786a 100644
--- a/drivers/event/cnxk/cn9k_worker.h
+++ b/drivers/event/cnxk/cn9k_worker.h
@@ -837,7 +837,7 @@ cn9k_sso_hws_event_tx(uint64_t base, struct rte_event *ev, uint64_t *cmd,
 	return 1;
 }

-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
+#define T(name, sz, flags)                                                     \
 	uint16_t __rte_hot cn9k_sso_hws_tx_adptr_enq_##name(                   \
 		void *port, struct rte_event ev[], uint16_t nb_events);        \
 	uint16_t __rte_hot cn9k_sso_hws_tx_adptr_enq_seg_##name(               \
@@ -850,4 +850,64 @@ cn9k_sso_hws_event_tx(uint64_t base, struct rte_event *ev, uint64_t *cmd,
 NIX_TX_FASTPATH_MODES
 #undef T

+#define SSO_TX(fn, sz, flags)                                                  \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		struct cn9k_sso_hws *ws = port;                                \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn9k_sso_hws_event_tx(                                  \
+			ws->base, &ev[0], cmd,                                 \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			flags);                                                \
+	}
+
+#define SSO_TX_SEG(fn, sz, flags)                                              \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+		struct cn9k_sso_hws *ws = port;                                \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn9k_sso_hws_event_tx(                                  \
+			ws->base, &ev[0], cmd,                                 \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			(flags) | NIX_TX_MULTI_SEG_F);                         \
+	}
+
+#define SSO_DUAL_TX(fn, sz, flags)                                             \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		struct cn9k_sso_hws_dual *ws = port;                           \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn9k_sso_hws_event_tx(                                  \
+			ws->base[!ws->vws], &ev[0], cmd,                       \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			flags);                                                \
+	}
+
+#define SSO_DUAL_TX_SEG(fn, sz, flags)                                         \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+		struct cn9k_sso_hws_dual *ws = port;                           \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn9k_sso_hws_event_tx(                                  \
+			ws->base[!ws->vws], &ev[0], cmd,                       \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			(flags) | NIX_TX_MULTI_SEG_F);                         \
+	}
+
 #endif
diff --git a/drivers/event/cnxk/cn9k_worker_dual_tx_enq.c b/drivers/event/cnxk/cn9k_worker_dual_tx_enq.c
deleted file mode 100644
index db045d0e01..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_tx_enq.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn9k_sso_hws_dual_tx_adptr_enq_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		struct cn9k_sso_hws_dual *ws = port;                           \
-		uint64_t cmd[sz];                                              \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn9k_sso_hws_event_tx(                                  \
-			ws->base[!ws->vws], &ev[0], cmd,                       \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			flags);                                                \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/cn9k_worker_dual_tx_enq_seg.c b/drivers/event/cnxk/cn9k_worker_dual_tx_enq_seg.c
deleted file mode 100644
index 95d711f9b3..0000000000
--- a/drivers/event/cnxk/cn9k_worker_dual_tx_enq_seg.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn9k_sso_hws_dual_tx_adptr_enq_seg_##name(          \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
-		struct cn9k_sso_hws_dual *ws = port;                           \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn9k_sso_hws_event_tx(                                  \
-			ws->base[!ws->vws], &ev[0], cmd,                       \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			(flags) | NIX_TX_MULTI_SEG_F);                         \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/cn9k_worker_tx_enq.c b/drivers/event/cnxk/cn9k_worker_tx_enq.c
deleted file mode 100644
index 026cef8e2b..0000000000
--- a/drivers/event/cnxk/cn9k_worker_tx_enq.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn9k_sso_hws_tx_adptr_enq_##name(                   \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		struct cn9k_sso_hws *ws = port;                                \
-		uint64_t cmd[sz];                                              \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn9k_sso_hws_event_tx(                                  \
-			ws->base, &ev[0], cmd,                                 \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			flags);                                                \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/cn9k_worker_tx_enq_seg.c b/drivers/event/cnxk/cn9k_worker_tx_enq_seg.c
deleted file mode 100644
index 97cd7c7d8e..0000000000
--- a/drivers/event/cnxk/cn9k_worker_tx_enq_seg.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn9k_sso_hws_tx_adptr_enq_seg_##name(               \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
-		struct cn9k_sso_hws *ws = port;                                \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn9k_sso_hws_event_tx(                                  \
-			ws->base, &ev[0], cmd,                                 \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			(flags) | NIX_TX_MULTI_SEG_F);                         \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
index 27697d2ece..c39515dadc 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -11,10 +11,6 @@ endif
 sources = files(
         'cn9k_eventdev.c',
         'cn9k_worker.c',
-        'cn9k_worker_tx_enq.c',
-        'cn9k_worker_tx_enq_seg.c',
-        'cn9k_worker_dual_tx_enq.c',
-        'cn9k_worker_dual_tx_enq_seg.c',
         'cn10k_eventdev.c',
         'cn10k_worker.c',
         'cn10k_worker_deq.c',
@@ -293,6 +289,44 @@ sources += files(
         'deq/cn9k/deq_112_127_dual_ca_tmo_seg_burst.c',
 )

+sources += files(
+        'tx/cn9k/tx_0_15.c',
+        'tx/cn9k/tx_16_31.c',
+        'tx/cn9k/tx_32_47.c',
+        'tx/cn9k/tx_48_63.c',
+        'tx/cn9k/tx_64_79.c',
+        'tx/cn9k/tx_80_95.c',
+        'tx/cn9k/tx_96_111.c',
+        'tx/cn9k/tx_112_127.c',
+        'tx/cn9k/tx_0_15_seg.c',
+        'tx/cn9k/tx_16_31_seg.c',
+        'tx/cn9k/tx_32_47_seg.c',
+        'tx/cn9k/tx_48_63_seg.c',
+        'tx/cn9k/tx_64_79_seg.c',
+        'tx/cn9k/tx_80_95_seg.c',
+        'tx/cn9k/tx_96_111_seg.c',
+        'tx/cn9k/tx_112_127_seg.c',
+)
+
+sources += files(
+        'tx/cn9k/tx_0_15_dual.c',
+        'tx/cn9k/tx_16_31_dual.c',
+        'tx/cn9k/tx_32_47_dual.c',
+        'tx/cn9k/tx_48_63_dual.c',
+        'tx/cn9k/tx_64_79_dual.c',
+        'tx/cn9k/tx_80_95_dual.c',
+        'tx/cn9k/tx_96_111_dual.c',
+        'tx/cn9k/tx_112_127_dual.c',
+        'tx/cn9k/tx_0_15_dual_seg.c',
+        'tx/cn9k/tx_16_31_dual_seg.c',
+        'tx/cn9k/tx_32_47_dual_seg.c',
+        'tx/cn9k/tx_48_63_dual_seg.c',
+        'tx/cn9k/tx_64_79_dual_seg.c',
+        'tx/cn9k/tx_80_95_dual_seg.c',
+        'tx/cn9k/tx_96_111_dual_seg.c',
+        'tx/cn9k/tx_112_127_dual_seg.c',
+)
+
 extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
 foreach flag: extra_flags
     if cc.has_argument(flag)
diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h
index 435dde1317..5e1148a1d2 100644
--- a/drivers/net/cnxk/cn9k_tx.h
+++ b/drivers/net/cnxk/cn9k_tx.h
@@ -14,6 +14,7 @@
 #define NIX_TX_OFFLOAD_TSO_F	      BIT(4)
 #define NIX_TX_OFFLOAD_TSTAMP_F	      BIT(5)
 #define NIX_TX_OFFLOAD_SECURITY_F     BIT(6)
+#define NIX_TX_OFFLOAD_MAX	      (NIX_TX_OFFLOAD_SECURITY_F << 1)

 /* Flags to control xmit_prepare function.
  * Defining it from backwards to denote its been
@@ -1822,279 +1823,271 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
 #define T_SEC_F      NIX_TX_OFFLOAD_SECURITY_F

 /* [T_SEC_F] [TSP] [TSO] [NOFF] [VLAN] [OL3OL4CSUM] [L3L4CSUM] */
-#define NIX_TX_FASTPATH_MODES						\
-T(no_offload,				0, 0, 0, 0, 0, 0, 0,	4,	\
-		NIX_TX_OFFLOAD_NONE)					\
-T(l3l4csum,				0, 0, 0, 0, 0, 0, 1,	4,	\
-		L3L4CSUM_F)						\
-T(ol3ol4csum,				0, 0, 0, 0, 0, 1, 0,	4,	\
-		OL3OL4CSUM_F)						\
-T(ol3ol4csum_l3l4csum,			0, 0, 0, 0, 0, 1, 1,	4,	\
-		OL3OL4CSUM_F | L3L4CSUM_F)				\
-T(vlan,					0, 0, 0, 0, 1, 0, 0,	6,	\
-		VLAN_F)							\
-T(vlan_l3l4csum,			0, 0, 0, 0, 1, 0, 1,	6,	\
-		VLAN_F | L3L4CSUM_F)					\
-T(vlan_ol3ol4csum,			0, 0, 0, 0, 1, 1, 0,	6,	\
-		VLAN_F | OL3OL4CSUM_F)					\
-T(vlan_ol3ol4csum_l3l4csum,		0, 0, 0, 0, 1, 1, 1,	6,	\
-		VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)			\
-T(noff,					0, 0, 0, 1, 0, 0, 0,	4,	\
-		NOFF_F)							\
-T(noff_l3l4csum,			0, 0, 0, 1, 0, 0, 1,	4,	\
-		NOFF_F | L3L4CSUM_F)					\
-T(noff_ol3ol4csum,			0, 0, 0, 1, 0, 1, 0,	4,	\
-		NOFF_F | OL3OL4CSUM_F)					\
-T(noff_ol3ol4csum_l3l4csum,		0, 0, 0, 1, 0, 1, 1,	4,	\
-		NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)			\
-T(noff_vlan,				0, 0, 0, 1, 1, 0, 0,	6,	\
-		NOFF_F | VLAN_F)					\
-T(noff_vlan_l3l4csum,			0, 0, 0, 1, 1, 0, 1,	6,	\
-		NOFF_F | VLAN_F | L3L4CSUM_F)				\
-T(noff_vlan_ol3ol4csum,			0, 0, 0, 1, 1, 1, 0,	6,	\
-		NOFF_F | VLAN_F | OL3OL4CSUM_F)				\
-T(noff_vlan_ol3ol4csum_l3l4csum,	0, 0, 0, 1, 1, 1, 1,	6,	\
-		NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(tso,					0, 0, 1, 0, 0, 0, 0,	6,	\
-		TSO_F)							\
-T(tso_l3l4csum,				0, 0, 1, 0, 0, 0, 1,	6,	\
-		TSO_F | L3L4CSUM_F)					\
-T(tso_ol3ol4csum,			0, 0, 1, 0, 0, 1, 0,	6,	\
-		TSO_F | OL3OL4CSUM_F)					\
-T(tso_ol3ol4csum_l3l4csum,		0, 0, 1, 0, 0, 1, 1,	6,	\
-		TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(tso_vlan,				0, 0, 1, 0, 1, 0, 0,	6,	\
-		TSO_F | VLAN_F)						\
-T(tso_vlan_l3l4csum,			0, 0, 1, 0, 1, 0, 1,	6,	\
-		TSO_F | VLAN_F | L3L4CSUM_F)				\
-T(tso_vlan_ol3ol4csum,			0, 0, 1, 0, 1, 1, 0,	6,	\
-		TSO_F | VLAN_F | OL3OL4CSUM_F)				\
-T(tso_vlan_ol3ol4csum_l3l4csum,		0, 0, 1, 0, 1, 1, 1,	6,	\
-		TSO_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(tso_noff,				0, 0, 1, 1, 0, 0, 0,	6,	\
-		TSO_F | NOFF_F)						\
-T(tso_noff_l3l4csum,			0, 0, 1, 1, 0, 0, 1,	6,	\
-		TSO_F | NOFF_F | L3L4CSUM_F)				\
-T(tso_noff_ol3ol4csum,			0, 0, 1, 1, 0, 1, 0,	6,	\
-		TSO_F | NOFF_F | OL3OL4CSUM_F)				\
-T(tso_noff_ol3ol4csum_l3l4csum,		0, 0, 1, 1, 0, 1, 1,	6,	\
-		TSO_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(tso_noff_vlan,			0, 0, 1, 1, 1, 0, 0,	6,	\
-		TSO_F | NOFF_F | VLAN_F)				\
-T(tso_noff_vlan_l3l4csum,		0, 0, 1, 1, 1, 0, 1,	6,	\
-		TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(tso_noff_vlan_ol3ol4csum,		0, 0, 1, 1, 1, 1, 0,	6,	\
-		TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)			\
-T(tso_noff_vlan_ol3ol4csum_l3l4csum,	0, 0, 1, 1, 1, 1, 1,	6,	\
-		TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(ts,					0, 1, 0, 0, 0, 0, 0,	8,	\
-		TSP_F)							\
-T(ts_l3l4csum,				0, 1, 0, 0, 0, 0, 1,	8,	\
-		TSP_F | L3L4CSUM_F)					\
-T(ts_ol3ol4csum,			0, 1, 0, 0, 0, 1, 0,	8,	\
-		TSP_F | OL3OL4CSUM_F)					\
-T(ts_ol3ol4csum_l3l4csum,		0, 1, 0, 0, 0, 1, 1,	8,	\
-		TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(ts_vlan,				0, 1, 0, 0, 1, 0, 0,	8,	\
-		TSP_F | VLAN_F)						\
-T(ts_vlan_l3l4csum,			0, 1, 0, 0, 1, 0, 1,	8,	\
-		TSP_F | VLAN_F | L3L4CSUM_F)				\
-T(ts_vlan_ol3ol4csum,			0, 1, 0, 0, 1, 1, 0,	8,	\
-		TSP_F | VLAN_F | OL3OL4CSUM_F)				\
-T(ts_vlan_ol3ol4csum_l3l4csum,		0, 1, 0, 0, 1, 1, 1,	8,	\
-		TSP_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(ts_noff,				0, 1, 0, 1, 0, 0, 0,	8,	\
-		TSP_F | NOFF_F)						\
-T(ts_noff_l3l4csum,			0, 1, 0, 1, 0, 0, 1,	8,	\
-		TSP_F | NOFF_F | L3L4CSUM_F)				\
-T(ts_noff_ol3ol4csum,			0, 1, 0, 1, 0, 1, 0,	8,	\
-		TSP_F | NOFF_F | OL3OL4CSUM_F)				\
-T(ts_noff_ol3ol4csum_l3l4csum,		0, 1, 0, 1, 0, 1, 1,	8,	\
-		TSP_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(ts_noff_vlan,				0, 1, 0, 1, 1, 0, 0,	8,	\
-		TSP_F | NOFF_F | VLAN_F)				\
-T(ts_noff_vlan_l3l4csum,		0, 1, 0, 1, 1, 0, 1,	8,	\
-		TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(ts_noff_vlan_ol3ol4csum,		0, 1, 0, 1, 1, 1, 0,	8,	\
-		TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)			\
-T(ts_noff_vlan_ol3ol4csum_l3l4csum,	0, 1, 0, 1, 1, 1, 1,	8,	\
-		TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(ts_tso,				0, 1, 1, 0, 0, 0, 0,	8,	\
-		TSP_F | TSO_F)						\
-T(ts_tso_l3l4csum,			0, 1, 1, 0, 0, 0, 1,	8,	\
-		TSP_F | TSO_F | L3L4CSUM_F)				\
-T(ts_tso_ol3ol4csum,			0, 1, 1, 0, 0, 1, 0,	8,	\
-		TSP_F | TSO_F | OL3OL4CSUM_F)				\
-T(ts_tso_ol3ol4csum_l3l4csum,		0, 1, 1, 0, 0, 1, 1,	8,	\
-		TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(ts_tso_vlan,				0, 1, 1, 0, 1, 0, 0,	8,	\
-		TSP_F | TSO_F | VLAN_F)					\
-T(ts_tso_vlan_l3l4csum,			0, 1, 1, 0, 1, 0, 1,	8,	\
-		TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)			\
-T(ts_tso_vlan_ol3ol4csum,		0, 1, 1, 0, 1, 1, 0,	8,	\
-		TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)			\
-T(ts_tso_vlan_ol3ol4csum_l3l4csum,	0, 1, 1, 0, 1, 1, 1,	8,	\
-		TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(ts_tso_noff,				0, 1, 1, 1, 0, 0, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F)					\
-T(ts_tso_noff_l3l4csum,			0, 1, 1, 1, 0, 0, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)			\
-T(ts_tso_noff_ol3ol4csum,		0, 1, 1, 1, 0, 1, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)			\
-T(ts_tso_noff_ol3ol4csum_l3l4csum,	0, 1, 1, 1, 0, 1, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(ts_tso_noff_vlan,			0, 1, 1, 1, 1, 0, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F)			\
-T(ts_tso_noff_vlan_l3l4csum,		0, 1, 1, 1, 1, 0, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(ts_tso_noff_vlan_ol3ol4csum,		0, 1, 1, 1, 1, 1, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)		\
-T(ts_tso_noff_vlan_ol3ol4csum_l3l4csum,	0, 1, 1, 1, 1, 1, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec,					1, 0, 0, 0, 0, 0, 0,	4,	\
-		T_SEC_F)						\
-T(sec_l3l4csum,				1, 0, 0, 0, 0, 0, 1,	4,	\
-		T_SEC_F | L3L4CSUM_F)					\
-T(sec_ol3ol4csum,			1, 0, 0, 0, 0, 1, 0,	4,	\
-		T_SEC_F | OL3OL4CSUM_F)					\
-T(sec_ol3ol4csum_l3l4csum,		1, 0, 0, 0, 0, 1, 1,	4,	\
-		T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(sec_vlan,				1, 0, 0, 0, 1, 0, 0,	6,	\
-		T_SEC_F | VLAN_F)					\
-T(sec_vlan_l3l4csum,			1, 0, 0, 0, 1, 0, 1,	6,	\
-		T_SEC_F | VLAN_F | L3L4CSUM_F)				\
-T(sec_vlan_ol3ol4csum,			1, 0, 0, 0, 1, 1, 0,	6,	\
-		T_SEC_F | VLAN_F | OL3OL4CSUM_F)			\
-T(sec_vlan_ol3ol4csum_l3l4csum,		1, 0, 0, 0, 1, 1, 1,	6,	\
-		T_SEC_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(sec_noff,				1, 0, 0, 1, 0, 0, 0,	4,	\
-		T_SEC_F | NOFF_F)					\
-T(sec_noff_l3l4csum,			1, 0, 0, 1, 0, 0, 1,	4,	\
-		T_SEC_F | NOFF_F | L3L4CSUM_F)				\
-T(sec_noff_ol3ol4csum,			1, 0, 0, 1, 0, 1, 0,	4,	\
-		T_SEC_F | NOFF_F | OL3OL4CSUM_F)			\
-T(sec_noff_ol3ol4csum_l3l4csum,		1, 0, 0, 1, 0, 1, 1,	4,	\
-		T_SEC_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(sec_noff_vlan,			1, 0, 0, 1, 1, 0, 0,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F)				\
-T(sec_noff_vlan_l3l4csum,		1, 0, 0, 1, 1, 0, 1,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_noff_vlan_ol3ol4csum,		1, 0, 0, 1, 1, 1, 0,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_noff_vlan_ol3ol4csum_l3l4csum,	1, 0, 0, 1, 1, 1, 1,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso,				1, 0, 1, 0, 0, 0, 0,	6,	\
-		T_SEC_F | TSO_F)					\
-T(sec_tso_l3l4csum,			1, 0, 1, 0, 0, 0, 1,	6,	\
-		T_SEC_F | TSO_F | L3L4CSUM_F)				\
-T(sec_tso_ol3ol4csum,			1, 0, 1, 0, 0, 1, 0,	6,	\
-		T_SEC_F | TSO_F | OL3OL4CSUM_F)				\
-T(sec_tso_ol3ol4csum_l3l4csum,		1, 0, 1, 0, 0, 1, 1,	6,	\
-		T_SEC_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(sec_tso_vlan,				1, 0, 1, 0, 1, 0, 0,	6,	\
-		T_SEC_F | TSO_F | VLAN_F)				\
-T(sec_tso_vlan_l3l4csum,		1, 0, 1, 0, 1, 0, 1,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_tso_vlan_ol3ol4csum,		1, 0, 1, 0, 1, 1, 0,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_tso_vlan_ol3ol4csum_l3l4csum,	1, 0, 1, 0, 1, 1, 1,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso_noff,				1, 0, 1, 1, 0, 0, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F)				\
-T(sec_tso_noff_l3l4csum,		1, 0, 1, 1, 0, 0, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | L3L4CSUM_F)			\
-T(sec_tso_noff_ol3ol4csum,		1, 0, 1, 1, 0, 1, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F)		\
-T(sec_tso_noff_ol3ol4csum_l3l4csum,	1, 0, 1, 1, 0, 1, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso_noff_vlan,			1, 0, 1, 1, 1, 0, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F)			\
-T(sec_tso_noff_vlan_l3l4csum,		1, 0, 1, 1, 1, 0, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_tso_noff_vlan_ol3ol4csum,		1, 0, 1, 1, 1, 1, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_tso_noff_vlan_ol3ol4csum_l3l4csum, 1, 0, 1, 1, 1, 1, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec_ts,				1, 1, 0, 0, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F)					\
-T(sec_ts_l3l4csum,			1, 1, 0, 0, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | L3L4CSUM_F)				\
-T(sec_ts_ol3ol4csum,			1, 1, 0, 0, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | OL3OL4CSUM_F)				\
-T(sec_ts_ol3ol4csum_l3l4csum,		1, 1, 0, 0, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(sec_ts_vlan,				1, 1, 0, 0, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | VLAN_F)				\
-T(sec_ts_vlan_l3l4csum,			1, 1, 0, 0, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_ts_vlan_ol3ol4csum,		1, 1, 0, 0, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_ts_vlan_ol3ol4csum_l3l4csum,	1, 1, 0, 0, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_noff,				1, 1, 0, 1, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F)				\
-T(sec_ts_noff_l3l4csum,			1, 1, 0, 1, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | L3L4CSUM_F)			\
-T(sec_ts_noff_ol3ol4csum,		1, 1, 0, 1, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F)		\
-T(sec_ts_noff_ol3ol4csum_l3l4csum,	1, 1, 0, 1, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_noff_vlan,			1, 1, 0, 1, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F)			\
-T(sec_ts_noff_vlan_l3l4csum,		1, 1, 0, 1, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_ts_noff_vlan_ol3ol4csum,		1, 1, 0, 1, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_ts_noff_vlan_ol3ol4csum_l3l4csum,	1, 1, 0, 1, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec_ts_tso,				1, 1, 1, 0, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F)				\
-T(sec_ts_tso_l3l4csum,			1, 1, 1, 0, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | L3L4CSUM_F)			\
-T(sec_ts_tso_ol3ol4csum,		1, 1, 1, 0, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F)			\
-T(sec_ts_tso_ol3ol4csum_l3l4csum,	1, 1, 1, 0, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_tso_vlan,			1, 1, 1, 0, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F)			\
-T(sec_ts_tso_vlan_l3l4csum,		1, 1, 1, 0, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_ts_tso_vlan_ol3ol4csum,		1, 1, 1, 0, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_ts_tso_vlan_ol3ol4csum_l3l4csum,	1, 1, 1, 0, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \
-T(sec_ts_tso_noff,			1, 1, 1, 1, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F)			\
-T(sec_ts_tso_noff_l3l4csum,		1, 1, 1, 1, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)		\
-T(sec_ts_tso_noff_ol3ol4csum,		1, 1, 1, 1, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)	\
-T(sec_ts_tso_noff_ol3ol4csum_l3l4csum,	1, 1, 1, 1, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F) \
-T(sec_ts_tso_noff_vlan,			1, 1, 1, 1, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F)		\
-T(sec_ts_tso_noff_vlan_l3l4csum,	1, 1, 1, 1, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)	\
-T(sec_ts_tso_noff_vlan_ol3ol4csum,	1, 1, 1, 1, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)\
-T(sec_ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 1, 1, 1, 1, 1, 1, 1, 8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | \
-		L3L4CSUM_F)
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
+#define NIX_TX_FASTPATH_MODES_0_15                                             \
+	T(no_offload, 4, NIX_TX_OFFLOAD_NONE)                                  \
+	T(l3l4csum, 4, L3L4CSUM_F)                                             \
+	T(ol3ol4csum, 4, OL3OL4CSUM_F)                                         \
+	T(ol3ol4csum_l3l4csum, 4, OL3OL4CSUM_F | L3L4CSUM_F)                   \
+	T(vlan, 6, VLAN_F)                                                     \
+	T(vlan_l3l4csum, 6, VLAN_F | L3L4CSUM_F)                               \
+	T(vlan_ol3ol4csum, 6, VLAN_F | OL3OL4CSUM_F)                           \
+	T(vlan_ol3ol4csum_l3l4csum, 6, VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(noff, 4, NOFF_F)                                                     \
+	T(noff_l3l4csum, 4, NOFF_F | L3L4CSUM_F)                               \
+	T(noff_ol3ol4csum, 4, NOFF_F | OL3OL4CSUM_F)                           \
+	T(noff_ol3ol4csum_l3l4csum, 4, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(noff_vlan, 6, NOFF_F | VLAN_F)                                       \
+	T(noff_vlan_l3l4csum, 6, NOFF_F | VLAN_F | L3L4CSUM_F)                 \
+	T(noff_vlan_ol3ol4csum, 6, NOFF_F | VLAN_F | OL3OL4CSUM_F)             \
+	T(noff_vlan_ol3ol4csum_l3l4csum, 6,                                    \
+	  NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_16_31                                            \
+	T(tso, 6, TSO_F)                                                       \
+	T(tso_l3l4csum, 6, TSO_F | L3L4CSUM_F)                                 \
+	T(tso_ol3ol4csum, 6, TSO_F | OL3OL4CSUM_F)                             \
+	T(tso_ol3ol4csum_l3l4csum, 6, TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)       \
+	T(tso_vlan, 6, TSO_F | VLAN_F)                                         \
+	T(tso_vlan_l3l4csum, 6, TSO_F | VLAN_F | L3L4CSUM_F)                   \
+	T(tso_vlan_ol3ol4csum, 6, TSO_F | VLAN_F | OL3OL4CSUM_F)               \
+	T(tso_vlan_ol3ol4csum_l3l4csum, 6,                                     \
+	  TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(tso_noff, 6, TSO_F | NOFF_F)                                         \
+	T(tso_noff_l3l4csum, 6, TSO_F | NOFF_F | L3L4CSUM_F)                   \
+	T(tso_noff_ol3ol4csum, 6, TSO_F | NOFF_F | OL3OL4CSUM_F)               \
+	T(tso_noff_ol3ol4csum_l3l4csum, 6,                                     \
+	  TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(tso_noff_vlan, 6, TSO_F | NOFF_F | VLAN_F)                           \
+	T(tso_noff_vlan_l3l4csum, 6, TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)     \
+	T(tso_noff_vlan_ol3ol4csum, 6, TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F) \
+	T(tso_noff_vlan_ol3ol4csum_l3l4csum, 6,                                \
+	  TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_32_47                                            \
+	T(ts, 8, TSP_F)                                                        \
+	T(ts_l3l4csum, 8, TSP_F | L3L4CSUM_F)                                  \
+	T(ts_ol3ol4csum, 8, TSP_F | OL3OL4CSUM_F)                              \
+	T(ts_ol3ol4csum_l3l4csum, 8, TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(ts_vlan, 8, TSP_F | VLAN_F)                                          \
+	T(ts_vlan_l3l4csum, 8, TSP_F | VLAN_F | L3L4CSUM_F)                    \
+	T(ts_vlan_ol3ol4csum, 8, TSP_F | VLAN_F | OL3OL4CSUM_F)                \
+	T(ts_vlan_ol3ol4csum_l3l4csum, 8,                                      \
+	  TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(ts_noff, 8, TSP_F | NOFF_F)                                          \
+	T(ts_noff_l3l4csum, 8, TSP_F | NOFF_F | L3L4CSUM_F)                    \
+	T(ts_noff_ol3ol4csum, 8, TSP_F | NOFF_F | OL3OL4CSUM_F)                \
+	T(ts_noff_ol3ol4csum_l3l4csum, 8,                                      \
+	  TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(ts_noff_vlan, 8, TSP_F | NOFF_F | VLAN_F)                            \
+	T(ts_noff_vlan_l3l4csum, 8, TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)      \
+	T(ts_noff_vlan_ol3ol4csum, 8, TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)  \
+	T(ts_noff_vlan_ol3ol4csum_l3l4csum, 8,                                 \
+	  TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_48_63                                            \
+	T(ts_tso, 8, TSP_F | TSO_F)                                            \
+	T(ts_tso_l3l4csum, 8, TSP_F | TSO_F | L3L4CSUM_F)                      \
+	T(ts_tso_ol3ol4csum, 8, TSP_F | TSO_F | OL3OL4CSUM_F)                  \
+	T(ts_tso_ol3ol4csum_l3l4csum, 8,                                       \
+	  TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                           \
+	T(ts_tso_vlan, 8, TSP_F | TSO_F | VLAN_F)                              \
+	T(ts_tso_vlan_l3l4csum, 8, TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)        \
+	T(ts_tso_vlan_ol3ol4csum, 8, TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)    \
+	T(ts_tso_vlan_ol3ol4csum_l3l4csum, 8,                                  \
+	  TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                  \
+	T(ts_tso_noff, 8, TSP_F | TSO_F | NOFF_F)                              \
+	T(ts_tso_noff_l3l4csum, 8, TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)        \
+	T(ts_tso_noff_ol3ol4csum, 8, TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)    \
+	T(ts_tso_noff_ol3ol4csum_l3l4csum, 8,                                  \
+	  TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                  \
+	T(ts_tso_noff_vlan, 8, TSP_F | TSO_F | NOFF_F | VLAN_F)                \
+	T(ts_tso_noff_vlan_l3l4csum, 8,                                        \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)                        \
+	T(ts_tso_noff_vlan_ol3ol4csum, 8,                                      \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                      \
+	T(ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 8,                             \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_64_79                                            \
+	T(sec, 4, T_SEC_F)                                                     \
+	T(sec_l3l4csum, 4, T_SEC_F | L3L4CSUM_F)                               \
+	T(sec_ol3ol4csum, 4, T_SEC_F | OL3OL4CSUM_F)                           \
+	T(sec_ol3ol4csum_l3l4csum, 4, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(sec_vlan, 6, T_SEC_F | VLAN_F)                                       \
+	T(sec_vlan_l3l4csum, 6, T_SEC_F | VLAN_F | L3L4CSUM_F)                 \
+	T(sec_vlan_ol3ol4csum, 6, T_SEC_F | VLAN_F | OL3OL4CSUM_F)             \
+	T(sec_vlan_ol3ol4csum_l3l4csum, 6,                                     \
+	  T_SEC_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                        \
+	T(sec_noff, 4, T_SEC_F | NOFF_F)                                       \
+	T(sec_noff_l3l4csum, 4, T_SEC_F | NOFF_F | L3L4CSUM_F)                 \
+	T(sec_noff_ol3ol4csum, 4, T_SEC_F | NOFF_F | OL3OL4CSUM_F)             \
+	T(sec_noff_ol3ol4csum_l3l4csum, 4,                                     \
+	  T_SEC_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                        \
+	T(sec_noff_vlan, 6, T_SEC_F | NOFF_F | VLAN_F)                         \
+	T(sec_noff_vlan_l3l4csum, 6, T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F)   \
+	T(sec_noff_vlan_ol3ol4csum, 6,                                         \
+	  T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                            \
+	T(sec_noff_vlan_ol3ol4csum_l3l4csum, 6,                                \
+	  T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_80_95                                            \
+	T(sec_tso, 6, T_SEC_F | TSO_F)                                         \
+	T(sec_tso_l3l4csum, 6, T_SEC_F | TSO_F | L3L4CSUM_F)                   \
+	T(sec_tso_ol3ol4csum, 6, T_SEC_F | TSO_F | OL3OL4CSUM_F)               \
+	T(sec_tso_ol3ol4csum_l3l4csum, 6,                                      \
+	  T_SEC_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                         \
+	T(sec_tso_vlan, 6, T_SEC_F | TSO_F | VLAN_F)                           \
+	T(sec_tso_vlan_l3l4csum, 6, T_SEC_F | TSO_F | VLAN_F | L3L4CSUM_F)     \
+	T(sec_tso_vlan_ol3ol4csum, 6, T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F) \
+	T(sec_tso_vlan_ol3ol4csum_l3l4csum, 6,                                 \
+	  T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_tso_noff, 6, T_SEC_F | TSO_F | NOFF_F)                           \
+	T(sec_tso_noff_l3l4csum, 6, T_SEC_F | TSO_F | NOFF_F | L3L4CSUM_F)     \
+	T(sec_tso_noff_ol3ol4csum, 6, T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F) \
+	T(sec_tso_noff_ol3ol4csum_l3l4csum, 6,                                 \
+	  T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_tso_noff_vlan, 6, T_SEC_F | TSO_F | NOFF_F | VLAN_F)             \
+	T(sec_tso_noff_vlan_l3l4csum, 6,                                       \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)                      \
+	T(sec_tso_noff_vlan_ol3ol4csum, 6,                                     \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                    \
+	T(sec_tso_noff_vlan_ol3ol4csum_l3l4csum, 6,                            \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_96_111                                           \
+	T(sec_ts, 8, T_SEC_F | TSP_F)                                          \
+	T(sec_ts_l3l4csum, 8, T_SEC_F | TSP_F | L3L4CSUM_F)                    \
+	T(sec_ts_ol3ol4csum, 8, T_SEC_F | TSP_F | OL3OL4CSUM_F)                \
+	T(sec_ts_ol3ol4csum_l3l4csum, 8,                                       \
+	  T_SEC_F | TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)                         \
+	T(sec_ts_vlan, 8, T_SEC_F | TSP_F | VLAN_F)                            \
+	T(sec_ts_vlan_l3l4csum, 8, T_SEC_F | TSP_F | VLAN_F | L3L4CSUM_F)      \
+	T(sec_ts_vlan_ol3ol4csum, 8, T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F)  \
+	T(sec_ts_vlan_ol3ol4csum_l3l4csum, 8,                                  \
+	  T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_ts_noff, 8, T_SEC_F | TSP_F | NOFF_F)                            \
+	T(sec_ts_noff_l3l4csum, 8, T_SEC_F | TSP_F | NOFF_F | L3L4CSUM_F)      \
+	T(sec_ts_noff_ol3ol4csum, 8, T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F)  \
+	T(sec_ts_noff_ol3ol4csum_l3l4csum, 8,                                  \
+	  T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_ts_noff_vlan, 8, T_SEC_F | TSP_F | NOFF_F | VLAN_F)              \
+	T(sec_ts_noff_vlan_l3l4csum, 8,                                        \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)                      \
+	T(sec_ts_noff_vlan_ol3ol4csum, 8,                                      \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                    \
+	T(sec_ts_noff_vlan_ol3ol4csum_l3l4csum, 8,                             \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_112_127                                          \
+	T(sec_ts_tso, 8, T_SEC_F | TSP_F | TSO_F)                              \
+	T(sec_ts_tso_l3l4csum, 8, T_SEC_F | TSP_F | TSO_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_ol3ol4csum, 8, T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F)    \
+	T(sec_ts_tso_ol3ol4csum_l3l4csum, 8,                                   \
+	  T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                 \
+	T(sec_ts_tso_vlan, 8, T_SEC_F | TSP_F | TSO_F | VLAN_F)                \
+	T(sec_ts_tso_vlan_l3l4csum, 8,                                         \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)                       \
+	T(sec_ts_tso_vlan_ol3ol4csum, 8,                                       \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)                     \
+	T(sec_ts_tso_vlan_ol3ol4csum_l3l4csum, 8,                              \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_noff, 8, T_SEC_F | TSP_F | TSO_F | NOFF_F)                \
+	T(sec_ts_tso_noff_l3l4csum, 8,                                         \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)                       \
+	T(sec_ts_tso_noff_ol3ol4csum, 8,                                       \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)                     \
+	T(sec_ts_tso_noff_ol3ol4csum_l3l4csum, 8,                              \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_noff_vlan, 8, T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F)  \
+	T(sec_ts_tso_noff_vlan_l3l4csum, 8,                                    \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)              \
+	T(sec_ts_tso_noff_vlan_ol3ol4csum, 8,                                  \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)            \
+	T(sec_ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 8,                         \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F |           \
+		  L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES                                                  \
+	NIX_TX_FASTPATH_MODES_0_15                                             \
+	NIX_TX_FASTPATH_MODES_16_31                                            \
+	NIX_TX_FASTPATH_MODES_32_47                                            \
+	NIX_TX_FASTPATH_MODES_48_63                                            \
+	NIX_TX_FASTPATH_MODES_64_79                                            \
+	NIX_TX_FASTPATH_MODES_80_95                                            \
+	NIX_TX_FASTPATH_MODES_96_111                                           \
+	NIX_TX_FASTPATH_MODES_112_127
+
+#define T(name, sz, flags)                                                     \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_xmit_pkts_##name(           \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_xmit_pkts_mseg_##name(      \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_xmit_pkts_vec_##name(       \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn9k_nix_xmit_pkts_vec_mseg_##name(  \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);

 NIX_TX_FASTPATH_MODES
 #undef T

+#define NIX_TX_XMIT(fn, sz, flags)                                             \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn9k_nix_xmit_pkts(tx_queue, tx_pkts, pkts, cmd,        \
+					  flags);                              \
+	}
+
+#define NIX_TX_XMIT_MSEG(fn, sz, flags)                                        \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn9k_nix_xmit_pkts_mseg(tx_queue, tx_pkts, pkts, cmd,   \
+					       (flags) | NIX_TX_MULTI_SEG_F);  \
+	}
+
+#define NIX_TX_XMIT_VEC(fn, sz, flags)                                         \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn9k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts, cmd, \
+						 (flags));                     \
+	}
+
+#define NIX_TX_XMIT_VEC_MSEG(fn, sz, flags)                                    \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn9k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts, cmd, \
+						 (flags) |                     \
+							 NIX_TX_MULTI_SEG_F);  \
+	}
+
 #endif /* __CN9K_TX_H__ */
diff --git a/drivers/net/cnxk/cn9k_tx_mseg.c b/drivers/net/cnxk/cn9k_tx_mseg.c
deleted file mode 100644
index 37cba78e71..0000000000
--- a/drivers/net/cnxk/cn9k_tx_mseg.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	uint16_t __rte_noinline __rte_hot				       \
-		cn9k_nix_xmit_pkts_mseg_##name(void *tx_queue,                 \
-					       struct rte_mbuf **tx_pkts,      \
-					       uint16_t pkts)                  \
-	{                                                                      \
-		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&			       \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))		       \
-			return 0;                                              \
-		return cn9k_nix_xmit_pkts_mseg(tx_queue, tx_pkts, pkts, cmd,   \
-					       (flags) | NIX_TX_MULTI_SEG_F);  \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/cn9k_tx_select.c b/drivers/net/cnxk/cn9k_tx_select.c
new file mode 100644
index 0000000000..47015bf4ed
--- /dev/null
+++ b/drivers/net/cnxk/cn9k_tx_select.c
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn9k_ethdev.h"
+#include "cn9k_tx.h"
+
+static inline void
+pick_tx_func(struct rte_eth_dev *eth_dev,
+	     const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	/* [TS] [TSO] [NOFF] [VLAN] [OL3_OL4_CSUM] [IL3_IL4_CSUM] */
+	eth_dev->tx_pkt_burst =
+		tx_burst[dev->tx_offload_flags & (NIX_TX_OFFLOAD_MAX - 1)];
+}
+
+void
+cn9k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_nix_xmit_pkts_##name,
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_burst_mseg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_nix_xmit_pkts_mseg_##name,
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_vec_burst[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_nix_xmit_pkts_vec_##name,
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_vec_burst_mseg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn9k_nix_xmit_pkts_vec_mseg_##name,
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	if (dev->scalar_ena) {
+		pick_tx_func(eth_dev, nix_eth_tx_burst);
+		if (dev->tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS)
+			pick_tx_func(eth_dev, nix_eth_tx_burst_mseg);
+	} else {
+		pick_tx_func(eth_dev, nix_eth_tx_vec_burst);
+		if (dev->tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS)
+			pick_tx_func(eth_dev, nix_eth_tx_vec_burst_mseg);
+	}
+
+	rte_mb();
+}
diff --git a/drivers/net/cnxk/cn9k_tx_vec.c b/drivers/net/cnxk/cn9k_tx_vec.c
deleted file mode 100644
index b424f95895..0000000000
--- a/drivers/net/cnxk/cn9k_tx_vec.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	uint16_t __rte_noinline __rte_hot				       \
-		cn9k_nix_xmit_pkts_vec_##name(void *tx_queue,                  \
-					      struct rte_mbuf **tx_pkts,       \
-					      uint16_t pkts)                   \
-	{                                                                      \
-		uint64_t cmd[sz];                                              \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
-			return 0;                                              \
-		return cn9k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts, cmd, \
-						 (flags));		       \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/cn9k_tx_vec_mseg.c b/drivers/net/cnxk/cn9k_tx_vec_mseg.c
deleted file mode 100644
index 5fdf0a9062..0000000000
--- a/drivers/net/cnxk/cn9k_tx_vec_mseg.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn9k_ethdev.h"
-#include "cn9k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_noinline __rte_hot cn9k_nix_xmit_pkts_vec_mseg_##name(  \
-		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		uint64_t cmd[sz];                                              \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
-			return 0;                                              \
-		return cn9k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts, cmd, \
-						 (flags) |                     \
-							 NIX_TX_MULTI_SEG_F);  \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index fcf8140686..01bd5442b5 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -29,10 +29,7 @@ sources += files(
         'cn9k_ethdev_sec.c',
         'cn9k_rte_flow.c',
         'cn9k_rx_select.c',
-        'cn9k_tx.c',
-        'cn9k_tx_mseg.c',
-        'cn9k_tx_vec.c',
-        'cn9k_tx_vec_mseg.c',
+        'cn9k_tx_select.c',
 )

 sources += files(
@@ -70,6 +67,41 @@ sources += files(
         'rx/cn9k/rx_112_127_vec_mseg.c',
 )

+sources += files(
+        'tx/cn9k/tx_0_15.c',
+        'tx/cn9k/tx_16_31.c',
+        'tx/cn9k/tx_32_47.c',
+        'tx/cn9k/tx_48_63.c',
+        'tx/cn9k/tx_64_79.c',
+        'tx/cn9k/tx_80_95.c',
+        'tx/cn9k/tx_96_111.c',
+        'tx/cn9k/tx_112_127.c',
+        'tx/cn9k/tx_0_15_mseg.c',
+        'tx/cn9k/tx_16_31_mseg.c',
+        'tx/cn9k/tx_32_47_mseg.c',
+        'tx/cn9k/tx_48_63_mseg.c',
+        'tx/cn9k/tx_64_79_mseg.c',
+        'tx/cn9k/tx_80_95_mseg.c',
+        'tx/cn9k/tx_96_111_mseg.c',
+        'tx/cn9k/tx_112_127_mseg.c',
+        'tx/cn9k/tx_0_15_vec.c',
+        'tx/cn9k/tx_16_31_vec.c',
+        'tx/cn9k/tx_32_47_vec.c',
+        'tx/cn9k/tx_48_63_vec.c',
+        'tx/cn9k/tx_64_79_vec.c',
+        'tx/cn9k/tx_80_95_vec.c',
+        'tx/cn9k/tx_96_111_vec.c',
+        'tx/cn9k/tx_112_127_vec.c',
+        'tx/cn9k/tx_0_15_vec_mseg.c',
+        'tx/cn9k/tx_16_31_vec_mseg.c',
+        'tx/cn9k/tx_32_47_vec_mseg.c',
+        'tx/cn9k/tx_48_63_vec_mseg.c',
+        'tx/cn9k/tx_64_79_vec_mseg.c',
+        'tx/cn9k/tx_80_95_vec_mseg.c',
+        'tx/cn9k/tx_96_111_vec_mseg.c',
+        'tx/cn9k/tx_112_127_vec_mseg.c',
+)
+
 # CN10K
 sources += files(
         'cn10k_ethdev.c',
--
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 5/8] net/cnxk: add CN10K segregated Rx functions
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (2 preceding siblings ...)
  2021-12-13  8:22 ` [PATCH 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2021-12-13  8:22 ` [PATCH 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

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

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/deq/cn10k/deq_0_15.c            | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127.c         | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_112_127_ca_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c  | 12 ++++++++++++
 .../cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c      | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c  | 12 ++++++++++++
 .../cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c      | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c  | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c    | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_112_127_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c     | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c | 12 ++++++++++++
 .../cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c      | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c      | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c      | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c      | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95.c           | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c     | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c        | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c  | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c    | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c  | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c    | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c      | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111.c          | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c       | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c   | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c | 14 ++++++++++++++
 .../event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c   | 13 +++++++++++++
 .../cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c   | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c     | 12 ++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_96_111_seg_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c      | 12 ++++++++++++
 .../event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c    | 14 ++++++++++++++
 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c  | 12 ++++++++++++
 .../cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c      | 14 ++++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_0_15.c                | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c            | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c       | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_112_127.c             | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c        | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c         | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c    | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_16_31.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_32_47.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_48_63.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_64_79.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_80_95.c               | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c           | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c      | 12 ++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_96_111.c              | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c         | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c          | 11 +++++++++++
 drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c     | 12 ++++++++++++
 168 files changed, 2128 insertions(+)
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c
 create mode 100644 drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_0_15.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_112_127.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_16_31.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_32_47.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_48_63.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_64_79.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_80_95.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_96_111.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
 create mode 100644 drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c

diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15.c b/drivers/event/cnxk/deq/cn10k/deq_0_15.c
new file mode 100644
index 0000000000..7a0de2607d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c
new file mode 100644
index 0000000000..3881d756a7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c
new file mode 100644
index 0000000000..dd0cd3ec0c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c
new file mode 100644
index 0000000000..ac7055086c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c
new file mode 100644
index 0000000000..2b10c7f8b7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c
new file mode 100644
index 0000000000..8f0084cae1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c
new file mode 100644
index 0000000000..9269c2f295
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c
new file mode 100644
index 0000000000..8ad22ec3f6
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c
new file mode 100644
index 0000000000..7a14e6667b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..3a7d7d48cd
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c
new file mode 100644
index 0000000000..743d39fcfb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c
new file mode 100644
index 0000000000..33929ec564
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c
new file mode 100644
index 0000000000..d5cfd808e7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c
new file mode 100644
index 0000000000..feeeb32ddc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c
new file mode 100644
index 0000000000..70db3db251
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c
new file mode 100644
index 0000000000..775c6aa59c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c
new file mode 100644
index 0000000000..be92d8590f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127.c b/drivers/event/cnxk/deq/cn10k/deq_112_127.c
new file mode 100644
index 0000000000..5f805ceee3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c
new file mode 100644
index 0000000000..752046b04d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c
new file mode 100644
index 0000000000..d45afe47ab
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c
new file mode 100644
index 0000000000..44bda95229
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c
new file mode 100644
index 0000000000..4f271f1aeb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c
new file mode 100644
index 0000000000..eced6ba67a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c
new file mode 100644
index 0000000000..998513580f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c
new file mode 100644
index 0000000000..d36494c440
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c
new file mode 100644
index 0000000000..a95d36e525
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..d5c6ee130b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c
new file mode 100644
index 0000000000..dc4bb70081
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c
new file mode 100644
index 0000000000..686507569f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c
new file mode 100644
index 0000000000..300ac31505
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c
new file mode 100644
index 0000000000..80e6a8af81
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c
new file mode 100644
index 0000000000..bab1e363e4
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c
new file mode 100644
index 0000000000..a0ea84ea59
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c
new file mode 100644
index 0000000000..c681b53a89
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31.c b/drivers/event/cnxk/deq/cn10k/deq_16_31.c
new file mode 100644
index 0000000000..f158b2d466
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c
new file mode 100644
index 0000000000..f66d75750d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c
new file mode 100644
index 0000000000..0b2537d6b1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c
new file mode 100644
index 0000000000..f2c423767e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c
new file mode 100644
index 0000000000..04879ac1c7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c
new file mode 100644
index 0000000000..e90186dd37
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c
new file mode 100644
index 0000000000..17975bfc8f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c
new file mode 100644
index 0000000000..88e92db853
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c
new file mode 100644
index 0000000000..6ee5b696ea
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..a663ecf04c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c
new file mode 100644
index 0000000000..769e2d873c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c
new file mode 100644
index 0000000000..879d95ed2f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c
new file mode 100644
index 0000000000..c888ac4298
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c
new file mode 100644
index 0000000000..f583153dc0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c
new file mode 100644
index 0000000000..cd37befd54
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c
new file mode 100644
index 0000000000..8a6fe5c18b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c
new file mode 100644
index 0000000000..ea2cac37e7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47.c b/drivers/event/cnxk/deq/cn10k/deq_32_47.c
new file mode 100644
index 0000000000..545401cb8d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c
new file mode 100644
index 0000000000..1410615811
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c
new file mode 100644
index 0000000000..0b2351f55e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c
new file mode 100644
index 0000000000..3c58f2904f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c
new file mode 100644
index 0000000000..57901350fb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c
new file mode 100644
index 0000000000..59f8823635
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c
new file mode 100644
index 0000000000..f81b78dd70
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c
new file mode 100644
index 0000000000..47d63faf83
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c
new file mode 100644
index 0000000000..3e591fb17c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..12ad6ff981
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c
new file mode 100644
index 0000000000..7882921949
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c
new file mode 100644
index 0000000000..bba2c68d31
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c
new file mode 100644
index 0000000000..023e9b0ceb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c
new file mode 100644
index 0000000000..8ab77f15c2
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c
new file mode 100644
index 0000000000..e77056537d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c
new file mode 100644
index 0000000000..36c6a608d1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c
new file mode 100644
index 0000000000..18eecfcd91
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63.c b/drivers/event/cnxk/deq/cn10k/deq_48_63.c
new file mode 100644
index 0000000000..9fbef9e75f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c
new file mode 100644
index 0000000000..7ff6dc757c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c
new file mode 100644
index 0000000000..0264cc6ca8
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c
new file mode 100644
index 0000000000..05eefd224e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c
new file mode 100644
index 0000000000..cda078ccfd
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c
new file mode 100644
index 0000000000..ed9bcb1c83
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c
new file mode 100644
index 0000000000..c23b929213
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c
new file mode 100644
index 0000000000..aceb756600
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c
new file mode 100644
index 0000000000..d17974b4d0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..4fa6f8f343
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c
new file mode 100644
index 0000000000..8dffc60a82
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c
new file mode 100644
index 0000000000..53d8080f60
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c
new file mode 100644
index 0000000000..40e5ae0b0f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c
new file mode 100644
index 0000000000..c6fcdd3fc1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c
new file mode 100644
index 0000000000..81ab65db02
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c
new file mode 100644
index 0000000000..0c84ee5f49
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c
new file mode 100644
index 0000000000..33f672fa91
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79.c b/drivers/event/cnxk/deq/cn10k/deq_64_79.c
new file mode 100644
index 0000000000..c45f2e51b7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c
new file mode 100644
index 0000000000..4986555dd1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c
new file mode 100644
index 0000000000..7a5a310718
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c
new file mode 100644
index 0000000000..0e9c1fe024
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c
new file mode 100644
index 0000000000..80d99f64af
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c
new file mode 100644
index 0000000000..6a9e3ed703
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c
new file mode 100644
index 0000000000..20ba3cc893
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c
new file mode 100644
index 0000000000..4f9a87487f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c
new file mode 100644
index 0000000000..273fb8afdc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..62e167a605
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c
new file mode 100644
index 0000000000..89a1de2c02
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c
new file mode 100644
index 0000000000..37ce2869c1
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c
new file mode 100644
index 0000000000..cadc67bb22
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c
new file mode 100644
index 0000000000..4170072271
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c
new file mode 100644
index 0000000000..f7c91ffe7d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c
new file mode 100644
index 0000000000..36d23d46d9
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c
new file mode 100644
index 0000000000..bd6aaee903
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95.c b/drivers/event/cnxk/deq/cn10k/deq_80_95.c
new file mode 100644
index 0000000000..48d0993718
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c
new file mode 100644
index 0000000000..5b61304de0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c
new file mode 100644
index 0000000000..9dfb424d39
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c
new file mode 100644
index 0000000000..ef95ebe15f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c
new file mode 100644
index 0000000000..1cf7e487bb
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c
new file mode 100644
index 0000000000..7f141f3fdc
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c
new file mode 100644
index 0000000000..24c4d1bbe0
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c
new file mode 100644
index 0000000000..c288b36c53
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c
new file mode 100644
index 0000000000..4f78c7d482
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..d5c6d2654d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c
new file mode 100644
index 0000000000..a1df8c1201
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c
new file mode 100644
index 0000000000..23f220943d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c
new file mode 100644
index 0000000000..d944d21c7f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c
new file mode 100644
index 0000000000..972cc29a36
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c
new file mode 100644
index 0000000000..0ceacb238b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c
new file mode 100644
index 0000000000..b62fd6fcbf
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c
new file mode 100644
index 0000000000..99751c3ce5
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111.c b/drivers/event/cnxk/deq/cn10k/deq_96_111.c
new file mode 100644
index 0000000000..a7bfc18d3a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ(cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c
new file mode 100644
index 0000000000..7898dda73c
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_burst_##name,                      \
+			  cn10k_sso_hws_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c
new file mode 100644
index 0000000000..780417f637
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA(cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c
new file mode 100644
index 0000000000..ec64592b2a
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_burst_##name,                   \
+			  cn10k_sso_hws_deq_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c
new file mode 100644
index 0000000000..36ab019f04
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_CA_SEG(cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c
new file mode 100644
index 0000000000..99f35ecdea
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_ca_seg_burst_##name,               \
+			  cn10k_sso_hws_deq_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c
new file mode 100644
index 0000000000..1060adc160
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_CA(cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c
new file mode 100644
index 0000000000..e86afd1e76
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_burst_##name,               \
+			  cn10k_sso_hws_deq_tmo_ca_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c
new file mode 100644
index 0000000000..1b5932c10f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_DEQ_TMO_CA_SEG(cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c
new file mode 100644
index 0000000000..01106e7cdd
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,           \
+			  cn10k_sso_hws_deq_tmo_ca_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c
new file mode 100644
index 0000000000..c3aebeeb33
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DUAL_DEQ(cn10k_sso_hws_dual_deq_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c
new file mode 100644
index 0000000000..01d014e83b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_SEG(cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c
new file mode 100644
index 0000000000..ec4de71391
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_SEG_BURST(cn10k_sso_hws_deq_seg_burst_##name,              \
+			      cn10k_sso_hws_deq_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c
new file mode 100644
index 0000000000..82c7b3723b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO(cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c
new file mode 100644
index 0000000000..732d26031d
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_burst_##name,                  \
+			  cn10k_sso_hws_deq_tmo_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c
new file mode 100644
index 0000000000..89fc8c8a62
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags) SSO_DEQ_TMO_SEG(cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c
new file mode 100644
index 0000000000..459d84f6fa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_worker.h"
+#include "cnxk_eventdev.h"
+#include "cnxk_worker.h"
+
+#define R(name, flags)                                                         \
+	SSO_CMN_DEQ_BURST(cn10k_sso_hws_deq_tmo_seg_burst_##name,              \
+			  cn10k_sso_hws_deq_tmo_seg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15.c b/drivers/net/cnxk/rx/cn10k/rx_0_15.c
new file mode 100644
index 0000000000..0e78ad6396
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
new file mode 100644
index 0000000000..9807846d95
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
new file mode 100644
index 0000000000..b47776e852
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
new file mode 100644
index 0000000000..d841bc549e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_0_15
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127.c b/drivers/net/cnxk/rx/cn10k/rx_112_127.c
new file mode 100644
index 0000000000..99d67fd072
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
new file mode 100644
index 0000000000..fa67beb71f
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
new file mode 100644
index 0000000000..ece5cbb20b
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
new file mode 100644
index 0000000000..1dbed97ddc
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_112_127
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31.c b/drivers/net/cnxk/rx/cn10k/rx_16_31.c
new file mode 100644
index 0000000000..91223ec1e1
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
new file mode 100644
index 0000000000..9c63f4054e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
new file mode 100644
index 0000000000..5b36f7f5a2
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
new file mode 100644
index 0000000000..9799afedae
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_16_31
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47.c b/drivers/net/cnxk/rx/cn10k/rx_32_47.c
new file mode 100644
index 0000000000..c2fdd88f5e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
new file mode 100644
index 0000000000..7061bd5098
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
new file mode 100644
index 0000000000..e095a7ec2e
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
new file mode 100644
index 0000000000..b462819e63
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_32_47
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63.c b/drivers/net/cnxk/rx/cn10k/rx_48_63.c
new file mode 100644
index 0000000000..9d9b6e00b3
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
new file mode 100644
index 0000000000..2e9c6d52c1
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
new file mode 100644
index 0000000000..334994561d
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
new file mode 100644
index 0000000000..7e3ce1d948
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_48_63
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79.c b/drivers/net/cnxk/rx/cn10k/rx_64_79.c
new file mode 100644
index 0000000000..851aa8f8fd
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
new file mode 100644
index 0000000000..872115aa13
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
new file mode 100644
index 0000000000..555d1f2a34
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
new file mode 100644
index 0000000000..ef33b2debb
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_64_79
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95.c b/drivers/net/cnxk/rx/cn10k/rx_80_95.c
new file mode 100644
index 0000000000..c051b9c927
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
new file mode 100644
index 0000000000..8a8f355fea
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
new file mode 100644
index 0000000000..83e7af53dd
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
new file mode 100644
index 0000000000..d6aad681bf
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_80_95
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111.c b/drivers/net/cnxk/rx/cn10k/rx_96_111.c
new file mode 100644
index 0000000000..c7aa062e0b
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
new file mode 100644
index 0000000000..05153b5916
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
new file mode 100644
index 0000000000..2127bb8f40
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+#define R(name, flags) NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c
new file mode 100644
index 0000000000..6d2b98d566
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_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_rx.h"
+
+#define R(name, flags)                                                         \
+	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)
+
+NIX_RX_FASTPATH_MODES_96_111
+#undef R
-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 6/8] net/cnxk: add CN10K template Rx functions to build
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (3 preceding siblings ...)
  2021-12-13  8:22 ` [PATCH 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2021-12-13  8:22 ` [PATCH 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
  2021-12-13  8:22 ` [PATCH 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
	Anatoly Burakov
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN10K segregated Rx and event dequeue functions to build,
add macros to make future modifications simpler.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/cn10k_eventdev.c         | 114 +++--
 drivers/event/cnxk/cn10k_worker.h           |  71 ++-
 drivers/event/cnxk/cn10k_worker_deq.c       |  44 --
 drivers/event/cnxk/cn10k_worker_deq_burst.c |  29 --
 drivers/event/cnxk/cn10k_worker_deq_ca.c    |  65 ---
 drivers/event/cnxk/cn10k_worker_deq_tmo.c   |  72 ---
 drivers/event/cnxk/meson.build              | 135 +++++-
 drivers/net/cnxk/cn10k_rx.h                 | 461 +++++++++-----------
 drivers/net/cnxk/cn10k_rx_mseg.c            |  17 -
 drivers/net/cnxk/cn10k_rx_select.c          |  67 +++
 drivers/net/cnxk/cn10k_rx_vec.c             |  19 -
 drivers/net/cnxk/cn10k_rx_vec_mseg.c        |  18 -
 drivers/net/cnxk/meson.build                |  40 +-
 13 files changed, 570 insertions(+), 582 deletions(-)
 delete mode 100644 drivers/event/cnxk/cn10k_worker_deq.c
 delete mode 100644 drivers/event/cnxk/cn10k_worker_deq_burst.c
 delete mode 100644 drivers/event/cnxk/cn10k_worker_deq_ca.c
 delete mode 100644 drivers/event/cnxk/cn10k_worker_deq_tmo.c
 delete mode 100644 drivers/net/cnxk/cn10k_rx_mseg.c
 create mode 100644 drivers/net/cnxk/cn10k_rx_select.c
 delete mode 100644 drivers/net/cnxk/cn10k_rx_vec.c
 delete mode 100644 drivers/net/cnxk/cn10k_rx_vec_mseg.c

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index c5a8c1ae8f..02f3d8235d 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -7,13 +7,7 @@
 #include "cnxk_worker.h"
 
 #define CN10K_SET_EVDEV_DEQ_OP(dev, deq_op, deq_ops)                           \
-	(deq_op = deq_ops[!!(dev->rx_offloads & NIX_RX_OFFLOAD_SECURITY_F)]    \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_VLAN_STRIP_F)]  \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_TSTAMP_F)]      \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_MARK_UPDATE_F)] \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_CHECKSUM_F)]    \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_PTYPE_F)]       \
-			 [!!(dev->rx_offloads & NIX_RX_OFFLOAD_RSS_F)])
+	deq_op = deq_ops[dev->rx_offloads & (NIX_RX_OFFLOAD_MAX - 1)]
 
 #define CN10K_SET_EVDEV_ENQ_OP(dev, enq_op, enq_ops)                           \
 	(enq_op =                                                              \
@@ -291,95 +285,109 @@ static void
 cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 {
 	struct cnxk_sso_evdev *dev = cnxk_sso_pmd_priv(event_dev);
-	const event_dequeue_t sso_hws_deq[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                            \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_##name,
+	const event_dequeue_t sso_hws_deq[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t sso_hws_deq_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_burst_##name,
+	const event_dequeue_burst_t sso_hws_deq_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_tmo_##name,
+	const event_dequeue_t sso_hws_deq_tmo[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t
-		sso_hws_deq_tmo_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_tmo_burst_##name,
-		NIX_RX_FASTPATH_MODES
+	const event_dequeue_burst_t sso_hws_deq_tmo_burst[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_burst_##name,
+			NIX_RX_FASTPATH_MODES
 #undef R
-	};
+		};
 
-	const event_dequeue_t sso_hws_deq_ca[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_ca_##name,
+	const event_dequeue_t sso_hws_deq_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_burst_t
-		sso_hws_deq_ca_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_ca_burst_##name,
+	const event_dequeue_burst_t sso_hws_deq_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_ca_burst_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_seg_##name,
+	const event_dequeue_t sso_hws_deq_tmo_ca[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_ca_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_seg_burst_##name,
+		sso_hws_deq_tmo_ca_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_ca_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_deq_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_seg_##name,
+
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
-	const event_dequeue_t sso_hws_deq_tmo_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_tmo_seg_##name,
+	const event_dequeue_burst_t sso_hws_deq_seg_burst[NIX_RX_OFFLOAD_MAX] =
+		{
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_deq_tmo_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_tmo_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_tmo_seg_burst_##name,
+		sso_hws_deq_tmo_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
 #undef R
 		};
 
-	const event_dequeue_t sso_hws_deq_ca_seg[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_ca_seg_##name,
+	const event_dequeue_t sso_hws_deq_ca_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_ca_seg_##name,
 		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
 	const event_dequeue_burst_t
-		sso_hws_deq_ca_seg_burst[2][2][2][2][2][2][2] = {
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_deq_ca_seg_burst_##name,
+		sso_hws_deq_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_ca_seg_burst_##name,
 			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
+	const event_dequeue_t sso_hws_deq_tmo_ca_seg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_ca_seg_##name,
+		NIX_RX_FASTPATH_MODES
 #undef R
 	};
 
+	const event_dequeue_burst_t
+		sso_hws_deq_tmo_ca_seg_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_sso_hws_deq_tmo_ca_seg_burst_##name,
+			NIX_RX_FASTPATH_MODES
+#undef R
+		};
+
 	/* Tx modes */
 	const event_tx_adapter_enqueue_t
 		sso_hws_tx_adptr_enq[2][2][2][2][2][2][2] = {
@@ -418,6 +426,12 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					       sso_hws_deq_ca_seg_burst);
 		}
+		if (dev->is_timeout_deq && dev->is_ca_internal_port) {
+			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
+					       sso_hws_deq_tmo_ca_seg);
+			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
+					       sso_hws_deq_tmo_ca_seg_burst);
+		}
 	} else {
 		CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue, sso_hws_deq);
 		CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
@@ -434,6 +448,12 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)
 			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
 					       sso_hws_deq_ca_burst);
 		}
+		if (dev->is_timeout_deq && dev->is_ca_internal_port) {
+			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue,
+					       sso_hws_deq_tmo_ca);
+			CN10K_SET_EVDEV_DEQ_OP(dev, event_dev->dequeue_burst,
+					       sso_hws_deq_tmo_ca_burst);
+		}
 	}
 	event_dev->ca_enqueue = cn10k_sso_hws_ca_enq;
 
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index f8331e88d7..160b90aa27 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -352,7 +352,7 @@ uint16_t __rte_hot cn10k_sso_hws_enq_fwd_burst(void *port,
 uint16_t __rte_hot cn10k_sso_hws_ca_enq(void *port, struct rte_event ev[],
 					uint16_t nb_events);
 
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
+#define R(name, flags)                                                         \
 	uint16_t __rte_hot cn10k_sso_hws_deq_##name(                           \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_deq_burst_##name(                     \
@@ -368,6 +368,11 @@ uint16_t __rte_hot cn10k_sso_hws_ca_enq(void *port, struct rte_event ev[],
 	uint16_t __rte_hot cn10k_sso_hws_deq_ca_burst_##name(                  \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_##name(                    \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_burst_##name(              \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
 	uint16_t __rte_hot cn10k_sso_hws_deq_seg_##name(                       \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_deq_seg_burst_##name(                 \
@@ -381,12 +386,76 @@ uint16_t __rte_hot cn10k_sso_hws_ca_enq(void *port, struct rte_event ev[],
 	uint16_t __rte_hot cn10k_sso_hws_deq_ca_seg_##name(                    \
 		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
 	uint16_t __rte_hot cn10k_sso_hws_deq_ca_seg_burst_##name(              \
+		void *port, struct rte_event ev[], uint16_t nb_events,         \
+		uint64_t timeout_ticks);                                       \
+	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_seg_##name(                \
+		void *port, struct rte_event *ev, uint64_t timeout_ticks);     \
+	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_ca_seg_burst_##name(          \
 		void *port, struct rte_event ev[], uint16_t nb_events,         \
 		uint64_t timeout_ticks);
 
 NIX_RX_FASTPATH_MODES
 #undef R
 
+#define SSO_DEQ(fn, flags)                                                     \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn10k_sso_hws *ws = port;                               \
+                                                                               \
+		RTE_SET_USED(timeout_ticks);                                   \
+		if (ws->swtag_req) {                                           \
+			ws->swtag_req = 0;                                     \
+			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
+			return 1;                                              \
+		}                                                              \
+		return cn10k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);  \
+	}
+
+#define SSO_DEQ_SEG(fn, flags)	  SSO_DEQ(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DEQ_CA(fn, flags)	  SSO_DEQ(fn, flags | CPT_RX_WQE_F)
+#define SSO_DEQ_CA_SEG(fn, flags) SSO_DEQ_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define SSO_DEQ_TMO(fn, flags)                                                 \
+	uint16_t __rte_hot fn(void *port, struct rte_event *ev,                \
+			      uint64_t timeout_ticks)                          \
+	{                                                                      \
+		struct cn10k_sso_hws *ws = port;                               \
+		uint16_t ret = 1;                                              \
+		uint64_t iter;                                                 \
+                                                                               \
+		if (ws->swtag_req) {                                           \
+			ws->swtag_req = 0;                                     \
+			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
+			return ret;                                            \
+		}                                                              \
+		ret = cn10k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);   \
+		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
+			ret = cn10k_sso_hws_get_work(ws, ev, flags,            \
+						     ws->lookup_mem);          \
+		return ret;                                                    \
+	}
+
+#define SSO_DEQ_TMO_SEG(fn, flags)    SSO_DEQ_TMO(fn, flags | NIX_RX_MULTI_SEG_F)
+#define SSO_DEQ_TMO_CA(fn, flags)     SSO_DEQ_TMO(fn, flags | CPT_RX_WQE_F)
+#define SSO_DEQ_TMO_CA_SEG(fn, flags) SSO_DEQ_TMO_SEG(fn, flags | CPT_RX_WQE_F)
+
+#define SSO_CMN_DEQ_BURST(fnb, fn, flags)                                      \
+	uint16_t __rte_hot fnb(void *port, struct rte_event ev[],              \
+			       uint16_t nb_events, uint64_t timeout_ticks)     \
+	{                                                                      \
+		RTE_SET_USED(nb_events);                                       \
+		return fn(port, ev, timeout_ticks);                            \
+	}
+
+#define SSO_CMN_DEQ_SEG_BURST(fnb, fn, flags)                                  \
+	uint16_t __rte_hot fnb(void *port, struct rte_event ev[],              \
+			       uint16_t nb_events, uint64_t timeout_ticks)     \
+	{                                                                      \
+		RTE_SET_USED(nb_events);                                       \
+		return fn(port, ev, timeout_ticks);                            \
+	}
+
 static __rte_always_inline struct cn10k_eth_txq *
 cn10k_sso_hws_xtract_meta(struct rte_mbuf *m,
 			  const uint64_t txq_data[][RTE_MAX_QUEUES_PER_PORT])
diff --git a/drivers/event/cnxk/cn10k_worker_deq.c b/drivers/event/cnxk/cn10k_worker_deq.c
deleted file mode 100644
index 6083f69ffb..0000000000
--- a/drivers/event/cnxk/cn10k_worker_deq.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn10k_sso_hws_deq_##name(                           \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn10k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);  \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_seg_##name(                       \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn10k_sso_hws_get_work(                                 \
-			ws, ev, flags | NIX_RX_MULTI_SEG_F, ws->lookup_mem);   \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn10k_worker_deq_burst.c b/drivers/event/cnxk/cn10k_worker_deq_burst.c
deleted file mode 100644
index 8539d5d2ed..0000000000
--- a/drivers/event/cnxk/cn10k_worker_deq_burst.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_burst_##name(                     \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_##name(port, ev, timeout_ticks);      \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_seg_burst_##name(                 \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_seg_##name(port, ev, timeout_ticks);  \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn10k_worker_deq_ca.c b/drivers/event/cnxk/cn10k_worker_deq_ca.c
deleted file mode 100644
index 15c698edf8..0000000000
--- a/drivers/event/cnxk/cn10k_worker_deq_ca.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_hot cn10k_sso_hws_deq_ca_##name(                        \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn10k_sso_hws_get_work(ws, ev, flags | CPT_RX_WQE_F,    \
-					      ws->lookup_mem);                 \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_ca_burst_##name(                  \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_ca_##name(port, ev, timeout_ticks);   \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_ca_seg_##name(                    \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-									       \
-		RTE_SET_USED(timeout_ticks);                                   \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return 1;                                              \
-		}                                                              \
-									       \
-		return cn10k_sso_hws_get_work(                                 \
-			ws, ev, flags | NIX_RX_MULTI_SEG_F | CPT_RX_WQE_F,     \
-			ws->lookup_mem);                                       \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_ca_seg_burst_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_ca_seg_##name(port, ev,               \
-						       timeout_ticks);         \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/cn10k_worker_deq_tmo.c b/drivers/event/cnxk/cn10k_worker_deq_tmo.c
deleted file mode 100644
index 537ae37170..0000000000
--- a/drivers/event/cnxk/cn10k_worker_deq_tmo.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-#include "cnxk_eventdev.h"
-#include "cnxk_worker.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_##name(                       \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn10k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);   \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
-			ret = cn10k_sso_hws_get_work(ws, ev, flags,            \
-						     ws->lookup_mem);          \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_burst_##name(                 \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_tmo_##name(port, ev, timeout_ticks);  \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_seg_##name(                   \
-		void *port, struct rte_event *ev, uint64_t timeout_ticks)      \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-		uint16_t ret = 1;                                              \
-		uint64_t iter;                                                 \
-									       \
-		if (ws->swtag_req) {                                           \
-			ws->swtag_req = 0;                                     \
-			cnxk_sso_hws_swtag_wait(ws->base + SSOW_LF_GWS_WQE0);  \
-			return ret;                                            \
-		}                                                              \
-									       \
-		ret = cn10k_sso_hws_get_work(ws, ev, flags, ws->lookup_mem);   \
-		for (iter = 1; iter < timeout_ticks && (ret == 0); iter++)     \
-			ret = cn10k_sso_hws_get_work(ws, ev, flags,            \
-						     ws->lookup_mem);          \
-									       \
-		return ret;                                                    \
-	}                                                                      \
-									       \
-	uint16_t __rte_hot cn10k_sso_hws_deq_tmo_seg_burst_##name(             \
-		void *port, struct rte_event ev[], uint16_t nb_events,         \
-		uint64_t timeout_ticks)                                        \
-	{                                                                      \
-		RTE_SET_USED(nb_events);                                       \
-									       \
-		return cn10k_sso_hws_deq_tmo_seg_##name(port, ev,              \
-							timeout_ticks);        \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
index c39515dadc..ac452fe451 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -13,10 +13,6 @@ sources = files(
         'cn9k_worker.c',
         'cn10k_eventdev.c',
         'cn10k_worker.c',
-        'cn10k_worker_deq.c',
-        'cn10k_worker_deq_burst.c',
-        'cn10k_worker_deq_ca.c',
-        'cn10k_worker_deq_tmo.c',
         'cn10k_worker_tx_enq.c',
         'cn10k_worker_tx_enq_seg.c',
         'cnxk_eventdev.c',
@@ -327,6 +323,137 @@ sources += files(
         'tx/cn9k/tx_112_127_dual_seg.c',
 )
 
+sources += files(
+        'deq/cn10k/deq_0_15_burst.c',
+        'deq/cn10k/deq_16_31_burst.c',
+        'deq/cn10k/deq_32_47_burst.c',
+        'deq/cn10k/deq_48_63_burst.c',
+        'deq/cn10k/deq_64_79_burst.c',
+        'deq/cn10k/deq_80_95_burst.c',
+        'deq/cn10k/deq_96_111_burst.c',
+        'deq/cn10k/deq_112_127_burst.c',
+        'deq/cn10k/deq_0_15_seg_burst.c',
+        'deq/cn10k/deq_16_31_seg_burst.c',
+        'deq/cn10k/deq_32_47_seg_burst.c',
+        'deq/cn10k/deq_48_63_seg_burst.c',
+        'deq/cn10k/deq_64_79_seg_burst.c',
+        'deq/cn10k/deq_80_95_seg_burst.c',
+        'deq/cn10k/deq_96_111_seg_burst.c',
+        'deq/cn10k/deq_112_127_seg_burst.c',
+        'deq/cn10k/deq_0_15.c',
+        'deq/cn10k/deq_16_31.c',
+        'deq/cn10k/deq_32_47.c',
+        'deq/cn10k/deq_48_63.c',
+        'deq/cn10k/deq_64_79.c',
+        'deq/cn10k/deq_80_95.c',
+        'deq/cn10k/deq_96_111.c',
+        'deq/cn10k/deq_112_127.c',
+        'deq/cn10k/deq_0_15_seg.c',
+        'deq/cn10k/deq_16_31_seg.c',
+        'deq/cn10k/deq_32_47_seg.c',
+        'deq/cn10k/deq_48_63_seg.c',
+        'deq/cn10k/deq_64_79_seg.c',
+        'deq/cn10k/deq_80_95_seg.c',
+        'deq/cn10k/deq_96_111_seg.c',
+        'deq/cn10k/deq_112_127_seg.c',
+        'deq/cn10k/deq_0_15_tmo.c',
+        'deq/cn10k/deq_16_31_tmo.c',
+        'deq/cn10k/deq_32_47_tmo.c',
+        'deq/cn10k/deq_48_63_tmo.c',
+        'deq/cn10k/deq_64_79_tmo.c',
+        'deq/cn10k/deq_80_95_tmo.c',
+        'deq/cn10k/deq_96_111_tmo.c',
+        'deq/cn10k/deq_112_127_tmo.c',
+        'deq/cn10k/deq_0_15_tmo_burst.c',
+        'deq/cn10k/deq_16_31_tmo_burst.c',
+        'deq/cn10k/deq_32_47_tmo_burst.c',
+        'deq/cn10k/deq_48_63_tmo_burst.c',
+        'deq/cn10k/deq_64_79_tmo_burst.c',
+        'deq/cn10k/deq_80_95_tmo_burst.c',
+        'deq/cn10k/deq_96_111_tmo_burst.c',
+        'deq/cn10k/deq_112_127_tmo_burst.c',
+        'deq/cn10k/deq_0_15_tmo_seg.c',
+        'deq/cn10k/deq_16_31_tmo_seg.c',
+        'deq/cn10k/deq_32_47_tmo_seg.c',
+        'deq/cn10k/deq_48_63_tmo_seg.c',
+        'deq/cn10k/deq_64_79_tmo_seg.c',
+        'deq/cn10k/deq_80_95_tmo_seg.c',
+        'deq/cn10k/deq_96_111_tmo_seg.c',
+        'deq/cn10k/deq_112_127_tmo_seg.c',
+        'deq/cn10k/deq_0_15_tmo_seg_burst.c',
+        'deq/cn10k/deq_16_31_tmo_seg_burst.c',
+        'deq/cn10k/deq_32_47_tmo_seg_burst.c',
+        'deq/cn10k/deq_48_63_tmo_seg_burst.c',
+        'deq/cn10k/deq_64_79_tmo_seg_burst.c',
+        'deq/cn10k/deq_80_95_tmo_seg_burst.c',
+        'deq/cn10k/deq_96_111_tmo_seg_burst.c',
+        'deq/cn10k/deq_112_127_tmo_seg_burst.c',
+        'deq/cn10k/deq_0_15_ca.c',
+        'deq/cn10k/deq_16_31_ca.c',
+        'deq/cn10k/deq_32_47_ca.c',
+        'deq/cn10k/deq_48_63_ca.c',
+        'deq/cn10k/deq_64_79_ca.c',
+        'deq/cn10k/deq_80_95_ca.c',
+        'deq/cn10k/deq_96_111_ca.c',
+        'deq/cn10k/deq_112_127_ca.c',
+        'deq/cn10k/deq_0_15_ca_burst.c',
+        'deq/cn10k/deq_16_31_ca_burst.c',
+        'deq/cn10k/deq_32_47_ca_burst.c',
+        'deq/cn10k/deq_48_63_ca_burst.c',
+        'deq/cn10k/deq_64_79_ca_burst.c',
+        'deq/cn10k/deq_80_95_ca_burst.c',
+        'deq/cn10k/deq_96_111_ca_burst.c',
+        'deq/cn10k/deq_112_127_ca_burst.c',
+        'deq/cn10k/deq_0_15_ca_seg.c',
+        'deq/cn10k/deq_16_31_ca_seg.c',
+        'deq/cn10k/deq_32_47_ca_seg.c',
+        'deq/cn10k/deq_48_63_ca_seg.c',
+        'deq/cn10k/deq_64_79_ca_seg.c',
+        'deq/cn10k/deq_80_95_ca_seg.c',
+        'deq/cn10k/deq_96_111_ca_seg.c',
+        'deq/cn10k/deq_112_127_ca_seg.c',
+        'deq/cn10k/deq_0_15_ca_seg_burst.c',
+        'deq/cn10k/deq_16_31_ca_seg_burst.c',
+        'deq/cn10k/deq_32_47_ca_seg_burst.c',
+        'deq/cn10k/deq_48_63_ca_seg_burst.c',
+        'deq/cn10k/deq_64_79_ca_seg_burst.c',
+        'deq/cn10k/deq_80_95_ca_seg_burst.c',
+        'deq/cn10k/deq_96_111_ca_seg_burst.c',
+        'deq/cn10k/deq_112_127_ca_seg_burst.c',
+        'deq/cn10k/deq_0_15_ca_tmo.c',
+        'deq/cn10k/deq_16_31_ca_tmo.c',
+        'deq/cn10k/deq_32_47_ca_tmo.c',
+        'deq/cn10k/deq_48_63_ca_tmo.c',
+        'deq/cn10k/deq_64_79_ca_tmo.c',
+        'deq/cn10k/deq_80_95_ca_tmo.c',
+        'deq/cn10k/deq_96_111_ca_tmo.c',
+        'deq/cn10k/deq_112_127_ca_tmo.c',
+        'deq/cn10k/deq_0_15_ca_tmo_burst.c',
+        'deq/cn10k/deq_16_31_ca_tmo_burst.c',
+        'deq/cn10k/deq_32_47_ca_tmo_burst.c',
+        'deq/cn10k/deq_48_63_ca_tmo_burst.c',
+        'deq/cn10k/deq_64_79_ca_tmo_burst.c',
+        'deq/cn10k/deq_80_95_ca_tmo_burst.c',
+        'deq/cn10k/deq_96_111_ca_tmo_burst.c',
+        'deq/cn10k/deq_112_127_ca_tmo_burst.c',
+        'deq/cn10k/deq_0_15_ca_tmo_seg.c',
+        'deq/cn10k/deq_16_31_ca_tmo_seg.c',
+        'deq/cn10k/deq_32_47_ca_tmo_seg.c',
+        'deq/cn10k/deq_48_63_ca_tmo_seg.c',
+        'deq/cn10k/deq_64_79_ca_tmo_seg.c',
+        'deq/cn10k/deq_80_95_ca_tmo_seg.c',
+        'deq/cn10k/deq_96_111_ca_tmo_seg.c',
+        'deq/cn10k/deq_112_127_ca_tmo_seg.c',
+        'deq/cn10k/deq_0_15_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_16_31_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_32_47_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_48_63_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_64_79_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_80_95_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_96_111_ca_tmo_seg_burst.c',
+        'deq/cn10k/deq_112_127_ca_tmo_seg_burst.c',
+)
+
 extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
 foreach flag: extra_flags
     if cc.has_argument(flag)
diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h
index fe408907a6..a2442d3726 100644
--- a/drivers/net/cnxk/cn10k_rx.h
+++ b/drivers/net/cnxk/cn10k_rx.h
@@ -17,6 +17,7 @@
 #define NIX_RX_OFFLOAD_TSTAMP_F	     BIT(4)
 #define NIX_RX_OFFLOAD_VLAN_STRIP_F  BIT(5)
 #define NIX_RX_OFFLOAD_SECURITY_F    BIT(6)
+#define NIX_RX_OFFLOAD_MAX	     (NIX_RX_OFFLOAD_SECURITY_F << 1)
 
 /* Flags to control cqe_to_mbuf conversion function.
  * Defining it from backwards to denote its been
@@ -987,278 +988,214 @@ cn10k_nix_recv_pkts_vector(void *args, struct rte_mbuf **mbufs, uint16_t pkts,
 #define R_SEC_F   NIX_RX_OFFLOAD_SECURITY_F
 
 /* [R_SEC_F] [RX_VLAN_F] [TS] [MARK] [CKSUM] [PTYPE] [RSS] */
-#define NIX_RX_FASTPATH_MODES						       \
-R(no_offload,			0, 0, 0, 0, 0, 0, 0,			       \
-		NIX_RX_OFFLOAD_NONE)					       \
-R(rss,				0, 0, 0, 0, 0, 0, 1,			       \
-		RSS_F)							       \
-R(ptype,			0, 0, 0, 0, 0, 1, 0,			       \
-		PTYPE_F)						       \
-R(ptype_rss,			0, 0, 0, 0, 0, 1, 1,			       \
-		PTYPE_F | RSS_F)					       \
-R(cksum,			0, 0, 0, 0, 1, 0, 0,			       \
-		CKSUM_F)						       \
-R(cksum_rss,			0, 0, 0, 0, 1, 0, 1,			       \
-		CKSUM_F | RSS_F)					       \
-R(cksum_ptype,			0, 0, 0, 0, 1, 1, 0,			       \
-		CKSUM_F | PTYPE_F)					       \
-R(cksum_ptype_rss,		0, 0, 0, 0, 1, 1, 1,			       \
-		CKSUM_F | PTYPE_F | RSS_F)				       \
-R(mark,				0, 0, 0, 1, 0, 0, 0,			       \
-		MARK_F)							       \
-R(mark_rss,			0, 0, 0, 1, 0, 0, 1,			       \
-		MARK_F | RSS_F)						       \
-R(mark_ptype,			0, 0, 0, 1, 0, 1, 0,			       \
-		MARK_F | PTYPE_F)					       \
-R(mark_ptype_rss,		0, 0, 0, 1, 0, 1, 1,			       \
-		MARK_F | PTYPE_F | RSS_F)				       \
-R(mark_cksum,			0, 0, 0, 1, 1, 0, 0,			       \
-		MARK_F | CKSUM_F)					       \
-R(mark_cksum_rss,		0, 0, 0, 1, 1, 0, 1,			       \
-		MARK_F | CKSUM_F | RSS_F)				       \
-R(mark_cksum_ptype,		0, 0, 0, 1, 1, 1, 0,			       \
-		MARK_F | CKSUM_F | PTYPE_F)				       \
-R(mark_cksum_ptype_rss,		0, 0, 0, 1, 1, 1, 1,			       \
-		MARK_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(ts,				0, 0, 1, 0, 0, 0, 0,			       \
-		TS_F)							       \
-R(ts_rss,			0, 0, 1, 0, 0, 0, 1,			       \
-		TS_F | RSS_F)						       \
-R(ts_ptype,			0, 0, 1, 0, 0, 1, 0,			       \
-		TS_F | PTYPE_F)						       \
-R(ts_ptype_rss,			0, 0, 1, 0, 0, 1, 1,			       \
-		TS_F | PTYPE_F | RSS_F)					       \
-R(ts_cksum,			0, 0, 1, 0, 1, 0, 0,			       \
-		TS_F | CKSUM_F)						       \
-R(ts_cksum_rss,			0, 0, 1, 0, 1, 0, 1,			       \
-		TS_F | CKSUM_F | RSS_F)					       \
-R(ts_cksum_ptype,		0, 0, 1, 0, 1, 1, 0,			       \
-		TS_F | CKSUM_F | PTYPE_F)				       \
-R(ts_cksum_ptype_rss,		0, 0, 1, 0, 1, 1, 1,			       \
-		TS_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(ts_mark,			0, 0, 1, 1, 0, 0, 0,			       \
-		TS_F | MARK_F)						       \
-R(ts_mark_rss,			0, 0, 1, 1, 0, 0, 1,			       \
-		TS_F | MARK_F | RSS_F)					       \
-R(ts_mark_ptype,		0, 0, 1, 1, 0, 1, 0,			       \
-		TS_F | MARK_F | PTYPE_F)				       \
-R(ts_mark_ptype_rss,		0, 0, 1, 1, 0, 1, 1,			       \
-		TS_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(ts_mark_cksum,		0, 0, 1, 1, 1, 0, 0,			       \
-		TS_F | MARK_F | CKSUM_F)				       \
-R(ts_mark_cksum_rss,		0, 0, 1, 1, 1, 0, 1,			       \
-		TS_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(ts_mark_cksum_ptype,		0, 0, 1, 1, 1, 1, 0,			       \
-		TS_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(ts_mark_cksum_ptype_rss,	0, 0, 1, 1, 1, 1, 1,			       \
-		TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan,				0, 1, 0, 0, 0, 0, 0,			       \
-		RX_VLAN_F)						       \
-R(vlan_rss,			0, 1, 0, 0, 0, 0, 1,			       \
-		RX_VLAN_F | RSS_F)					       \
-R(vlan_ptype,			0, 1, 0, 0, 0, 1, 0,			       \
-		RX_VLAN_F | PTYPE_F)					       \
-R(vlan_ptype_rss,		0, 1, 0, 0, 0, 1, 1,			       \
-		RX_VLAN_F | PTYPE_F | RSS_F)				       \
-R(vlan_cksum,			0, 1, 0, 0, 1, 0, 0,			       \
-		RX_VLAN_F | CKSUM_F)					       \
-R(vlan_cksum_rss,		0, 1, 0, 0, 1, 0, 1,			       \
-		RX_VLAN_F | CKSUM_F | RSS_F)				       \
-R(vlan_cksum_ptype,		0, 1, 0, 0, 1, 1, 0,			       \
-		RX_VLAN_F | CKSUM_F | PTYPE_F)				       \
-R(vlan_cksum_ptype_rss,		0, 1, 0, 0, 1, 1, 1,			       \
-		RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(vlan_mark,			0, 1, 0, 1, 0, 0, 0,			       \
-		RX_VLAN_F | MARK_F)					       \
-R(vlan_mark_rss,		0, 1, 0, 1, 0, 0, 1,			       \
-		RX_VLAN_F | MARK_F | RSS_F)				       \
-R(vlan_mark_ptype,		0, 1, 0, 1, 0, 1, 0,			       \
-		RX_VLAN_F | MARK_F | PTYPE_F)				       \
-R(vlan_mark_ptype_rss,		0, 1, 0, 1, 0, 1, 1,			       \
-		RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(vlan_mark_cksum,		0, 1, 0, 1, 1, 0, 0,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F)				       \
-R(vlan_mark_cksum_rss,		0, 1, 0, 1, 1, 0, 1,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(vlan_mark_cksum_ptype,	0, 1, 0, 1, 1, 1, 0,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(vlan_mark_cksum_ptype_rss,	0, 1, 0, 1, 1, 1, 1,			       \
-		RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts,			0, 1, 1, 0, 0, 0, 0,			       \
-		RX_VLAN_F | TS_F)					       \
-R(vlan_ts_rss,			0, 1, 1, 0, 0, 0, 1,			       \
-		RX_VLAN_F | TS_F | RSS_F)				       \
-R(vlan_ts_ptype,		0, 1, 1, 0, 0, 1, 0,			       \
-		RX_VLAN_F | TS_F | PTYPE_F)				       \
-R(vlan_ts_ptype_rss,		0, 1, 1, 0, 0, 1, 1,			       \
-		RX_VLAN_F | TS_F | PTYPE_F | RSS_F)			       \
-R(vlan_ts_cksum,		0, 1, 1, 0, 1, 0, 0,			       \
-		RX_VLAN_F | TS_F | CKSUM_F)				       \
-R(vlan_ts_cksum_rss,		0, 1, 1, 0, 1, 0, 1,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | RSS_F)			       \
-R(vlan_ts_cksum_ptype,		0, 1, 1, 0, 1, 1, 0,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)			       \
-R(vlan_ts_cksum_ptype_rss,	0, 1, 1, 0, 1, 1, 1,			       \
-		RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts_mark,			0, 1, 1, 1, 0, 0, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F)				       \
-R(vlan_ts_mark_rss,		0, 1, 1, 1, 0, 0, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | RSS_F)			       \
-R(vlan_ts_mark_ptype,		0, 1, 1, 1, 0, 1, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | PTYPE_F)			       \
-R(vlan_ts_mark_ptype_rss,	0, 1, 1, 1, 0, 1, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(vlan_ts_mark_cksum,		0, 1, 1, 1, 1, 0, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F)			       \
-R(vlan_ts_mark_cksum_rss,	0, 1, 1, 1, 1, 0, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(vlan_ts_mark_cksum_ptype,	0, 1, 1, 1, 1, 1, 0,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)		       \
-R(vlan_ts_mark_cksum_ptype_rss,	0, 1, 1, 1, 1, 1, 1,			       \
-		RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec,				1, 0, 0, 0, 0, 0, 0,			       \
-		R_SEC_F)						       \
-R(sec_rss,			1, 0, 0, 0, 0, 0, 1,			       \
-		RSS_F)							       \
-R(sec_ptype,			1, 0, 0, 0, 0, 1, 0,			       \
-		R_SEC_F | PTYPE_F)					       \
-R(sec_ptype_rss,		1, 0, 0, 0, 0, 1, 1,			       \
-		R_SEC_F | PTYPE_F | RSS_F)				       \
-R(sec_cksum,			1, 0, 0, 0, 1, 0, 0,			       \
-		R_SEC_F | CKSUM_F)					       \
-R(sec_cksum_rss,		1, 0, 0, 0, 1, 0, 1,			       \
-		R_SEC_F | CKSUM_F | RSS_F)				       \
-R(sec_cksum_ptype,		1, 0, 0, 0, 1, 1, 0,			       \
-		R_SEC_F | CKSUM_F | PTYPE_F)				       \
-R(sec_cksum_ptype_rss,		1, 0, 0, 0, 1, 1, 1,			       \
-		R_SEC_F | CKSUM_F | PTYPE_F | RSS_F)			       \
-R(sec_mark,			1, 0, 0, 1, 0, 0, 0,			       \
-		R_SEC_F | MARK_F)					       \
-R(sec_mark_rss,			1, 0, 0, 1, 0, 0, 1,			       \
-		R_SEC_F | MARK_F | RSS_F)				       \
-R(sec_mark_ptype,		1, 0, 0, 1, 0, 1, 0,			       \
-		R_SEC_F | MARK_F | PTYPE_F)				       \
-R(sec_mark_ptype_rss,		1, 0, 0, 1, 0, 1, 1,			       \
-		R_SEC_F | MARK_F | PTYPE_F | RSS_F)			       \
-R(sec_mark_cksum,		1, 0, 0, 1, 1, 0, 0,			       \
-		R_SEC_F | MARK_F | CKSUM_F)				       \
-R(sec_mark_cksum_rss,		1, 0, 0, 1, 1, 0, 1,			       \
-		R_SEC_F | MARK_F | CKSUM_F | RSS_F)			       \
-R(sec_mark_cksum_ptype,		1, 0, 0, 1, 1, 1, 0,			       \
-		R_SEC_F | MARK_F | CKSUM_F | PTYPE_F)			       \
-R(sec_mark_cksum_ptype_rss,	1, 0, 0, 1, 1, 1, 1,			       \
-		R_SEC_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(sec_ts,			1, 0, 1, 0, 0, 0, 0,			       \
-		R_SEC_F | TS_F)						       \
-R(sec_ts_rss,			1, 0, 1, 0, 0, 0, 1,			       \
-		R_SEC_F | TS_F | RSS_F)					       \
-R(sec_ts_ptype,			1, 0, 1, 0, 0, 1, 0,			       \
-		R_SEC_F | TS_F | PTYPE_F)				       \
-R(sec_ts_ptype_rss,		1, 0, 1, 0, 0, 1, 1,			       \
-		R_SEC_F | TS_F | PTYPE_F | RSS_F)			       \
-R(sec_ts_cksum,			1, 0, 1, 0, 1, 0, 0,			       \
-		R_SEC_F | TS_F | CKSUM_F)				       \
-R(sec_ts_cksum_rss,		1, 0, 1, 0, 1, 0, 1,			       \
-		R_SEC_F | TS_F | CKSUM_F | RSS_F)			       \
-R(sec_ts_cksum_ptype,		1, 0, 1, 0, 1, 1, 0,			       \
-		R_SEC_F | TS_F | CKSUM_F | PTYPE_F)			       \
-R(sec_ts_cksum_ptype_rss,	1, 0, 1, 0, 1, 1, 1,			       \
-		R_SEC_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)		       \
-R(sec_ts_mark,			1, 0, 1, 1, 0, 0, 0,			       \
-		R_SEC_F | TS_F | MARK_F)				       \
-R(sec_ts_mark_rss,		1, 0, 1, 1, 0, 0, 1,			       \
-		R_SEC_F | TS_F | MARK_F | RSS_F)			       \
-R(sec_ts_mark_ptype,		1, 0, 1, 1, 0, 1, 0,			       \
-		R_SEC_F | TS_F | MARK_F | PTYPE_F)			       \
-R(sec_ts_mark_ptype_rss,	1, 0, 1, 1, 0, 1, 1,			       \
-		R_SEC_F | TS_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(sec_ts_mark_cksum,		1, 0, 1, 1, 1, 0, 0,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F)			       \
-R(sec_ts_mark_cksum_rss,	1, 0, 1, 1, 1, 0, 1,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(sec_ts_mark_cksum_ptype,	1, 0, 1, 1, 1, 1, 0,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)		       \
-R(sec_ts_mark_cksum_ptype_rss,	1, 0, 1, 1, 1, 1, 1,			       \
-		R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan,			1, 1, 0, 0, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F)					       \
-R(sec_vlan_rss,			1, 1, 0, 0, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | RSS_F)				       \
-R(sec_vlan_ptype,		1, 1, 0, 0, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | PTYPE_F)				       \
-R(sec_vlan_ptype_rss,		1, 1, 0, 0, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | PTYPE_F | RSS_F)			       \
-R(sec_vlan_cksum,		1, 1, 0, 0, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F)				       \
-R(sec_vlan_cksum_rss,		1, 1, 0, 0, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | RSS_F)			       \
-R(sec_vlan_cksum_ptype,		1, 1, 0, 0, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F)		       \
-R(sec_vlan_cksum_ptype_rss,	1, 1, 0, 0, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_mark,		1, 1, 0, 1, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F)				       \
-R(sec_vlan_mark_rss,		1, 1, 0, 1, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | RSS_F)			       \
-R(sec_vlan_mark_ptype,		1, 1, 0, 1, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F)			       \
-R(sec_vlan_mark_ptype_rss,	1, 1, 0, 1, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)		       \
-R(sec_vlan_mark_cksum,		1, 1, 0, 1, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F)			       \
-R(sec_vlan_mark_cksum_rss,	1, 1, 0, 1, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)		       \
-R(sec_vlan_mark_cksum_ptype,	1, 1, 0, 1, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)	       \
-R(sec_vlan_mark_cksum_ptype_rss, 1, 1, 0, 1, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)      \
-R(sec_vlan_ts,			1, 1, 1, 0, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F)				       \
-R(sec_vlan_ts_rss,		1, 1, 1, 0, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | RSS_F)			       \
-R(sec_vlan_ts_ptype,		1, 1, 1, 0, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F)			       \
-R(sec_vlan_ts_ptype_rss,	1, 1, 1, 0, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F | RSS_F)		       \
-R(sec_vlan_ts_cksum,		1, 1, 1, 0, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F)			       \
-R(sec_vlan_ts_cksum_rss,	1, 1, 1, 0, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | RSS_F)		       \
-R(sec_vlan_ts_cksum_ptype,	1, 1, 1, 0, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)		       \
-R(sec_vlan_ts_cksum_ptype_rss,	1, 1, 1, 0, 1, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_ts_mark,		1, 1, 1, 1, 0, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F)			       \
-R(sec_vlan_ts_mark_rss,		1, 1, 1, 1, 0, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | RSS_F)		       \
-R(sec_vlan_ts_mark_ptype,	1, 1, 1, 1, 0, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F)		       \
-R(sec_vlan_ts_mark_ptype_rss,	1, 1, 1, 1, 0, 1, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)	       \
-R(sec_vlan_ts_mark_cksum,	1, 1, 1, 1, 1, 0, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F)		       \
-R(sec_vlan_ts_mark_cksum_rss,	1, 1, 1, 1, 1, 0, 1,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)	       \
-R(sec_vlan_ts_mark_cksum_ptype,	1, 1, 1, 1, 1, 1, 0,			       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)       \
-R(sec_vlan_ts_mark_cksum_ptype_rss,	1, 1, 1, 1, 1, 1, 1,		       \
-		R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
+#define NIX_RX_FASTPATH_MODES_0_15                                             \
+	R(no_offload, NIX_RX_OFFLOAD_NONE)                                     \
+	R(rss, RSS_F)                                                          \
+	R(ptype, PTYPE_F)                                                      \
+	R(ptype_rss, PTYPE_F | RSS_F)                                          \
+	R(cksum, CKSUM_F)                                                      \
+	R(cksum_rss, CKSUM_F | RSS_F)                                          \
+	R(cksum_ptype, CKSUM_F | PTYPE_F)                                      \
+	R(cksum_ptype_rss, CKSUM_F | PTYPE_F | RSS_F)                          \
+	R(mark, MARK_F)                                                        \
+	R(mark_rss, MARK_F | RSS_F)                                            \
+	R(mark_ptype, MARK_F | PTYPE_F)                                        \
+	R(mark_ptype_rss, MARK_F | PTYPE_F | RSS_F)                            \
+	R(mark_cksum, MARK_F | CKSUM_F)                                        \
+	R(mark_cksum_rss, MARK_F | CKSUM_F | RSS_F)                            \
+	R(mark_cksum_ptype, MARK_F | CKSUM_F | PTYPE_F)                        \
+	R(mark_cksum_ptype_rss, MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_16_31                                            \
+	R(ts, TS_F)                                                            \
+	R(ts_rss, TS_F | RSS_F)                                                \
+	R(ts_ptype, TS_F | PTYPE_F)                                            \
+	R(ts_ptype_rss, TS_F | PTYPE_F | RSS_F)                                \
+	R(ts_cksum, TS_F | CKSUM_F)                                            \
+	R(ts_cksum_rss, TS_F | CKSUM_F | RSS_F)                                \
+	R(ts_cksum_ptype, TS_F | CKSUM_F | PTYPE_F)                            \
+	R(ts_cksum_ptype_rss, TS_F | CKSUM_F | PTYPE_F | RSS_F)                \
+	R(ts_mark, TS_F | MARK_F)                                              \
+	R(ts_mark_rss, TS_F | MARK_F | RSS_F)                                  \
+	R(ts_mark_ptype, TS_F | MARK_F | PTYPE_F)                              \
+	R(ts_mark_ptype_rss, TS_F | MARK_F | PTYPE_F | RSS_F)                  \
+	R(ts_mark_cksum, TS_F | MARK_F | CKSUM_F)                              \
+	R(ts_mark_cksum_rss, TS_F | MARK_F | CKSUM_F | RSS_F)                  \
+	R(ts_mark_cksum_ptype, TS_F | MARK_F | CKSUM_F | PTYPE_F)              \
+	R(ts_mark_cksum_ptype_rss, TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_32_47                                            \
+	R(vlan, RX_VLAN_F)                                                     \
+	R(vlan_rss, RX_VLAN_F | RSS_F)                                         \
+	R(vlan_ptype, RX_VLAN_F | PTYPE_F)                                     \
+	R(vlan_ptype_rss, RX_VLAN_F | PTYPE_F | RSS_F)                         \
+	R(vlan_cksum, RX_VLAN_F | CKSUM_F)                                     \
+	R(vlan_cksum_rss, RX_VLAN_F | CKSUM_F | RSS_F)                         \
+	R(vlan_cksum_ptype, RX_VLAN_F | CKSUM_F | PTYPE_F)                     \
+	R(vlan_cksum_ptype_rss, RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)         \
+	R(vlan_mark, RX_VLAN_F | MARK_F)                                       \
+	R(vlan_mark_rss, RX_VLAN_F | MARK_F | RSS_F)                           \
+	R(vlan_mark_ptype, RX_VLAN_F | MARK_F | PTYPE_F)                       \
+	R(vlan_mark_ptype_rss, RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)           \
+	R(vlan_mark_cksum, RX_VLAN_F | MARK_F | CKSUM_F)                       \
+	R(vlan_mark_cksum_rss, RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)           \
+	R(vlan_mark_cksum_ptype, RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)       \
+	R(vlan_mark_cksum_ptype_rss,                                           \
+	  RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_48_63                                            \
+	R(vlan_ts, RX_VLAN_F | TS_F)                                           \
+	R(vlan_ts_rss, RX_VLAN_F | TS_F | RSS_F)                               \
+	R(vlan_ts_ptype, RX_VLAN_F | TS_F | PTYPE_F)                           \
+	R(vlan_ts_ptype_rss, RX_VLAN_F | TS_F | PTYPE_F | RSS_F)               \
+	R(vlan_ts_cksum, RX_VLAN_F | TS_F | CKSUM_F)                           \
+	R(vlan_ts_cksum_rss, RX_VLAN_F | TS_F | CKSUM_F | RSS_F)               \
+	R(vlan_ts_cksum_ptype, RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)           \
+	R(vlan_ts_cksum_ptype_rss,                                             \
+	  RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)                        \
+	R(vlan_ts_mark, RX_VLAN_F | TS_F | MARK_F)                             \
+	R(vlan_ts_mark_rss, RX_VLAN_F | TS_F | MARK_F | RSS_F)                 \
+	R(vlan_ts_mark_ptype, RX_VLAN_F | TS_F | MARK_F | PTYPE_F)             \
+	R(vlan_ts_mark_ptype_rss, RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F) \
+	R(vlan_ts_mark_cksum, RX_VLAN_F | TS_F | MARK_F | CKSUM_F)             \
+	R(vlan_ts_mark_cksum_rss, RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F) \
+	R(vlan_ts_mark_cksum_ptype,                                            \
+	  RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)                       \
+	R(vlan_ts_mark_cksum_ptype_rss,                                        \
+	  RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_64_79                                            \
+	R(sec, R_SEC_F)                                                        \
+	R(sec_rss, R_SEC_F | RSS_F)                                            \
+	R(sec_ptype, R_SEC_F | PTYPE_F)                                        \
+	R(sec_ptype_rss, R_SEC_F | PTYPE_F | RSS_F)                            \
+	R(sec_cksum, R_SEC_F | CKSUM_F)                                        \
+	R(sec_cksum_rss, R_SEC_F | CKSUM_F | RSS_F)                            \
+	R(sec_cksum_ptype, R_SEC_F | CKSUM_F | PTYPE_F)                        \
+	R(sec_cksum_ptype_rss, R_SEC_F | CKSUM_F | PTYPE_F | RSS_F)            \
+	R(sec_mark, R_SEC_F | MARK_F)                                          \
+	R(sec_mark_rss, R_SEC_F | MARK_F | RSS_F)                              \
+	R(sec_mark_ptype, R_SEC_F | MARK_F | PTYPE_F)                          \
+	R(sec_mark_ptype_rss, R_SEC_F | MARK_F | PTYPE_F | RSS_F)              \
+	R(sec_mark_cksum, R_SEC_F | MARK_F | CKSUM_F)                          \
+	R(sec_mark_cksum_rss, R_SEC_F | MARK_F | CKSUM_F | RSS_F)              \
+	R(sec_mark_cksum_ptype, R_SEC_F | MARK_F | CKSUM_F | PTYPE_F)          \
+	R(sec_mark_cksum_ptype_rss,                                            \
+	  R_SEC_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_80_95                                            \
+	R(sec_ts, R_SEC_F | TS_F)                                              \
+	R(sec_ts_rss, R_SEC_F | TS_F | RSS_F)                                  \
+	R(sec_ts_ptype, R_SEC_F | TS_F | PTYPE_F)                              \
+	R(sec_ts_ptype_rss, R_SEC_F | TS_F | PTYPE_F | RSS_F)                  \
+	R(sec_ts_cksum, R_SEC_F | TS_F | CKSUM_F)                              \
+	R(sec_ts_cksum_rss, R_SEC_F | TS_F | CKSUM_F | RSS_F)                  \
+	R(sec_ts_cksum_ptype, R_SEC_F | TS_F | CKSUM_F | PTYPE_F)              \
+	R(sec_ts_cksum_ptype_rss, R_SEC_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)  \
+	R(sec_ts_mark, R_SEC_F | TS_F | MARK_F)                                \
+	R(sec_ts_mark_rss, R_SEC_F | TS_F | MARK_F | RSS_F)                    \
+	R(sec_ts_mark_ptype, R_SEC_F | TS_F | MARK_F | PTYPE_F)                \
+	R(sec_ts_mark_ptype_rss, R_SEC_F | TS_F | MARK_F | PTYPE_F | RSS_F)    \
+	R(sec_ts_mark_cksum, R_SEC_F | TS_F | MARK_F | CKSUM_F)                \
+	R(sec_ts_mark_cksum_rss, R_SEC_F | TS_F | MARK_F | CKSUM_F | RSS_F)    \
+	R(sec_ts_mark_cksum_ptype,                                             \
+	  R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)                         \
+	R(sec_ts_mark_cksum_ptype_rss,                                         \
+	  R_SEC_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_96_111                                           \
+	R(sec_vlan, R_SEC_F | RX_VLAN_F)                                       \
+	R(sec_vlan_rss, R_SEC_F | RX_VLAN_F | RSS_F)                           \
+	R(sec_vlan_ptype, R_SEC_F | RX_VLAN_F | PTYPE_F)                       \
+	R(sec_vlan_ptype_rss, R_SEC_F | RX_VLAN_F | PTYPE_F | RSS_F)           \
+	R(sec_vlan_cksum, R_SEC_F | RX_VLAN_F | CKSUM_F)                       \
+	R(sec_vlan_cksum_rss, R_SEC_F | RX_VLAN_F | CKSUM_F | RSS_F)           \
+	R(sec_vlan_cksum_ptype, R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F)       \
+	R(sec_vlan_cksum_ptype_rss,                                            \
+	  R_SEC_F | RX_VLAN_F | CKSUM_F | PTYPE_F | RSS_F)                     \
+	R(sec_vlan_mark, R_SEC_F | RX_VLAN_F | MARK_F)                         \
+	R(sec_vlan_mark_rss, R_SEC_F | RX_VLAN_F | MARK_F | RSS_F)             \
+	R(sec_vlan_mark_ptype, R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F)         \
+	R(sec_vlan_mark_ptype_rss,                                             \
+	  R_SEC_F | RX_VLAN_F | MARK_F | PTYPE_F | RSS_F)                      \
+	R(sec_vlan_mark_cksum, R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F)         \
+	R(sec_vlan_mark_cksum_rss,                                             \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | RSS_F)                      \
+	R(sec_vlan_mark_cksum_ptype,                                           \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F)                    \
+	R(sec_vlan_mark_cksum_ptype_rss,                                       \
+	  R_SEC_F | RX_VLAN_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES_112_127                                          \
+	R(sec_vlan_ts, R_SEC_F | RX_VLAN_F | TS_F)                             \
+	R(sec_vlan_ts_rss, R_SEC_F | RX_VLAN_F | TS_F | RSS_F)                 \
+	R(sec_vlan_ts_ptype, R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F)             \
+	R(sec_vlan_ts_ptype_rss, R_SEC_F | RX_VLAN_F | TS_F | PTYPE_F | RSS_F) \
+	R(sec_vlan_ts_cksum, R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F)             \
+	R(sec_vlan_ts_cksum_rss, R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | RSS_F) \
+	R(sec_vlan_ts_cksum_ptype,                                             \
+	  R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F)                      \
+	R(sec_vlan_ts_cksum_ptype_rss,                                         \
+	  R_SEC_F | RX_VLAN_F | TS_F | CKSUM_F | PTYPE_F | RSS_F)              \
+	R(sec_vlan_ts_mark, R_SEC_F | RX_VLAN_F | TS_F | MARK_F)               \
+	R(sec_vlan_ts_mark_rss, R_SEC_F | RX_VLAN_F | TS_F | MARK_F | RSS_F)   \
+	R(sec_vlan_ts_mark_ptype,                                              \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F)                       \
+	R(sec_vlan_ts_mark_ptype_rss,                                          \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | PTYPE_F | RSS_F)               \
+	R(sec_vlan_ts_mark_cksum,                                              \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F)                       \
+	R(sec_vlan_ts_mark_cksum_rss,                                          \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | RSS_F)               \
+	R(sec_vlan_ts_mark_cksum_ptype,                                        \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F)             \
+	R(sec_vlan_ts_mark_cksum_ptype_rss,                                    \
+	  R_SEC_F | RX_VLAN_F | TS_F | MARK_F | CKSUM_F | PTYPE_F | RSS_F)
+
+#define NIX_RX_FASTPATH_MODES                                                  \
+	NIX_RX_FASTPATH_MODES_0_15                                             \
+	NIX_RX_FASTPATH_MODES_16_31                                            \
+	NIX_RX_FASTPATH_MODES_32_47                                            \
+	NIX_RX_FASTPATH_MODES_48_63                                            \
+	NIX_RX_FASTPATH_MODES_64_79                                            \
+	NIX_RX_FASTPATH_MODES_80_95                                            \
+	NIX_RX_FASTPATH_MODES_96_111                                           \
+	NIX_RX_FASTPATH_MODES_112_127
+
+#define R(name, flags)                                                         \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_##name(          \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_mseg_##name(     \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_vec_##name(      \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_vec_mseg_##name( \
 		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts);
 
 NIX_RX_FASTPATH_MODES
 #undef R
 
+#define NIX_RX_RECV(fn, flags)                                                 \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		return cn10k_nix_recv_pkts(rx_queue, rx_pkts, pkts, (flags));  \
+	}
+
+#define NIX_RX_RECV_MSEG(fn, flags) NIX_RX_RECV(fn, flags | NIX_RX_MULTI_SEG_F)
+
+#define NIX_RX_RECV_VEC(fn, flags)                                             \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		return cn10k_nix_recv_pkts_vector(rx_queue, rx_pkts, pkts,     \
+						  (flags), NULL, NULL, 0);     \
+	}
+
+#define NIX_RX_RECV_VEC_MSEG(fn, flags)                                        \
+	NIX_RX_RECV_VEC(fn, flags | NIX_RX_MULTI_SEG_F)
+
 #endif /* __CN10K_RX_H__ */
diff --git a/drivers/net/cnxk/cn10k_rx_mseg.c b/drivers/net/cnxk/cn10k_rx_mseg.c
deleted file mode 100644
index e7c2321f6e..0000000000
--- a/drivers/net/cnxk/cn10k_rx_mseg.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_mseg_##name(     \
-		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		return cn10k_nix_recv_pkts(rx_queue, rx_pkts, pkts,            \
-					   (flags) | NIX_RX_MULTI_SEG_F);      \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/cn10k_rx_select.c b/drivers/net/cnxk/cn10k_rx_select.c
new file mode 100644
index 0000000000..da9aa81fbb
--- /dev/null
+++ b/drivers/net/cnxk/cn10k_rx_select.c
@@ -0,0 +1,67 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_rx.h"
+
+static inline void
+pick_rx_func(struct rte_eth_dev *eth_dev,
+	     const eth_rx_burst_t rx_burst[NIX_RX_OFFLOAD_MAX])
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	/* [VLAN] [TSP] [MARK] [CKSUM] [PTYPE] [RSS] */
+	eth_dev->rx_pkt_burst =
+		rx_burst[dev->rx_offload_flags & (NIX_RX_OFFLOAD_MAX - 1)];
+
+	rte_atomic_thread_fence(__ATOMIC_RELEASE);
+}
+
+void
+cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev)
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	const eth_rx_burst_t nix_eth_rx_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_nix_recv_pkts_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_burst_mseg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_nix_recv_pkts_mseg_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_vec_burst[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_nix_recv_pkts_vec_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	const eth_rx_burst_t nix_eth_rx_vec_burst_mseg[NIX_RX_OFFLOAD_MAX] = {
+#define R(name, flags) [flags] = cn10k_nix_recv_pkts_vec_mseg_##name,
+
+		NIX_RX_FASTPATH_MODES
+#undef R
+	};
+
+	/* Copy multi seg version with no offload for tear down sequence */
+	if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+		dev->rx_pkt_burst_no_offload = nix_eth_rx_burst_mseg[0];
+
+	if (dev->scalar_ena) {
+		if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
+			return pick_rx_func(eth_dev, nix_eth_rx_burst_mseg);
+		return pick_rx_func(eth_dev, nix_eth_rx_burst);
+	}
+
+	if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
+		return pick_rx_func(eth_dev, nix_eth_rx_vec_burst_mseg);
+	return pick_rx_func(eth_dev, nix_eth_rx_vec_burst);
+}
diff --git a/drivers/net/cnxk/cn10k_rx_vec.c b/drivers/net/cnxk/cn10k_rx_vec.c
deleted file mode 100644
index 0ccc4df8ac..0000000000
--- a/drivers/net/cnxk/cn10k_rx_vec.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)			       \
-	uint16_t __rte_noinline __rte_hot				       \
-		cn10k_nix_recv_pkts_vec_##name(void *rx_queue,                 \
-					       struct rte_mbuf **rx_pkts,      \
-					       uint16_t pkts)                  \
-	{                                                                      \
-		return cn10k_nix_recv_pkts_vector(rx_queue, rx_pkts, pkts,     \
-						  (flags), NULL, NULL, 0);     \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/cn10k_rx_vec_mseg.c b/drivers/net/cnxk/cn10k_rx_vec_mseg.c
deleted file mode 100644
index 38e0ec36a3..0000000000
--- a/drivers/net/cnxk/cn10k_rx_vec_mseg.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_rx.h"
-
-#define R(name, f6, f5, f4, f3, f2, f1, f0, flags)                             \
-	uint16_t __rte_noinline __rte_hot cn10k_nix_recv_pkts_vec_mseg_##name( \
-		void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		return cn10k_nix_recv_pkts_vector(                             \
-			rx_queue, rx_pkts, pkts, (flags) | NIX_RX_MULTI_SEG_F, \
-			NULL, NULL, 0);                                        \
-	}
-
-NIX_RX_FASTPATH_MODES
-#undef R
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index 01bd5442b5..1fd388a1f0 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -107,14 +107,46 @@ sources += files(
         'cn10k_ethdev.c',
         'cn10k_ethdev_sec.c',
         'cn10k_rte_flow.c',
-        'cn10k_rx.c',
-        'cn10k_rx_mseg.c',
-        'cn10k_rx_vec.c',
-        'cn10k_rx_vec_mseg.c',
         'cn10k_tx.c',
         'cn10k_tx_mseg.c',
         'cn10k_tx_vec.c',
         'cn10k_tx_vec_mseg.c',
+        'cn10k_rx_select.c',
+)
+
+sources += files(
+        'rx/cn10k/rx_0_15.c',
+        'rx/cn10k/rx_16_31.c',
+        'rx/cn10k/rx_32_47.c',
+        'rx/cn10k/rx_48_63.c',
+        'rx/cn10k/rx_64_79.c',
+        'rx/cn10k/rx_80_95.c',
+        'rx/cn10k/rx_96_111.c',
+        'rx/cn10k/rx_112_127.c',
+        'rx/cn10k/rx_0_15_mseg.c',
+        'rx/cn10k/rx_16_31_mseg.c',
+        'rx/cn10k/rx_32_47_mseg.c',
+        'rx/cn10k/rx_48_63_mseg.c',
+        'rx/cn10k/rx_64_79_mseg.c',
+        'rx/cn10k/rx_80_95_mseg.c',
+        'rx/cn10k/rx_96_111_mseg.c',
+        'rx/cn10k/rx_112_127_mseg.c',
+        'rx/cn10k/rx_0_15_vec.c',
+        'rx/cn10k/rx_16_31_vec.c',
+        'rx/cn10k/rx_32_47_vec.c',
+        'rx/cn10k/rx_48_63_vec.c',
+        'rx/cn10k/rx_64_79_vec.c',
+        'rx/cn10k/rx_80_95_vec.c',
+        'rx/cn10k/rx_96_111_vec.c',
+        'rx/cn10k/rx_112_127_vec.c',
+        'rx/cn10k/rx_0_15_vec_mseg.c',
+        'rx/cn10k/rx_16_31_vec_mseg.c',
+        'rx/cn10k/rx_32_47_vec_mseg.c',
+        'rx/cn10k/rx_48_63_vec_mseg.c',
+        'rx/cn10k/rx_64_79_vec_mseg.c',
+        'rx/cn10k/rx_80_95_vec_mseg.c',
+        'rx/cn10k/rx_96_111_vec_mseg.c',
+        'rx/cn10k/rx_112_127_vec_mseg.c',
 )
 
 deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 7/8] net/cnxk: add CN10K segregated Tx functions
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (4 preceding siblings ...)
  2021-12-13  8:22 ` [PATCH 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  2021-12-13  8:22 ` [PATCH 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

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

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
-- 
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH 8/8] net/cnxk: add CN10K template Tx functions to build
  2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (5 preceding siblings ...)
  2021-12-13  8:22 ` [PATCH 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
@ 2021-12-13  8:22 ` pbhagavatula
  6 siblings, 0 replies; 9+ messages in thread
From: pbhagavatula @ 2021-12-13  8:22 UTC (permalink / raw)
  To: jerinj, thomas, david.marchand, Pavan Nikhilesh, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Add CN10K segregated Tx and event Tx template functions to build,
add macros to make future modifications simpler.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 drivers/event/cnxk/cn10k_eventdev.c          |  19 +-
 drivers/event/cnxk/cn10k_worker.h            |  36 +-
 drivers/event/cnxk/cn10k_worker_tx_enq.c     |  23 -
 drivers/event/cnxk/cn10k_worker_tx_enq_seg.c |  23 -
 drivers/event/cnxk/meson.build               |  21 +-
 drivers/net/cnxk/cn10k_tx.c                  |  90 ----
 drivers/net/cnxk/cn10k_tx.h                  | 522 +++++++++----------
 drivers/net/cnxk/cn10k_tx_mseg.c             |  26 -
 drivers/net/cnxk/cn10k_tx_select.c           |  63 +++
 drivers/net/cnxk/cn10k_tx_vec.c              |  25 -
 drivers/net/cnxk/cn10k_tx_vec_mseg.c         |  24 -
 drivers/net/cnxk/meson.build                 |  41 +-
 12 files changed, 413 insertions(+), 500 deletions(-)
 delete mode 100644 drivers/event/cnxk/cn10k_worker_tx_enq.c
 delete mode 100644 drivers/event/cnxk/cn10k_worker_tx_enq_seg.c
 delete mode 100644 drivers/net/cnxk/cn10k_tx.c
 delete mode 100644 drivers/net/cnxk/cn10k_tx_mseg.c
 create mode 100644 drivers/net/cnxk/cn10k_tx_select.c
 delete mode 100644 drivers/net/cnxk/cn10k_tx_vec.c
 delete mode 100644 drivers/net/cnxk/cn10k_tx_vec_mseg.c

diff --git a/drivers/event/cnxk/cn10k_eventdev.c b/drivers/event/cnxk/cn10k_eventdev.c
index 02f3d8235d..b56426960a 100644
--- a/drivers/event/cnxk/cn10k_eventdev.c
+++ b/drivers/event/cnxk/cn10k_eventdev.c
@@ -10,14 +10,7 @@
 	deq_op = deq_ops[dev->rx_offloads & (NIX_RX_OFFLOAD_MAX - 1)]

 #define CN10K_SET_EVDEV_ENQ_OP(dev, enq_op, enq_ops)                           \
-	(enq_op =                                                              \
-		 enq_ops[!!(dev->tx_offloads & NIX_TX_OFFLOAD_SECURITY_F)]     \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_TSTAMP_F)]       \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_TSO_F)]          \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_MBUF_NOFF_F)]    \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_VLAN_QINQ_F)]    \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F)] \
-			[!!(dev->tx_offloads & NIX_TX_OFFLOAD_L3_L4_CSUM_F)])
+	enq_op = enq_ops[dev->tx_offloads & (NIX_TX_OFFLOAD_MAX - 1)]

 static uint32_t
 cn10k_sso_gw_mode_wdata(struct cnxk_sso_evdev *dev)
@@ -390,17 +383,15 @@ cn10k_sso_fp_fns_set(struct rte_eventdev *event_dev)

 	/* Tx modes */
 	const event_tx_adapter_enqueue_t
-		sso_hws_tx_adptr_enq[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_##name,
+		sso_hws_tx_adptr_enq[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_sso_hws_tx_adptr_enq_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};

 	const event_tx_adapter_enqueue_t
-		sso_hws_tx_adptr_enq_seg[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_sso_hws_tx_adptr_enq_seg_##name,
+		sso_hws_tx_adptr_enq_seg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_sso_hws_tx_adptr_enq_seg_##name,
 			NIX_TX_FASTPATH_MODES
 #undef T
 		};
diff --git a/drivers/event/cnxk/cn10k_worker.h b/drivers/event/cnxk/cn10k_worker.h
index 160b90aa27..78d029baaa 100644
--- a/drivers/event/cnxk/cn10k_worker.h
+++ b/drivers/event/cnxk/cn10k_worker.h
@@ -613,17 +613,43 @@ cn10k_sso_hws_event_tx(struct cn10k_sso_hws *ws, struct rte_event *ev,
 	return 1;
 }

-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
+#define T(name, sz, flags)                                                     \
 	uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_##name(                  \
 		void *port, struct rte_event ev[], uint16_t nb_events);        \
 	uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_seg_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events);        \
-	uint16_t __rte_hot cn10k_sso_hws_dual_tx_adptr_enq_##name(             \
-		void *port, struct rte_event ev[], uint16_t nb_events);        \
-	uint16_t __rte_hot cn10k_sso_hws_dual_tx_adptr_enq_seg_##name(         \
 		void *port, struct rte_event ev[], uint16_t nb_events);

 NIX_TX_FASTPATH_MODES
 #undef T

+#define SSO_TX(fn, sz, flags)                                                  \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		struct cn10k_sso_hws *ws = port;                               \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn10k_sso_hws_event_tx(                                 \
+			ws, &ev[0], cmd,                                       \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			flags);                                                \
+	}
+
+#define SSO_TX_SEG(fn, sz, flags)                                              \
+	uint16_t __rte_hot fn(void *port, struct rte_event ev[],               \
+			      uint16_t nb_events)                              \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+		struct cn10k_sso_hws *ws = port;                               \
+                                                                               \
+		RTE_SET_USED(nb_events);                                       \
+		return cn10k_sso_hws_event_tx(                                 \
+			ws, &ev[0], cmd,                                       \
+			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
+				ws->tx_adptr_data,                             \
+			(flags) | NIX_TX_MULTI_SEG_F);                         \
+	}
+
 #endif
diff --git a/drivers/event/cnxk/cn10k_worker_tx_enq.c b/drivers/event/cnxk/cn10k_worker_tx_enq.c
deleted file mode 100644
index f14c7fc223..0000000000
--- a/drivers/event/cnxk/cn10k_worker_tx_enq.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_##name(                  \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		struct cn10k_sso_hws *ws = port;                               \
-		uint64_t cmd[sz];                                              \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn10k_sso_hws_event_tx(                                 \
-			ws, &ev[0], cmd,                                       \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			flags);                                                \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/cn10k_worker_tx_enq_seg.c b/drivers/event/cnxk/cn10k_worker_tx_enq_seg.c
deleted file mode 100644
index 2ea61e5d88..0000000000
--- a/drivers/event/cnxk/cn10k_worker_tx_enq_seg.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_worker.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_hot cn10k_sso_hws_tx_adptr_enq_seg_##name(              \
-		void *port, struct rte_event ev[], uint16_t nb_events)         \
-	{                                                                      \
-		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
-		struct cn10k_sso_hws *ws = port;                               \
-									       \
-		RTE_SET_USED(nb_events);                                       \
-		return cn10k_sso_hws_event_tx(                                 \
-			ws, &ev[0], cmd,                                       \
-			(const uint64_t(*)[RTE_MAX_QUEUES_PER_PORT]) &         \
-				ws->tx_adptr_data,                             \
-			(flags) | NIX_TX_MULTI_SEG_F);                         \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/event/cnxk/meson.build b/drivers/event/cnxk/meson.build
index ac452fe451..b27bae7b12 100644
--- a/drivers/event/cnxk/meson.build
+++ b/drivers/event/cnxk/meson.build
@@ -13,8 +13,6 @@ sources = files(
         'cn9k_worker.c',
         'cn10k_eventdev.c',
         'cn10k_worker.c',
-        'cn10k_worker_tx_enq.c',
-        'cn10k_worker_tx_enq_seg.c',
         'cnxk_eventdev.c',
         'cnxk_eventdev_adptr.c',
         'cnxk_eventdev_selftest.c',
@@ -454,6 +452,25 @@ sources += files(
         'deq/cn10k/deq_112_127_ca_tmo_seg_burst.c',
 )

+sources += files(
+        'tx/cn10k/tx_0_15.c',
+        'tx/cn10k/tx_16_31.c',
+        'tx/cn10k/tx_32_47.c',
+        'tx/cn10k/tx_48_63.c',
+        'tx/cn10k/tx_64_79.c',
+        'tx/cn10k/tx_80_95.c',
+        'tx/cn10k/tx_96_111.c',
+        'tx/cn10k/tx_112_127.c',
+        'tx/cn10k/tx_0_15_seg.c',
+        'tx/cn10k/tx_16_31_seg.c',
+        'tx/cn10k/tx_32_47_seg.c',
+        'tx/cn10k/tx_48_63_seg.c',
+        'tx/cn10k/tx_64_79_seg.c',
+        'tx/cn10k/tx_80_95_seg.c',
+        'tx/cn10k/tx_96_111_seg.c',
+        'tx/cn10k/tx_112_127_seg.c',
+)
+
 extra_flags = ['-flax-vector-conversions', '-Wno-strict-aliasing']
 foreach flag: extra_flags
     if cc.has_argument(flag)
diff --git a/drivers/net/cnxk/cn10k_tx.c b/drivers/net/cnxk/cn10k_tx.c
deleted file mode 100644
index 5e6c5ee111..0000000000
--- a/drivers/net/cnxk/cn10k_tx.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_##name(	       \
-		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		uint64_t cmd[sz];                                              \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&			       \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))		       \
-			return 0;                                              \
-		return cn10k_nix_xmit_pkts(tx_queue, tx_pkts, pkts, cmd,       \
-					   0, flags);			       \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
-
-static inline void
-pick_tx_func(struct rte_eth_dev *eth_dev,
-	     const eth_tx_burst_t tx_burst[2][2][2][2][2][2][2])
-{
-	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
-
-	/* [SEC] [TSP] [TSO] [NOFF] [VLAN] [OL3_OL4_CSUM] [IL3_IL4_CSUM] */
-	eth_dev->tx_pkt_burst = tx_burst
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_SECURITY_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_TSTAMP_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_TSO_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_MBUF_NOFF_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_VLAN_QINQ_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F)]
-		[!!(dev->tx_offload_flags & NIX_TX_OFFLOAD_L3_L4_CSUM_F)];
-}
-
-void
-cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
-{
-	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
-
-	const eth_tx_burst_t nix_eth_tx_burst[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_nix_xmit_pkts_##name,
-
-		NIX_TX_FASTPATH_MODES
-#undef T
-	};
-
-	const eth_tx_burst_t nix_eth_tx_burst_mseg[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_nix_xmit_pkts_mseg_##name,
-
-		NIX_TX_FASTPATH_MODES
-#undef T
-	};
-
-	const eth_tx_burst_t nix_eth_tx_vec_burst[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_nix_xmit_pkts_vec_##name,
-
-		NIX_TX_FASTPATH_MODES
-#undef T
-	};
-
-	const eth_tx_burst_t nix_eth_tx_vec_burst_mseg[2][2][2][2][2][2][2] = {
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	[f6][f5][f4][f3][f2][f1][f0] = cn10k_nix_xmit_pkts_vec_mseg_##name,
-
-		NIX_TX_FASTPATH_MODES
-#undef T
-	};
-
-	if (dev->scalar_ena) {
-		pick_tx_func(eth_dev, nix_eth_tx_burst);
-		if (dev->tx_offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
-			pick_tx_func(eth_dev, nix_eth_tx_burst_mseg);
-	} else {
-		pick_tx_func(eth_dev, nix_eth_tx_vec_burst);
-		if (dev->tx_offloads & RTE_ETH_TX_OFFLOAD_MULTI_SEGS)
-			pick_tx_func(eth_dev, nix_eth_tx_vec_burst_mseg);
-	}
-
-	rte_mb();
-}
diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h
index 873e1871f9..6de8b18b47 100644
--- a/drivers/net/cnxk/cn10k_tx.h
+++ b/drivers/net/cnxk/cn10k_tx.h
@@ -16,6 +16,7 @@
 #define NIX_TX_OFFLOAD_TSO_F	      BIT(4)
 #define NIX_TX_OFFLOAD_TSTAMP_F	      BIT(5)
 #define NIX_TX_OFFLOAD_SECURITY_F     BIT(6)
+#define NIX_TX_OFFLOAD_MAX	      (NIX_TX_OFFLOAD_SECURITY_F << 1)

 /* Flags to control xmit_prepare function.
  * Defining it from backwards to denote its been
@@ -2675,279 +2676,272 @@ cn10k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
 #define T_SEC_F      NIX_TX_OFFLOAD_SECURITY_F

 /* [T_SEC_F] [TSP] [TSO] [NOFF] [VLAN] [OL3OL4CSUM] [L3L4CSUM] */
-#define NIX_TX_FASTPATH_MODES						\
-T(no_offload,				0, 0, 0, 0, 0, 0, 0,	4,	\
-		NIX_TX_OFFLOAD_NONE)					\
-T(l3l4csum,				0, 0, 0, 0, 0, 0, 1,	4,	\
-		L3L4CSUM_F)						\
-T(ol3ol4csum,				0, 0, 0, 0, 0, 1, 0,	4,	\
-		OL3OL4CSUM_F)						\
-T(ol3ol4csum_l3l4csum,			0, 0, 0, 0, 0, 1, 1,	4,	\
-		OL3OL4CSUM_F | L3L4CSUM_F)				\
-T(vlan,					0, 0, 0, 0, 1, 0, 0,	6,	\
-		VLAN_F)							\
-T(vlan_l3l4csum,			0, 0, 0, 0, 1, 0, 1,	6,	\
-		VLAN_F | L3L4CSUM_F)					\
-T(vlan_ol3ol4csum,			0, 0, 0, 0, 1, 1, 0,	6,	\
-		VLAN_F | OL3OL4CSUM_F)					\
-T(vlan_ol3ol4csum_l3l4csum,		0, 0, 0, 0, 1, 1, 1,	6,	\
-		VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)			\
-T(noff,					0, 0, 0, 1, 0, 0, 0,	4,	\
-		NOFF_F)							\
-T(noff_l3l4csum,			0, 0, 0, 1, 0, 0, 1,	4,	\
-		NOFF_F | L3L4CSUM_F)					\
-T(noff_ol3ol4csum,			0, 0, 0, 1, 0, 1, 0,	4,	\
-		NOFF_F | OL3OL4CSUM_F)					\
-T(noff_ol3ol4csum_l3l4csum,		0, 0, 0, 1, 0, 1, 1,	4,	\
-		NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)			\
-T(noff_vlan,				0, 0, 0, 1, 1, 0, 0,	6,	\
-		NOFF_F | VLAN_F)					\
-T(noff_vlan_l3l4csum,			0, 0, 0, 1, 1, 0, 1,	6,	\
-		NOFF_F | VLAN_F | L3L4CSUM_F)				\
-T(noff_vlan_ol3ol4csum,			0, 0, 0, 1, 1, 1, 0,	6,	\
-		NOFF_F | VLAN_F | OL3OL4CSUM_F)				\
-T(noff_vlan_ol3ol4csum_l3l4csum,	0, 0, 0, 1, 1, 1, 1,	6,	\
-		NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(tso,					0, 0, 1, 0, 0, 0, 0,	6,	\
-		TSO_F)							\
-T(tso_l3l4csum,				0, 0, 1, 0, 0, 0, 1,	6,	\
-		TSO_F | L3L4CSUM_F)					\
-T(tso_ol3ol4csum,			0, 0, 1, 0, 0, 1, 0,	6,	\
-		TSO_F | OL3OL4CSUM_F)					\
-T(tso_ol3ol4csum_l3l4csum,		0, 0, 1, 0, 0, 1, 1,	6,	\
-		TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(tso_vlan,				0, 0, 1, 0, 1, 0, 0,	6,	\
-		TSO_F | VLAN_F)						\
-T(tso_vlan_l3l4csum,			0, 0, 1, 0, 1, 0, 1,	6,	\
-		TSO_F | VLAN_F | L3L4CSUM_F)				\
-T(tso_vlan_ol3ol4csum,			0, 0, 1, 0, 1, 1, 0,	6,	\
-		TSO_F | VLAN_F | OL3OL4CSUM_F)				\
-T(tso_vlan_ol3ol4csum_l3l4csum,		0, 0, 1, 0, 1, 1, 1,	6,	\
-		TSO_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(tso_noff,				0, 0, 1, 1, 0, 0, 0,	6,	\
-		TSO_F | NOFF_F)						\
-T(tso_noff_l3l4csum,			0, 0, 1, 1, 0, 0, 1,	6,	\
-		TSO_F | NOFF_F | L3L4CSUM_F)				\
-T(tso_noff_ol3ol4csum,			0, 0, 1, 1, 0, 1, 0,	6,	\
-		TSO_F | NOFF_F | OL3OL4CSUM_F)				\
-T(tso_noff_ol3ol4csum_l3l4csum,		0, 0, 1, 1, 0, 1, 1,	6,	\
-		TSO_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(tso_noff_vlan,			0, 0, 1, 1, 1, 0, 0,	6,	\
-		TSO_F | NOFF_F | VLAN_F)				\
-T(tso_noff_vlan_l3l4csum,		0, 0, 1, 1, 1, 0, 1,	6,	\
-		TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(tso_noff_vlan_ol3ol4csum,		0, 0, 1, 1, 1, 1, 0,	6,	\
-		TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)			\
-T(tso_noff_vlan_ol3ol4csum_l3l4csum,	0, 0, 1, 1, 1, 1, 1,	6,	\
-		TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(ts,					0, 1, 0, 0, 0, 0, 0,	8,	\
-		TSP_F)							\
-T(ts_l3l4csum,				0, 1, 0, 0, 0, 0, 1,	8,	\
-		TSP_F | L3L4CSUM_F)					\
-T(ts_ol3ol4csum,			0, 1, 0, 0, 0, 1, 0,	8,	\
-		TSP_F | OL3OL4CSUM_F)					\
-T(ts_ol3ol4csum_l3l4csum,		0, 1, 0, 0, 0, 1, 1,	8,	\
-		TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(ts_vlan,				0, 1, 0, 0, 1, 0, 0,	8,	\
-		TSP_F | VLAN_F)						\
-T(ts_vlan_l3l4csum,			0, 1, 0, 0, 1, 0, 1,	8,	\
-		TSP_F | VLAN_F | L3L4CSUM_F)				\
-T(ts_vlan_ol3ol4csum,			0, 1, 0, 0, 1, 1, 0,	8,	\
-		TSP_F | VLAN_F | OL3OL4CSUM_F)				\
-T(ts_vlan_ol3ol4csum_l3l4csum,		0, 1, 0, 0, 1, 1, 1,	8,	\
-		TSP_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(ts_noff,				0, 1, 0, 1, 0, 0, 0,	8,	\
-		TSP_F | NOFF_F)						\
-T(ts_noff_l3l4csum,			0, 1, 0, 1, 0, 0, 1,	8,	\
-		TSP_F | NOFF_F | L3L4CSUM_F)				\
-T(ts_noff_ol3ol4csum,			0, 1, 0, 1, 0, 1, 0,	8,	\
-		TSP_F | NOFF_F | OL3OL4CSUM_F)				\
-T(ts_noff_ol3ol4csum_l3l4csum,		0, 1, 0, 1, 0, 1, 1,	8,	\
-		TSP_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)		\
-T(ts_noff_vlan,				0, 1, 0, 1, 1, 0, 0,	8,	\
-		TSP_F | NOFF_F | VLAN_F)				\
-T(ts_noff_vlan_l3l4csum,		0, 1, 0, 1, 1, 0, 1,	8,	\
-		TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(ts_noff_vlan_ol3ol4csum,		0, 1, 0, 1, 1, 1, 0,	8,	\
-		TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)			\
-T(ts_noff_vlan_ol3ol4csum_l3l4csum,	0, 1, 0, 1, 1, 1, 1,	8,	\
-		TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(ts_tso,				0, 1, 1, 0, 0, 0, 0,	8,	\
-		TSP_F | TSO_F)						\
-T(ts_tso_l3l4csum,			0, 1, 1, 0, 0, 0, 1,	8,	\
-		TSP_F | TSO_F | L3L4CSUM_F)				\
-T(ts_tso_ol3ol4csum,			0, 1, 1, 0, 0, 1, 0,	8,	\
-		TSP_F | TSO_F | OL3OL4CSUM_F)				\
-T(ts_tso_ol3ol4csum_l3l4csum,		0, 1, 1, 0, 0, 1, 1,	8,	\
-		TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(ts_tso_vlan,				0, 1, 1, 0, 1, 0, 0,	8,	\
-		TSP_F | TSO_F | VLAN_F)					\
-T(ts_tso_vlan_l3l4csum,			0, 1, 1, 0, 1, 0, 1,	8,	\
-		TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)			\
-T(ts_tso_vlan_ol3ol4csum,		0, 1, 1, 0, 1, 1, 0,	8,	\
-		TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)			\
-T(ts_tso_vlan_ol3ol4csum_l3l4csum,	0, 1, 1, 0, 1, 1, 1,	8,	\
-		TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(ts_tso_noff,				0, 1, 1, 1, 0, 0, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F)					\
-T(ts_tso_noff_l3l4csum,			0, 1, 1, 1, 0, 0, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)			\
-T(ts_tso_noff_ol3ol4csum,		0, 1, 1, 1, 0, 1, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)			\
-T(ts_tso_noff_ol3ol4csum_l3l4csum,	0, 1, 1, 1, 0, 1, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(ts_tso_noff_vlan,			0, 1, 1, 1, 1, 0, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F)			\
-T(ts_tso_noff_vlan_l3l4csum,		0, 1, 1, 1, 1, 0, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(ts_tso_noff_vlan_ol3ol4csum,		0, 1, 1, 1, 1, 1, 0,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)		\
-T(ts_tso_noff_vlan_ol3ol4csum_l3l4csum,	0, 1, 1, 1, 1, 1, 1,	8,	\
-		TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec,					1, 0, 0, 0, 0, 0, 0,	4,	\
-		T_SEC_F)						\
-T(sec_l3l4csum,				1, 0, 0, 0, 0, 0, 1,	4,	\
-		T_SEC_F | L3L4CSUM_F)					\
-T(sec_ol3ol4csum,			1, 0, 0, 0, 0, 1, 0,	4,	\
-		T_SEC_F | OL3OL4CSUM_F)					\
-T(sec_ol3ol4csum_l3l4csum,		1, 0, 0, 0, 0, 1, 1,	4,	\
-		T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F)			\
-T(sec_vlan,				1, 0, 0, 0, 1, 0, 0,	6,	\
-		T_SEC_F | VLAN_F)					\
-T(sec_vlan_l3l4csum,			1, 0, 0, 0, 1, 0, 1,	6,	\
-		T_SEC_F | VLAN_F | L3L4CSUM_F)				\
-T(sec_vlan_ol3ol4csum,			1, 0, 0, 0, 1, 1, 0,	6,	\
-		T_SEC_F | VLAN_F | OL3OL4CSUM_F)			\
-T(sec_vlan_ol3ol4csum_l3l4csum,		1, 0, 0, 0, 1, 1, 1,	6,	\
-		T_SEC_F | VLAN_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(sec_noff,				1, 0, 0, 1, 0, 0, 0,	4,	\
-		T_SEC_F | NOFF_F)					\
-T(sec_noff_l3l4csum,			1, 0, 0, 1, 0, 0, 1,	4,	\
-		T_SEC_F | NOFF_F | L3L4CSUM_F)				\
-T(sec_noff_ol3ol4csum,			1, 0, 0, 1, 0, 1, 0,	4,	\
-		T_SEC_F | NOFF_F | OL3OL4CSUM_F)			\
-T(sec_noff_ol3ol4csum_l3l4csum,		1, 0, 0, 1, 0, 1, 1,	4,	\
-		T_SEC_F | NOFF_F | OL3OL4CSUM_F |	L3L4CSUM_F)	\
-T(sec_noff_vlan,			1, 0, 0, 1, 1, 0, 0,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F)				\
-T(sec_noff_vlan_l3l4csum,		1, 0, 0, 1, 1, 0, 1,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_noff_vlan_ol3ol4csum,		1, 0, 0, 1, 1, 1, 0,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_noff_vlan_ol3ol4csum_l3l4csum,	1, 0, 0, 1, 1, 1, 1,	6,	\
-		T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso,				1, 0, 1, 0, 0, 0, 0,	6,	\
-		T_SEC_F | TSO_F)					\
-T(sec_tso_l3l4csum,			1, 0, 1, 0, 0, 0, 1,	6,	\
-		T_SEC_F | TSO_F | L3L4CSUM_F)				\
-T(sec_tso_ol3ol4csum,			1, 0, 1, 0, 0, 1, 0,	6,	\
-		T_SEC_F | TSO_F | OL3OL4CSUM_F)				\
-T(sec_tso_ol3ol4csum_l3l4csum,		1, 0, 1, 0, 0, 1, 1,	6,	\
-		T_SEC_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(sec_tso_vlan,				1, 0, 1, 0, 1, 0, 0,	6,	\
-		T_SEC_F | TSO_F | VLAN_F)				\
-T(sec_tso_vlan_l3l4csum,		1, 0, 1, 0, 1, 0, 1,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_tso_vlan_ol3ol4csum,		1, 0, 1, 0, 1, 1, 0,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_tso_vlan_ol3ol4csum_l3l4csum,	1, 0, 1, 0, 1, 1, 1,	6,	\
-		T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso_noff,				1, 0, 1, 1, 0, 0, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F)				\
-T(sec_tso_noff_l3l4csum,		1, 0, 1, 1, 0, 0, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | L3L4CSUM_F)			\
-T(sec_tso_noff_ol3ol4csum,		1, 0, 1, 1, 0, 1, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F)		\
-T(sec_tso_noff_ol3ol4csum_l3l4csum,	1, 0, 1, 1, 0, 1, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_tso_noff_vlan,			1, 0, 1, 1, 1, 0, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F)			\
-T(sec_tso_noff_vlan_l3l4csum,		1, 0, 1, 1, 1, 0, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_tso_noff_vlan_ol3ol4csum,		1, 0, 1, 1, 1, 1, 0,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_tso_noff_vlan_ol3ol4csum_l3l4csum, 1, 0, 1, 1, 1, 1, 1,	6,	\
-		T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec_ts,				1, 1, 0, 0, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F)					\
-T(sec_ts_l3l4csum,			1, 1, 0, 0, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | L3L4CSUM_F)				\
-T(sec_ts_ol3ol4csum,			1, 1, 0, 0, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | OL3OL4CSUM_F)				\
-T(sec_ts_ol3ol4csum_l3l4csum,		1, 1, 0, 0, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)		\
-T(sec_ts_vlan,				1, 1, 0, 0, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | VLAN_F)				\
-T(sec_ts_vlan_l3l4csum,			1, 1, 0, 0, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | L3L4CSUM_F)			\
-T(sec_ts_vlan_ol3ol4csum,		1, 1, 0, 0, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F)		\
-T(sec_ts_vlan_ol3ol4csum_l3l4csum,	1, 1, 0, 0, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_noff,				1, 1, 0, 1, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F)				\
-T(sec_ts_noff_l3l4csum,			1, 1, 0, 1, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | L3L4CSUM_F)			\
-T(sec_ts_noff_ol3ol4csum,		1, 1, 0, 1, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F)		\
-T(sec_ts_noff_ol3ol4csum_l3l4csum,	1, 1, 0, 1, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_noff_vlan,			1, 1, 0, 1, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F)			\
-T(sec_ts_noff_vlan_l3l4csum,		1, 1, 0, 1, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_ts_noff_vlan_ol3ol4csum,		1, 1, 0, 1, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_ts_noff_vlan_ol3ol4csum_l3l4csum,	1, 1, 0, 1, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec_ts_tso,				1, 1, 1, 0, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F)				\
-T(sec_ts_tso_l3l4csum,			1, 1, 1, 0, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | L3L4CSUM_F)			\
-T(sec_ts_tso_ol3ol4csum,		1, 1, 1, 0, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F)			\
-T(sec_ts_tso_ol3ol4csum_l3l4csum,	1, 1, 1, 0, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)	\
-T(sec_ts_tso_vlan,			1, 1, 1, 0, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F)			\
-T(sec_ts_tso_vlan_l3l4csum,		1, 1, 1, 0, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)		\
-T(sec_ts_tso_vlan_ol3ol4csum,		1, 1, 1, 0, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)	\
-T(sec_ts_tso_vlan_ol3ol4csum_l3l4csum,	1, 1, 1, 0, 1, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F) \
-T(sec_ts_tso_noff,			1, 1, 1, 1, 0, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F)			\
-T(sec_ts_tso_noff_l3l4csum,		1, 1, 1, 1, 0, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)		\
-T(sec_ts_tso_noff_ol3ol4csum,		1, 1, 1, 1, 0, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)	\
-T(sec_ts_tso_noff_ol3ol4csum_l3l4csum,	1, 1, 1, 1, 0, 1, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)\
-T(sec_ts_tso_noff_vlan,			1, 1, 1, 1, 1, 0, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F)		\
-T(sec_ts_tso_noff_vlan_l3l4csum,	1, 1, 1, 1, 1, 0, 1,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)	\
-T(sec_ts_tso_noff_vlan_ol3ol4csum,	1, 1, 1, 1, 1, 1, 0,	8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)\
-T(sec_ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 1, 1, 1, 1, 1, 1, 1, 8,	\
-		T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | \
-		L3L4CSUM_F)
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
+#define NIX_TX_FASTPATH_MODES_0_15                                             \
+	T(no_offload, 4, NIX_TX_OFFLOAD_NONE)                                  \
+	T(l3l4csum, 4, L3L4CSUM_F)                                             \
+	T(ol3ol4csum, 4, OL3OL4CSUM_F)                                         \
+	T(ol3ol4csum_l3l4csum, 4, OL3OL4CSUM_F | L3L4CSUM_F)                   \
+	T(vlan, 6, VLAN_F)                                                     \
+	T(vlan_l3l4csum, 6, VLAN_F | L3L4CSUM_F)                               \
+	T(vlan_ol3ol4csum, 6, VLAN_F | OL3OL4CSUM_F)                           \
+	T(vlan_ol3ol4csum_l3l4csum, 6, VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(noff, 4, NOFF_F)                                                     \
+	T(noff_l3l4csum, 4, NOFF_F | L3L4CSUM_F)                               \
+	T(noff_ol3ol4csum, 4, NOFF_F | OL3OL4CSUM_F)                           \
+	T(noff_ol3ol4csum_l3l4csum, 4, NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(noff_vlan, 6, NOFF_F | VLAN_F)                                       \
+	T(noff_vlan_l3l4csum, 6, NOFF_F | VLAN_F | L3L4CSUM_F)                 \
+	T(noff_vlan_ol3ol4csum, 6, NOFF_F | VLAN_F | OL3OL4CSUM_F)             \
+	T(noff_vlan_ol3ol4csum_l3l4csum, 6,                                    \
+	  NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_16_31                                            \
+	T(tso, 6, TSO_F)                                                       \
+	T(tso_l3l4csum, 6, TSO_F | L3L4CSUM_F)                                 \
+	T(tso_ol3ol4csum, 6, TSO_F | OL3OL4CSUM_F)                             \
+	T(tso_ol3ol4csum_l3l4csum, 6, TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)       \
+	T(tso_vlan, 6, TSO_F | VLAN_F)                                         \
+	T(tso_vlan_l3l4csum, 6, TSO_F | VLAN_F | L3L4CSUM_F)                   \
+	T(tso_vlan_ol3ol4csum, 6, TSO_F | VLAN_F | OL3OL4CSUM_F)               \
+	T(tso_vlan_ol3ol4csum_l3l4csum, 6,                                     \
+	  TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(tso_noff, 6, TSO_F | NOFF_F)                                         \
+	T(tso_noff_l3l4csum, 6, TSO_F | NOFF_F | L3L4CSUM_F)                   \
+	T(tso_noff_ol3ol4csum, 6, TSO_F | NOFF_F | OL3OL4CSUM_F)               \
+	T(tso_noff_ol3ol4csum_l3l4csum, 6,                                     \
+	  TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(tso_noff_vlan, 6, TSO_F | NOFF_F | VLAN_F)                           \
+	T(tso_noff_vlan_l3l4csum, 6, TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)     \
+	T(tso_noff_vlan_ol3ol4csum, 6, TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F) \
+	T(tso_noff_vlan_ol3ol4csum_l3l4csum, 6,                                \
+	  TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_32_47                                            \
+	T(ts, 8, TSP_F)                                                        \
+	T(ts_l3l4csum, 8, TSP_F | L3L4CSUM_F)                                  \
+	T(ts_ol3ol4csum, 8, TSP_F | OL3OL4CSUM_F)                              \
+	T(ts_ol3ol4csum_l3l4csum, 8, TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(ts_vlan, 8, TSP_F | VLAN_F)                                          \
+	T(ts_vlan_l3l4csum, 8, TSP_F | VLAN_F | L3L4CSUM_F)                    \
+	T(ts_vlan_ol3ol4csum, 8, TSP_F | VLAN_F | OL3OL4CSUM_F)                \
+	T(ts_vlan_ol3ol4csum_l3l4csum, 8,                                      \
+	  TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(ts_noff, 8, TSP_F | NOFF_F)                                          \
+	T(ts_noff_l3l4csum, 8, TSP_F | NOFF_F | L3L4CSUM_F)                    \
+	T(ts_noff_ol3ol4csum, 8, TSP_F | NOFF_F | OL3OL4CSUM_F)                \
+	T(ts_noff_ol3ol4csum_l3l4csum, 8,                                      \
+	  TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                          \
+	T(ts_noff_vlan, 8, TSP_F | NOFF_F | VLAN_F)                            \
+	T(ts_noff_vlan_l3l4csum, 8, TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)      \
+	T(ts_noff_vlan_ol3ol4csum, 8, TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)  \
+	T(ts_noff_vlan_ol3ol4csum_l3l4csum, 8,                                 \
+	  TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_48_63                                            \
+	T(ts_tso, 8, TSP_F | TSO_F)                                            \
+	T(ts_tso_l3l4csum, 8, TSP_F | TSO_F | L3L4CSUM_F)                      \
+	T(ts_tso_ol3ol4csum, 8, TSP_F | TSO_F | OL3OL4CSUM_F)                  \
+	T(ts_tso_ol3ol4csum_l3l4csum, 8,                                       \
+	  TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                           \
+	T(ts_tso_vlan, 8, TSP_F | TSO_F | VLAN_F)                              \
+	T(ts_tso_vlan_l3l4csum, 8, TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)        \
+	T(ts_tso_vlan_ol3ol4csum, 8, TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)    \
+	T(ts_tso_vlan_ol3ol4csum_l3l4csum, 8,                                  \
+	  TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                  \
+	T(ts_tso_noff, 8, TSP_F | TSO_F | NOFF_F)                              \
+	T(ts_tso_noff_l3l4csum, 8, TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)        \
+	T(ts_tso_noff_ol3ol4csum, 8, TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)    \
+	T(ts_tso_noff_ol3ol4csum_l3l4csum, 8,                                  \
+	  TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                  \
+	T(ts_tso_noff_vlan, 8, TSP_F | TSO_F | NOFF_F | VLAN_F)                \
+	T(ts_tso_noff_vlan_l3l4csum, 8,                                        \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)                        \
+	T(ts_tso_noff_vlan_ol3ol4csum, 8,                                      \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                      \
+	T(ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 8,                             \
+	  TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_64_79                                            \
+	T(sec, 4, T_SEC_F)                                                     \
+	T(sec_l3l4csum, 4, T_SEC_F | L3L4CSUM_F)                               \
+	T(sec_ol3ol4csum, 4, T_SEC_F | OL3OL4CSUM_F)                           \
+	T(sec_ol3ol4csum_l3l4csum, 4, T_SEC_F | OL3OL4CSUM_F | L3L4CSUM_F)     \
+	T(sec_vlan, 6, T_SEC_F | VLAN_F)                                       \
+	T(sec_vlan_l3l4csum, 6, T_SEC_F | VLAN_F | L3L4CSUM_F)                 \
+	T(sec_vlan_ol3ol4csum, 6, T_SEC_F | VLAN_F | OL3OL4CSUM_F)             \
+	T(sec_vlan_ol3ol4csum_l3l4csum, 6,                                     \
+	  T_SEC_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                        \
+	T(sec_noff, 4, T_SEC_F | NOFF_F)                                       \
+	T(sec_noff_l3l4csum, 4, T_SEC_F | NOFF_F | L3L4CSUM_F)                 \
+	T(sec_noff_ol3ol4csum, 4, T_SEC_F | NOFF_F | OL3OL4CSUM_F)             \
+	T(sec_noff_ol3ol4csum_l3l4csum, 4,                                     \
+	  T_SEC_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                        \
+	T(sec_noff_vlan, 6, T_SEC_F | NOFF_F | VLAN_F)                         \
+	T(sec_noff_vlan_l3l4csum, 6, T_SEC_F | NOFF_F | VLAN_F | L3L4CSUM_F)   \
+	T(sec_noff_vlan_ol3ol4csum, 6,                                         \
+	  T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                            \
+	T(sec_noff_vlan_ol3ol4csum_l3l4csum, 6,                                \
+	  T_SEC_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_80_95                                            \
+	T(sec_tso, 6, T_SEC_F | TSO_F)                                         \
+	T(sec_tso_l3l4csum, 6, T_SEC_F | TSO_F | L3L4CSUM_F)                   \
+	T(sec_tso_ol3ol4csum, 6, T_SEC_F | TSO_F | OL3OL4CSUM_F)               \
+	T(sec_tso_ol3ol4csum_l3l4csum, 6,                                      \
+	  T_SEC_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                         \
+	T(sec_tso_vlan, 6, T_SEC_F | TSO_F | VLAN_F)                           \
+	T(sec_tso_vlan_l3l4csum, 6, T_SEC_F | TSO_F | VLAN_F | L3L4CSUM_F)     \
+	T(sec_tso_vlan_ol3ol4csum, 6, T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F) \
+	T(sec_tso_vlan_ol3ol4csum_l3l4csum, 6,                                 \
+	  T_SEC_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_tso_noff, 6, T_SEC_F | TSO_F | NOFF_F)                           \
+	T(sec_tso_noff_l3l4csum, 6, T_SEC_F | TSO_F | NOFF_F | L3L4CSUM_F)     \
+	T(sec_tso_noff_ol3ol4csum, 6, T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F) \
+	T(sec_tso_noff_ol3ol4csum_l3l4csum, 6,                                 \
+	  T_SEC_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_tso_noff_vlan, 6, T_SEC_F | TSO_F | NOFF_F | VLAN_F)             \
+	T(sec_tso_noff_vlan_l3l4csum, 6,                                       \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)                      \
+	T(sec_tso_noff_vlan_ol3ol4csum, 6,                                     \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                    \
+	T(sec_tso_noff_vlan_ol3ol4csum_l3l4csum, 6,                            \
+	  T_SEC_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_96_111                                           \
+	T(sec_ts, 8, T_SEC_F | TSP_F)                                          \
+	T(sec_ts_l3l4csum, 8, T_SEC_F | TSP_F | L3L4CSUM_F)                    \
+	T(sec_ts_ol3ol4csum, 8, T_SEC_F | TSP_F | OL3OL4CSUM_F)                \
+	T(sec_ts_ol3ol4csum_l3l4csum, 8,                                       \
+	  T_SEC_F | TSP_F | OL3OL4CSUM_F | L3L4CSUM_F)                         \
+	T(sec_ts_vlan, 8, T_SEC_F | TSP_F | VLAN_F)                            \
+	T(sec_ts_vlan_l3l4csum, 8, T_SEC_F | TSP_F | VLAN_F | L3L4CSUM_F)      \
+	T(sec_ts_vlan_ol3ol4csum, 8, T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F)  \
+	T(sec_ts_vlan_ol3ol4csum_l3l4csum, 8,                                  \
+	  T_SEC_F | TSP_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_ts_noff, 8, T_SEC_F | TSP_F | NOFF_F)                            \
+	T(sec_ts_noff_l3l4csum, 8, T_SEC_F | TSP_F | NOFF_F | L3L4CSUM_F)      \
+	T(sec_ts_noff_ol3ol4csum, 8, T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F)  \
+	T(sec_ts_noff_ol3ol4csum_l3l4csum, 8,                                  \
+	  T_SEC_F | TSP_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)                \
+	T(sec_ts_noff_vlan, 8, T_SEC_F | TSP_F | NOFF_F | VLAN_F)              \
+	T(sec_ts_noff_vlan_l3l4csum, 8,                                        \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | L3L4CSUM_F)                      \
+	T(sec_ts_noff_vlan_ol3ol4csum, 8,                                      \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)                    \
+	T(sec_ts_noff_vlan_ol3ol4csum_l3l4csum, 8,                             \
+	  T_SEC_F | TSP_F | NOFF_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES_112_127                                          \
+	T(sec_ts_tso, 8, T_SEC_F | TSP_F | TSO_F)                              \
+	T(sec_ts_tso_l3l4csum, 8, T_SEC_F | TSP_F | TSO_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_ol3ol4csum, 8, T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F)    \
+	T(sec_ts_tso_ol3ol4csum_l3l4csum, 8,                                   \
+	  T_SEC_F | TSP_F | TSO_F | OL3OL4CSUM_F | L3L4CSUM_F)                 \
+	T(sec_ts_tso_vlan, 8, T_SEC_F | TSP_F | TSO_F | VLAN_F)                \
+	T(sec_ts_tso_vlan_l3l4csum, 8,                                         \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | L3L4CSUM_F)                       \
+	T(sec_ts_tso_vlan_ol3ol4csum, 8,                                       \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F)                     \
+	T(sec_ts_tso_vlan_ol3ol4csum_l3l4csum, 8,                              \
+	  T_SEC_F | TSP_F | TSO_F | VLAN_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_noff, 8, T_SEC_F | TSP_F | TSO_F | NOFF_F)                \
+	T(sec_ts_tso_noff_l3l4csum, 8,                                         \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | L3L4CSUM_F)                       \
+	T(sec_ts_tso_noff_ol3ol4csum, 8,                                       \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F)                     \
+	T(sec_ts_tso_noff_ol3ol4csum_l3l4csum, 8,                              \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | OL3OL4CSUM_F | L3L4CSUM_F)        \
+	T(sec_ts_tso_noff_vlan, 8, T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F)  \
+	T(sec_ts_tso_noff_vlan_l3l4csum, 8,                                    \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | L3L4CSUM_F)              \
+	T(sec_ts_tso_noff_vlan_ol3ol4csum, 8,                                  \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F)            \
+	T(sec_ts_tso_noff_vlan_ol3ol4csum_l3l4csum, 8,                         \
+	  T_SEC_F | TSP_F | TSO_F | NOFF_F | VLAN_F | OL3OL4CSUM_F |           \
+		  L3L4CSUM_F)
+
+#define NIX_TX_FASTPATH_MODES                                                  \
+	NIX_TX_FASTPATH_MODES_0_15                                             \
+	NIX_TX_FASTPATH_MODES_16_31                                            \
+	NIX_TX_FASTPATH_MODES_32_47                                            \
+	NIX_TX_FASTPATH_MODES_48_63                                            \
+	NIX_TX_FASTPATH_MODES_64_79                                            \
+	NIX_TX_FASTPATH_MODES_80_95                                            \
+	NIX_TX_FASTPATH_MODES_96_111                                           \
+	NIX_TX_FASTPATH_MODES_112_127
+
+#define T(name, sz, flags)                                                     \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_##name(          \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_mseg_##name(     \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_vec_##name(      \
 		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
-									       \
+                                                                               \
 	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_vec_mseg_##name( \
-		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);     \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts);

 NIX_TX_FASTPATH_MODES
 #undef T

+#define NIX_TX_XMIT(fn, sz, flags)                                             \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn10k_nix_xmit_pkts(tx_queue, tx_pkts, pkts, cmd, 0,    \
+					   flags);                             \
+	}
+
+#define NIX_TX_XMIT_MSEG(fn, sz, flags)                                        \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn10k_nix_xmit_pkts_mseg(tx_queue, tx_pkts, pkts, cmd,  \
+						0,                             \
+						flags | NIX_TX_MULTI_SEG_F);   \
+	}
+
+#define NIX_TX_XMIT_VEC(fn, sz, flags)                                         \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[sz];                                              \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn10k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts,     \
+						  cmd, 0, (flags));            \
+	}
+
+#define NIX_TX_XMIT_VEC_MSEG(fn, sz, flags)                                    \
+	uint16_t __rte_noinline __rte_hot fn(                                  \
+		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
+	{                                                                      \
+		uint64_t cmd[(sz) + CNXK_NIX_TX_MSEG_SG_DWORDS - 2];           \
+                                                                               \
+		/* For TSO inner checksum is a must */                         \
+		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
+		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
+			return 0;                                              \
+		return cn10k_nix_xmit_pkts_vector(                             \
+			tx_queue, tx_pkts, pkts, cmd, 0,                       \
+			(flags) | NIX_TX_MULTI_SEG_F);                         \
+	}
+
 #endif /* __CN10K_TX_H__ */
diff --git a/drivers/net/cnxk/cn10k_tx_mseg.c b/drivers/net/cnxk/cn10k_tx_mseg.c
deleted file mode 100644
index 2b834095cf..0000000000
--- a/drivers/net/cnxk/cn10k_tx_mseg.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	uint16_t __rte_noinline __rte_hot				       \
-		cn10k_nix_xmit_pkts_mseg_##name(void *tx_queue,                \
-						struct rte_mbuf **tx_pkts,     \
-						uint16_t pkts)                 \
-	{                                                                      \
-		uint64_t cmd[(sz)];                                            \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&			       \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))		       \
-			return 0;                                              \
-		return cn10k_nix_xmit_pkts_mseg(tx_queue, tx_pkts, pkts, cmd,  \
-						0, (flags)		       \
-							| NIX_TX_MULTI_SEG_F); \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/cn10k_tx_select.c b/drivers/net/cnxk/cn10k_tx_select.c
new file mode 100644
index 0000000000..bd1fba06b9
--- /dev/null
+++ b/drivers/net/cnxk/cn10k_tx_select.c
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cn10k_ethdev.h"
+#include "cn10k_tx.h"
+
+static inline void
+pick_tx_func(struct rte_eth_dev *eth_dev,
+	     const eth_tx_burst_t tx_burst[NIX_TX_OFFLOAD_MAX])
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	/* [SEC] [TSP] [TSO] [NOFF] [VLAN] [OL3_OL4_CSUM] [IL3_IL4_CSUM] */
+	eth_dev->tx_pkt_burst =
+		tx_burst[dev->tx_offload_flags & (NIX_TX_OFFLOAD_MAX - 1)];
+}
+
+void
+cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev)
+{
+	struct cnxk_eth_dev *dev = cnxk_eth_pmd_priv(eth_dev);
+
+	const eth_tx_burst_t nix_eth_tx_burst[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_nix_xmit_pkts_##name,
+
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_burst_mseg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_nix_xmit_pkts_mseg_##name,
+
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_vec_burst[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_nix_xmit_pkts_vec_##name,
+
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	const eth_tx_burst_t nix_eth_tx_vec_burst_mseg[NIX_TX_OFFLOAD_MAX] = {
+#define T(name, sz, flags) [flags] = cn10k_nix_xmit_pkts_vec_mseg_##name,
+
+		NIX_TX_FASTPATH_MODES
+#undef T
+	};
+
+	if (dev->scalar_ena) {
+		pick_tx_func(eth_dev, nix_eth_tx_burst);
+		if (dev->tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS)
+			pick_tx_func(eth_dev, nix_eth_tx_burst_mseg);
+	} else {
+		pick_tx_func(eth_dev, nix_eth_tx_vec_burst);
+		if (dev->tx_offloads & DEV_TX_OFFLOAD_MULTI_SEGS)
+			pick_tx_func(eth_dev, nix_eth_tx_vec_burst_mseg);
+	}
+
+	rte_mb();
+}
diff --git a/drivers/net/cnxk/cn10k_tx_vec.c b/drivers/net/cnxk/cn10k_tx_vec.c
deleted file mode 100644
index 2789b13d60..0000000000
--- a/drivers/net/cnxk/cn10k_tx_vec.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)			       \
-	uint16_t __rte_noinline __rte_hot				       \
-		cn10k_nix_xmit_pkts_vec_##name(void *tx_queue,                 \
-					       struct rte_mbuf **tx_pkts,      \
-					       uint16_t pkts)                  \
-	{                                                                      \
-		uint64_t cmd[sz];                                              \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&			       \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))		       \
-			return 0;                                              \
-		return cn10k_nix_xmit_pkts_vector(tx_queue, tx_pkts, pkts, cmd,\
-						  0, (flags));                 \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/cn10k_tx_vec_mseg.c b/drivers/net/cnxk/cn10k_tx_vec_mseg.c
deleted file mode 100644
index 98000df101..0000000000
--- a/drivers/net/cnxk/cn10k_tx_vec_mseg.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(C) 2021 Marvell.
- */
-
-#include "cn10k_ethdev.h"
-#include "cn10k_tx.h"
-
-#define T(name, f6, f5, f4, f3, f2, f1, f0, sz, flags)                         \
-	uint16_t __rte_noinline __rte_hot cn10k_nix_xmit_pkts_vec_mseg_##name( \
-		void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t pkts)      \
-	{                                                                      \
-		uint64_t cmd[sz];                                              \
-									       \
-		/* For TSO inner checksum is a must */                         \
-		if (((flags) & NIX_TX_OFFLOAD_TSO_F) &&                        \
-		    !((flags) & NIX_TX_OFFLOAD_L3_L4_CSUM_F))                  \
-			return 0;                                              \
-		return cn10k_nix_xmit_pkts_vector(                             \
-			tx_queue, tx_pkts, pkts, cmd, 0,                       \
-			(flags) | NIX_TX_MULTI_SEG_F);                         \
-	}
-
-NIX_TX_FASTPATH_MODES
-#undef T
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index 1fd388a1f0..375c75d1c7 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -107,11 +107,8 @@ sources += files(
         'cn10k_ethdev.c',
         'cn10k_ethdev_sec.c',
         'cn10k_rte_flow.c',
-        'cn10k_tx.c',
-        'cn10k_tx_mseg.c',
-        'cn10k_tx_vec.c',
-        'cn10k_tx_vec_mseg.c',
         'cn10k_rx_select.c',
+        'cn10k_tx_select.c',
 )

 sources += files(
@@ -149,6 +146,42 @@ sources += files(
         'rx/cn10k/rx_112_127_vec_mseg.c',
 )

+sources += files(
+        'tx/cn10k/tx_0_15.c',
+        'tx/cn10k/tx_16_31.c',
+        'tx/cn10k/tx_32_47.c',
+        'tx/cn10k/tx_48_63.c',
+        'tx/cn10k/tx_64_79.c',
+        'tx/cn10k/tx_80_95.c',
+        'tx/cn10k/tx_96_111.c',
+        'tx/cn10k/tx_112_127.c',
+        'tx/cn10k/tx_0_15_mseg.c',
+        'tx/cn10k/tx_16_31_mseg.c',
+        'tx/cn10k/tx_32_47_mseg.c',
+        'tx/cn10k/tx_48_63_mseg.c',
+        'tx/cn10k/tx_64_79_mseg.c',
+        'tx/cn10k/tx_80_95_mseg.c',
+        'tx/cn10k/tx_96_111_mseg.c',
+        'tx/cn10k/tx_112_127_mseg.c',
+        'tx/cn10k/tx_0_15_vec.c',
+        'tx/cn10k/tx_16_31_vec.c',
+        'tx/cn10k/tx_32_47_vec.c',
+        'tx/cn10k/tx_48_63_vec.c',
+        'tx/cn10k/tx_64_79_vec.c',
+        'tx/cn10k/tx_80_95_vec.c',
+        'tx/cn10k/tx_96_111_vec.c',
+        'tx/cn10k/tx_112_127_vec.c',
+        'tx/cn10k/tx_0_15_vec_mseg.c',
+        'tx/cn10k/tx_16_31_vec_mseg.c',
+        'tx/cn10k/tx_32_47_vec_mseg.c',
+        'tx/cn10k/tx_48_63_vec_mseg.c',
+        'tx/cn10k/tx_64_79_vec_mseg.c',
+        'tx/cn10k/tx_80_95_vec_mseg.c',
+        'tx/cn10k/tx_96_111_vec_mseg.c',
+        'tx/cn10k/tx_112_127_vec_mseg.c',
+)
+
+
 deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
 deps += ['common_cnxk', 'mempool_cnxk']

--
2.17.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build
  2021-12-13  8:22 ` [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
@ 2022-01-20  4:53   ` Jerin Jacob
  0 siblings, 0 replies; 9+ messages in thread
From: Jerin Jacob @ 2022-01-20  4:53 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: Jerin Jacob, Thomas Monjalon, David Marchand, Shijith Thotton,
	Nithin Dabilpuram, Kiran Kumar K, Sunil Kumar Kori, Satha Rao,
	Anatoly Burakov, dpdk-dev

On Mon, Dec 13, 2021 at 1:52 PM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Add CN9K seggeregated Rx and event dequeue functions to build,

Fix typo

> add macros to make future modifications simpler.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

Please rebase to latest next-net-mrvl. There is a build issue now.

ccache gcc -Idrivers/libtmp_rte_net_cnxk.a.p -Idrivers -I../drivers
-Idrivers/net/cnxk -I../drivers/net/cnxk -Ilib/ethdev -I../lib/ethdev
-I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include
-Ilib/eal/linux/include -I../lib/
eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include
-Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal
-Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
-Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/n
et -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring
-I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci
-I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci
-Idrivers/bus/vdev -I../drivers/bus/vdev
 -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu
-Ilib/eventdev -I../lib/eventdev -Ilib/hash -I../lib/hash -Ilib/timer
-I../lib/timer -Ilib/security -I../lib/security -Idrivers/common/cnxk
-I../drivers/common/cnxk -Idrivers/mempoo
l/cnxk -I../drivers/mempool/cnxk -fdiagnostics-color=always
-D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -O2 -g -include
rte_config.h -Wextra -Wcast-qual -Wdeprecated -Wformat
-Wformat-nonliteral -Wformat-security -Wmissing-declaratio
ns -Wmissing-prototypes -Wnested-externs -Wold-style-definition
-Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
-Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned
-Wno-missing-field-initializers -Wno-zero-lengt
h-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API
-DALLOW_INTERNAL_API -Wno-format-truncation -flax-vector-conversions
-Wno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.cnxk -MD -MQ
drivers/libtmp_rte_net_cnxk.a.p/net
_cnxk_cn9k_rx_select.c.o -MF
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_rx_select.c.o.d -o
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_cn9k_rx_select.c.o -c
../drivers/net/cnxk/cn9k_rx_select.c
../drivers/net/cnxk/cn9k_rx_select.c: In function ‘cn9k_eth_set_rx_function’:
../drivers/net/cnxk/cn9k_rx_select.c:59:27: error:
"DEV_RX_OFFLOAD_SCATTER" is deprecated [-Werror]
   59 |                 if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/cnxk/cn9k_rx_select.c:64:20: error:
"DEV_RX_OFFLOAD_SCATTER" is deprecated [-Werror]
   64 |         if (dev->rx_offloads & DEV_RX_OFFLOAD_SCATTER)
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-01-20  4:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-13  8:22 [PATCH 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
2021-12-13  8:22 ` [PATCH 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
2022-01-20  4:53   ` Jerin Jacob
2021-12-13  8:22 ` [PATCH 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
2021-12-13  8:22 ` [PATCH 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
2021-12-13  8:22 ` [PATCH 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
2021-12-13  8:22 ` [PATCH 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
2021-12-13  8:22 ` [PATCH 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
2021-12-13  8:22 ` [PATCH 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).