DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions
@ 2022-01-20 14:51 pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
                   ` (8 more replies)
  0 siblings, 9 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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.
 v2 Changes:
 - Rebase, remove depricated macros.

 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] 22+ messages in thread

* [PATCH v2 2/8] net/cnxk: add CN9K template Rx functions to build
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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 8db9775d7b..ef7dec681a 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 cbb6299469..119540c185 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
@@ -853,278 +854,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..d07a5e890c
--- /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 & RTE_ETH_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 & RTE_ETH_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] 22+ messages in thread

* [PATCH v2 3/8] net/cnxk: add CN9K segregated Tx functions
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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] 22+ messages in thread

* [PATCH v2 4/8] net/cnxk: add CN9K template Tx functions to build
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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 ef7dec681a..a5f0cb12db 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 070a7d9439..0c68b241cf 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..c1fb2f41d5
--- /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 & 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/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] 22+ messages in thread

* [PATCH v2 5/8] net/cnxk: add CN10K segregated Rx functions
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (2 preceding siblings ...)
  2022-01-20 14:51 ` [PATCH v2 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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] 22+ messages in thread

* [PATCH v2 6/8] net/cnxk: add CN10K template Rx functions to build
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (3 preceding siblings ...)
  2022-01-20 14:51 ` [PATCH v2 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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..5ca18feb1e
--- /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 & RTE_ETH_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 & RTE_ETH_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] 22+ messages in thread

* [PATCH v2 7/8] net/cnxk: add CN10K segregated Tx functions
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (4 preceding siblings ...)
  2022-01-20 14:51 ` [PATCH v2 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-20 14:51 ` [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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] 22+ messages in thread

* [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (5 preceding siblings ...)
  2022-01-20 14:51 ` [PATCH v2 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
@ 2022-01-20 14:51 ` pbhagavatula
  2022-01-23 11:59   ` Jerin Jacob
  2022-01-21 15:23 ` [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions Jerin Jacob
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
  8 siblings, 1 reply; 22+ messages in thread
From: pbhagavatula @ 2022-01-20 14:51 UTC (permalink / raw)
  To: jerinj, 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 f3a282f429..2c9411f42c 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..0b8e3f35b9
--- /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 & 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_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] 22+ messages in thread

* Re: [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (6 preceding siblings ...)
  2022-01-20 14:51 ` [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
@ 2022-01-21 15:23 ` Jerin Jacob
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
  8 siblings, 0 replies; 22+ messages in thread
From: Jerin Jacob @ 2022-01-21 15:23 UTC (permalink / raw)
  To: Pavan Nikhilesh, Thomas Monjalon, David Marchand, Ferruh Yigit
  Cc: Jerin Jacob, Shijith Thotton, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, dpdk-dev

On Thu, Jan 20, 2022 at 8:21 PM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Add CN9K seggeragated Rx and event dequeue template functions,

1) Please Fix the above typo
2) Please update new files copyright year as 2022.


Rest looks good to me. Please send the next verriosn.

Series Acked-by: Jerin Jacob <jerinj@marvell.com>

Test result:

only lib:
ccache -C && rm -rf build && meson --cross-file
config/arm/arm64_cn10k_linux_gcc  build && time ninja -C build

Without Fix:

real    3m30.233s
user    33m7.904s
sys     1m53.748


With fix:


real    1m24.363s
user    52m9.708s
sys     2m57.342s


lib + examples:

ccache -C && rm -rf build && meson --cross-file
config/arm/arm64_cn10k_linux_gcc -Dexamples=all build && time ninja -C
build

without fix:

real    3m31.282s
user    35m45.109s
sys     2m19.244s

with fix:

real    1m27.245s
user    55m7.614s
sys     3m28.513s




> 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.
>  v2 Changes:
>  - Rebase, remove depricated macros.
>
>  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] 22+ messages in thread

* [PATCH v3 1/8] net/cnxk: add CN9K segregated Rx functions
  2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
                   ` (7 preceding siblings ...)
  2022-01-21 15:23 ` [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions Jerin Jacob
@ 2022-01-22 15:48 ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
                     ` (6 more replies)
  8 siblings, 7 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, Pavan Nikhilesh, Shijith Thotton, Nithin Dabilpuram,
	Kiran Kumar K, Sunil Kumar Kori, Satha Rao
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Split template functions to multiple files based on the range
of offloads. This allows them to be built in parallel reducing
time spent on compiling single files containing all the template
functions.
The files are added to the build system in later patches modifying
the existing scheme of selecting template lookup with a simple
flat array based lookup.

Add CN9K segregated 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.
 v3 Changes:
 - Update year in license header.
 - Add description to the initial patch.
 v2 Changes:
 - Rebase, remove depricated macros.

 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..446f562805
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_0_15.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..6796c8ffff
--- /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) 2022 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..ce4e577239
--- /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) 2022 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..4f36ae2eee
--- /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) 2022 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..0d64fa1f46
--- /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) 2022 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..23e21c29c5
--- /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) 2022 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..eba487394f
--- /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) 2022 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..1bd7ae530c
--- /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) 2022 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..ff004823de
--- /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) 2022 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..e4905b36b6
--- /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) 2022 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..d00aa0ea20
--- /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) 2022 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..ef24b9ef10
--- /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) 2022 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..2f74cc105e
--- /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) 2022 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..dcf127de92
--- /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) 2022 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..b06a6bc6a4
--- /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) 2022 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..378a70bd95
--- /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) 2022 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..8d734beee4
--- /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) 2022 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..f6c02719d8
--- /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) 2022 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..ed89253c6e
--- /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) 2022 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..af72ed944c
--- /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) 2022 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..d2e3c759af
--- /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) 2022 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..9c7fdc927b
--- /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) 2022 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..f1015011a8
--- /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) 2022 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..e5c0ffbc6d
--- /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) 2022 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..67d5380706
--- /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) 2022 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..1121e9f1db
--- /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) 2022 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..b0d4e1eba3
--- /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) 2022 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..931e980572
--- /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) 2022 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..df9b1e63a4
--- /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) 2022 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..30ba882c71
--- /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) 2022 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..badc8346e9
--- /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) 2022 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..c79a159b01
--- /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) 2022 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..f8ee78dc51
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_112_127.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..e59cf0654a
--- /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) 2022 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..3ef8f438ee
--- /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) 2022 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..81d12dc553
--- /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) 2022 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..7f5e9da9eb
--- /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) 2022 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..a476064ae5
--- /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) 2022 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..14305ff0f0
--- /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) 2022 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..8d5b19a9b4
--- /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) 2022 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..35004a8ac4
--- /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) 2022 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..29f1341a32
--- /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) 2022 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..c2a0409dc1
--- /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) 2022 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..be81ac1fbe
--- /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) 2022 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..333920acb2
--- /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) 2022 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..6ba41b8104
--- /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) 2022 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..bd1643e8bb
--- /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) 2022 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..ffc571942f
--- /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) 2022 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..ec47a20be0
--- /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) 2022 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..58aa93f85a
--- /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) 2022 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..88e4b92b02
--- /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) 2022 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..737a24332e
--- /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) 2022 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..493ae28313
--- /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) 2022 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..a447c39a8f
--- /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) 2022 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..9b2841c723
--- /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) 2022 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..d3527e6e00
--- /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) 2022 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..9da34219ff
--- /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) 2022 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..91a4caec98
--- /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) 2022 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..53ab547538
--- /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) 2022 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..05513281f3
--- /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) 2022 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..3e4a898886
--- /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) 2022 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..f4da1c8138
--- /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) 2022 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..524e10544c
--- /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) 2022 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..4e26e8364f
--- /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) 2022 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..7db3de6c8f
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_16_31.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..4a0be77703
--- /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) 2022 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..b260fdadf0
--- /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) 2022 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..ae2e48a272
--- /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) 2022 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..2258d53a4d
--- /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) 2022 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..206e03ce80
--- /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) 2022 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..9c6b6dd2e6
--- /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) 2022 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..8318627a3d
--- /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) 2022 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..b6d00400f6
--- /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) 2022 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..a1cad96f70
--- /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) 2022 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..bd911ee843
--- /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) 2022 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..8d02245b23
--- /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) 2022 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..42de2be889
--- /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) 2022 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..8fb19a8d33
--- /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) 2022 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..6904d3c742
--- /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) 2022 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..de0e91e8bd
--- /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) 2022 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..8a0bf384f8
--- /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) 2022 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..ccf9a3f00e
--- /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) 2022 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..af4f900987
--- /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) 2022 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..6dd99f72d7
--- /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) 2022 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..5d11d2a40c
--- /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) 2022 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..cfbb722527
--- /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) 2022 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..aa03e2bb74
--- /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) 2022 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..13728f4d69
--- /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) 2022 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..7cb9256b70
--- /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) 2022 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..0443303ee2
--- /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) 2022 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..43aa9cd9bf
--- /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) 2022 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..aba167e0fa
--- /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) 2022 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..3169b29beb
--- /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) 2022 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..512e6f32d9
--- /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) 2022 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..eb87736337
--- /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) 2022 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..b04c5fc242
--- /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) 2022 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..8d0970e389
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_32_47.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..022eeee9bc
--- /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) 2022 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..f2ef6cc6b8
--- /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) 2022 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..313ecc7390
--- /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) 2022 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..ae8cd5be6f
--- /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) 2022 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..40ecba6231
--- /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) 2022 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..10a2b6a752
--- /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) 2022 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..fbe3a7338a
--- /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) 2022 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..6366b50091
--- /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) 2022 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..5749a3c08f
--- /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) 2022 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..1278f26742
--- /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) 2022 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..241e5290fb
--- /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) 2022 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..2ba290970e
--- /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) 2022 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..b2f7d142b7
--- /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) 2022 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..abb7093e38
--- /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) 2022 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..086398937a
--- /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) 2022 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..11e03c41c6
--- /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) 2022 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..64daa1c5af
--- /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) 2022 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..5ef0cbfc27
--- /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) 2022 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..fc604c7e3a
--- /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) 2022 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..a1f2b69005
--- /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) 2022 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..e9ae964fa9
--- /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) 2022 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..fcbace5425
--- /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) 2022 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..1db4980cb0
--- /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) 2022 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..57e29d3bb9
--- /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) 2022 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..74b408da71
--- /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) 2022 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..fb260d1ec4
--- /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) 2022 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..07db4f0791
--- /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) 2022 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..7ad22d5b81
--- /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) 2022 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..5a5006cf88
--- /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) 2022 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..e7e5c71bb8
--- /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) 2022 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..fdc438d6f2
--- /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) 2022 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..a70c7916f7
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_48_63.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..598153cd02
--- /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) 2022 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..0033b7ac8d
--- /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) 2022 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..939811ac86
--- /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) 2022 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..16ddbbaa6d
--- /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) 2022 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..6c2aeddb0a
--- /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) 2022 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..66adc2a6c7
--- /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) 2022 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..7337e071c0
--- /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) 2022 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..eaa7bdd39d
--- /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) 2022 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..89b42c63b8
--- /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) 2022 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..8b5e9c0802
--- /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) 2022 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..7faef8f320
--- /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) 2022 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..e92ada449b
--- /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) 2022 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..a72d7e7dcf
--- /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) 2022 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..d299c4f2fd
--- /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) 2022 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..decf0bfcc1
--- /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) 2022 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..218f72aeec
--- /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) 2022 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..8232bbdd1c
--- /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) 2022 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..4f03ca514b
--- /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) 2022 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..fdd8a05520
--- /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) 2022 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..98d74018de
--- /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) 2022 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..d883dced4d
--- /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) 2022 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..d304d9a4aa
--- /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) 2022 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..44fa135323
--- /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) 2022 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..3f763196d4
--- /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) 2022 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..bd73141256
--- /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) 2022 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..7c8b92c24a
--- /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) 2022 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..ce4102bfa7
--- /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) 2022 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..340f19701f
--- /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) 2022 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..6e60f9bf70
--- /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) 2022 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..c64a4f88f6
--- /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) 2022 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..1b55c9b067
--- /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) 2022 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..b6068d3d38
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_64_79.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..d0d8c3ffcd
--- /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) 2022 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..ad76b572dd
--- /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) 2022 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..7c98aeaff7
--- /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) 2022 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..28ce2dda66
--- /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) 2022 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..183984ca86
--- /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) 2022 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..1d89f9db5d
--- /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) 2022 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..f83435b818
--- /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) 2022 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..7e721ba3d9
--- /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) 2022 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..b767416d9a
--- /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) 2022 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..9b4f38e0db
--- /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) 2022 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..4f06f7b533
--- /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) 2022 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..22d1294310
--- /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) 2022 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..4ef92f7d65
--- /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) 2022 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..6132f83d51
--- /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) 2022 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..2017f3fa87
--- /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) 2022 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..f72d6bcc93
--- /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) 2022 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..6d646d8c4e
--- /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) 2022 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..310fd3c948
--- /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) 2022 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..9e7afaf2ca
--- /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) 2022 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..fc6d2e1c1a
--- /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) 2022 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..f771465935
--- /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) 2022 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..19d6c29b47
--- /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) 2022 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..7b9eac1dee
--- /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) 2022 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..16325f9ad6
--- /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) 2022 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..1d1e7368f9
--- /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) 2022 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..7722f3d6e4
--- /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) 2022 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..fcfcdc019c
--- /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) 2022 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..f1e2d3ffb9
--- /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) 2022 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..e9d65ce2df
--- /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) 2022 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..be0bee1f95
--- /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) 2022 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..705061eeb3
--- /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) 2022 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..54a909009b
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_80_95.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..3d3a862d9f
--- /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) 2022 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..67c527b143
--- /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) 2022 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..97d826458f
--- /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) 2022 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..38769c473e
--- /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) 2022 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..77d857b3d6
--- /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) 2022 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..d48f314d3b
--- /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) 2022 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..894546b0bc
--- /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) 2022 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..e704ee256b
--- /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) 2022 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..b1fac5c5fd
--- /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) 2022 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..b045d3d618
--- /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) 2022 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..99144b2988
--- /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) 2022 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..5c4548752b
--- /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) 2022 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..8c4e17f2eb
--- /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) 2022 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..b18af8f8b5
--- /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) 2022 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..ba58284bff
--- /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) 2022 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..3f8fa2de06
--- /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) 2022 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..03027f809a
--- /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) 2022 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..27bb4f00fa
--- /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) 2022 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..8cb3a07508
--- /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) 2022 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..063d0db0a7
--- /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) 2022 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..bb69ecb328
--- /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) 2022 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..f33a7f2400
--- /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) 2022 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..5ed3a1e18b
--- /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) 2022 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..5d37375cc7
--- /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) 2022 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..7370a77ff2
--- /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) 2022 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..7642fef84b
--- /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) 2022 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..eb8c5af468
--- /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) 2022 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..378171adb2
--- /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) 2022 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..330f9c8948
--- /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) 2022 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..2755e56396
--- /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) 2022 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..8fb83d5202
--- /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) 2022 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..f5688cefce
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn9k/deq_96_111.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..8fcb39d31e
--- /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) 2022 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..8424824de1
--- /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) 2022 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..1cb92b3db1
--- /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) 2022 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..ef3248cdf0
--- /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) 2022 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..1faf9ead39
--- /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) 2022 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..5df139ecc2
--- /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) 2022 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..1ce5f30c1c
--- /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) 2022 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..def241f0dc
--- /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) 2022 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..10f2821f63
--- /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) 2022 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..06a84f8b04
--- /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) 2022 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..66de5feaf8
--- /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) 2022 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..d1b4378ad7
--- /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) 2022 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..c3060bdf6c
--- /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) 2022 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..2d6e44c3e3
--- /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) 2022 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..57923eb615
--- /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) 2022 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..a448618adf
--- /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) 2022 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..b6d1973767
--- /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) 2022 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..b0b78b1be7
--- /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) 2022 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..1e95e2755d
--- /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) 2022 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..007724706f
--- /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) 2022 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..ba77a8f783
--- /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) 2022 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..17c53e06f0
--- /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) 2022 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..331d55515f
--- /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) 2022 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..990e0620ba
--- /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) 2022 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..162fc48965
--- /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) 2022 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..124b96d81a
--- /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) 2022 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..129d7ac91f
--- /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) 2022 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..0a61b4eb2a
--- /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) 2022 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..30124e86bb
--- /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) 2022 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..a3cc1dcc99
--- /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) 2022 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..3ad0aaf80e
--- /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) 2022 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..3afc058870
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..f797e3a1fc
--- /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) 2022 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..b16a0e2f1d
--- /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) 2022 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..d51f7491b5
--- /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) 2022 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..5240a0ea6b
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..8f3b0ff7e4
--- /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) 2022 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..ffb7fee187
--- /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) 2022 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..af4fdd1c67
--- /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) 2022 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..322c4c7cf7
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..146973a784
--- /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) 2022 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..8aaaffefbf
--- /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) 2022 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..bf75c0116b
--- /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) 2022 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..4b0b630224
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..718b0491f0
--- /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) 2022 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..af9550379e
--- /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) 2022 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..4f5521f5ba
--- /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) 2022 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..490a9cfce5
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..230a9315ea
--- /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) 2022 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..a9a00024a3
--- /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) 2022 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..0b0411b338
--- /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) 2022 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..0a60bc76cf
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..b847dd2fb5
--- /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) 2022 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..b8fe924033
--- /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) 2022 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..ba42783e4d
--- /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) 2022 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..4f322f2984
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..4a3e254d09
--- /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) 2022 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..a6a7893efa
--- /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) 2022 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..5472e638fe
--- /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) 2022 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..27e27edd29
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn9k/rx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..7989e61982
--- /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) 2022 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..9df9f7a6fa
--- /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) 2022 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..7170e5d215
--- /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) 2022 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] 22+ messages in thread

* [PATCH v3 2/8] net/cnxk: add CN9K template Rx functions to build
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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 8db9775d7b..ef7dec681a 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 cbb6299469..119540c185 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
@@ -853,278 +854,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..d07a5e890c
--- /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 & RTE_ETH_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 & RTE_ETH_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] 22+ messages in thread

* [PATCH v3 3/8] net/cnxk: add CN9K segregated Tx functions
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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..085901ee55
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_0_15.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..19514256e0
--- /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) 2022 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..ed8c2e2b28
--- /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) 2022 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..ca0e4515b2
--- /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) 2022 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..a46790c9ac
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_112_127.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..1a8d74a4ff
--- /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) 2022 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..f37db03318
--- /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) 2022 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..a52071817f
--- /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) 2022 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..9165a472e4
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_16_31.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..20356577c7
--- /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) 2022 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..c23abf103f
--- /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) 2022 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..ceea07eb47
--- /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) 2022 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..f44215bc0f
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_32_47.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..6b57b6f307
--- /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) 2022 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..a5ac3b05ac
--- /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) 2022 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..19693816d9
--- /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) 2022 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..10efcb8190
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_48_63.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..9fc4cffc33
--- /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) 2022 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..885115ada4
--- /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) 2022 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..5a2a11c985
--- /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) 2022 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..2820c01350
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_64_79.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..b07b8b15d1
--- /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) 2022 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..520c400543
--- /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) 2022 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..1360418e76
--- /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) 2022 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..34f747f254
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_80_95.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..babd25d698
--- /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) 2022 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..da9348008e
--- /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) 2022 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..7c31a9d6f5
--- /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) 2022 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..97f5630ba5
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn9k/tx_96_111.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..ed3ec15fdd
--- /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) 2022 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..c284247703
--- /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) 2022 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..640bee0a00
--- /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) 2022 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..6d6465b6cf
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..3a807104bb
--- /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) 2022 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..ace5f43209
--- /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) 2022 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..23056214ca
--- /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) 2022 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..1882e72cb1
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..b2d09e2074
--- /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) 2022 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..9ebb1bd82a
--- /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) 2022 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..e045b9eebc
--- /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) 2022 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..dd4d6db763
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..0296e054cc
--- /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) 2022 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..aaff8ad7db
--- /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) 2022 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..056b0b11ec
--- /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) 2022 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..b9429a996d
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..82252abdb1
--- /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) 2022 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..a19445dd91
--- /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) 2022 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..3f6a194394
--- /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) 2022 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..8510d09cc4
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..5e65d12b2f
--- /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) 2022 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..d39acccb92
--- /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) 2022 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..3ffa9508b7
--- /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) 2022 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..0a972cf3e9
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..610e3903b2
--- /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) 2022 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..863cc8e1ee
--- /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) 2022 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..c3b96cfadf
--- /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) 2022 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..3ae3da2962
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..5e6933644b
--- /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) 2022 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..5bf2a32230
--- /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) 2022 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..684ebb03a9
--- /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) 2022 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..8484562dc3
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn9k/tx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..d006da6450
--- /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) 2022 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..a86e9fced5
--- /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) 2022 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..8e0dbec518
--- /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) 2022 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] 22+ messages in thread

* [PATCH v3 4/8] net/cnxk: add CN9K template Tx functions to build
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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 ef7dec681a..a5f0cb12db 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 070a7d9439..0c68b241cf 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..c1fb2f41d5
--- /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 & 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/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] 22+ messages in thread

* [PATCH v3 5/8] net/cnxk: add CN10K segregated Rx functions
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
                     ` (2 preceding siblings ...)
  2022-01-22 15:48   ` [PATCH v3 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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..8359f11fa3
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_0_15.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..853ffe7bc8
--- /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) 2022 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..6ddc37885f
--- /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) 2022 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..799598c0d8
--- /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) 2022 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..a21a36a55b
--- /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) 2022 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..fa3a18aa37
--- /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) 2022 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..46abcf25fb
--- /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) 2022 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..b50cfa27d2
--- /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) 2022 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..1f4b814189
--- /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) 2022 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..e002f65ba2
--- /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) 2022 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..d808f40b1c
--- /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) 2022 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..2203ffaf41
--- /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) 2022 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..ac3d1f6b00
--- /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) 2022 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..f250c04fdc
--- /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) 2022 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..a79d60889a
--- /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) 2022 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..a22e985160
--- /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) 2022 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..307b2576ad
--- /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) 2022 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..fe791fd68e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_112_127.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..09866c58b4
--- /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) 2022 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..232b90761e
--- /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) 2022 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..e14675c2b0
--- /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) 2022 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..d30afcce7a
--- /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) 2022 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..b74cef721d
--- /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) 2022 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..2ff4891293
--- /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) 2022 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..e13463dec3
--- /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) 2022 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..b084639325
--- /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) 2022 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..c008d7a0ba
--- /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) 2022 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..b69b1cce0b
--- /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) 2022 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..94dc43d3d5
--- /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) 2022 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..579a9a67c0
--- /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) 2022 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..c1425f9629
--- /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) 2022 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..e881aef1ac
--- /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) 2022 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..46ac501f85
--- /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) 2022 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..b52c556fd3
--- /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) 2022 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..790ab3217e
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_16_31.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..2469b0acb5
--- /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) 2022 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..a4797a1363
--- /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) 2022 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..0ac48e5fa0
--- /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) 2022 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..2cce839f50
--- /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) 2022 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..4c4bcfc6dd
--- /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) 2022 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..4c6ecb2aab
--- /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) 2022 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..8512ea497e
--- /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) 2022 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..1123aabf9e
--- /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) 2022 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..d02067e757
--- /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) 2022 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..4186835661
--- /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) 2022 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..1964080771
--- /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) 2022 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..15cba8d6c9
--- /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) 2022 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..d5fc927660
--- /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) 2022 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..3b3d76b22e
--- /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) 2022 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..b15c6fcac4
--- /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) 2022 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..4c44086cc1
--- /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) 2022 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..7c6906ef64
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_32_47.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..8259fc2d59
--- /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) 2022 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..79db74ded9
--- /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) 2022 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..04eca6336e
--- /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) 2022 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..0bf9a4f757
--- /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) 2022 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..460dd3a712
--- /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) 2022 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..660ea00e6b
--- /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) 2022 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..6f2d39ee3d
--- /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) 2022 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..caa4b75d6f
--- /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) 2022 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..d6ee581b18
--- /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) 2022 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..4f77a9796a
--- /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) 2022 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..59cf0dd5d7
--- /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) 2022 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..dbd6d14ce2
--- /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) 2022 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..993c1a84c7
--- /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) 2022 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..dd8573dda6
--- /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) 2022 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..23914ea6dd
--- /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) 2022 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..ff3f82771f
--- /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) 2022 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..baa19ef664
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_48_63.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..01557d6303
--- /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) 2022 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..7069cc8a65
--- /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) 2022 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..f890f0ca94
--- /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) 2022 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..373abf8c2d
--- /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) 2022 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..c8e3a4ea50
--- /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) 2022 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..b21648551c
--- /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) 2022 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..40efdf7d84
--- /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) 2022 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..e30a01d9d6
--- /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) 2022 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..4e56a67b8d
--- /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) 2022 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..c38af0ff87
--- /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) 2022 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..6f36e4941a
--- /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) 2022 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..842cc2e60c
--- /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) 2022 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..c21f598ee1
--- /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) 2022 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..68f1c9c636
--- /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) 2022 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..06549d7737
--- /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) 2022 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..4e27885af2
--- /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) 2022 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..c64dfde2c9
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_64_79.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..29ec54286f
--- /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) 2022 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..e58aece2fe
--- /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) 2022 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..66c44478f0
--- /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) 2022 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..b7fa76e0b1
--- /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) 2022 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..5b1232359d
--- /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) 2022 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..4b63c5cf17
--- /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) 2022 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..be77fb8265
--- /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) 2022 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..441528ccff
--- /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) 2022 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..95c20a55ef
--- /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) 2022 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..64e9e1a3e2
--- /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) 2022 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..f166aa55f6
--- /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) 2022 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..e0f141e6b6
--- /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) 2022 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..d0dacb50a2
--- /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) 2022 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..4b5b63e03d
--- /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) 2022 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..9899e4d7bd
--- /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) 2022 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..6a6e2310d2
--- /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) 2022 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..2b3017a8aa
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_80_95.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..c0723980ab
--- /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) 2022 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..37c2e8720a
--- /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) 2022 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..286a4b5906
--- /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) 2022 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..e99e7e13d3
--- /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) 2022 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..8d44f6ccf9
--- /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) 2022 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..c9b518c2f8
--- /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) 2022 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..3ffd6a7d8a
--- /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) 2022 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..b4c0f23010
--- /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) 2022 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..a19ecf7f25
--- /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) 2022 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..9dd8542cae
--- /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) 2022 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..688ca922a4
--- /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) 2022 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..baf006945a
--- /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) 2022 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..ad2e644785
--- /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) 2022 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..ecfb08a869
--- /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) 2022 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..1610f3ee2c
--- /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) 2022 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..d4854f90ac
--- /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) 2022 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..6da5d17b29
--- /dev/null
+++ b/drivers/event/cnxk/deq/cn10k/deq_96_111.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..e7b2a89dc8
--- /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) 2022 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..178049bc3e
--- /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) 2022 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..acd1efbe69
--- /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) 2022 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..023fad9e8b
--- /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) 2022 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..feb3078847
--- /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) 2022 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..3b0008b8f1
--- /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) 2022 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..198bb27ad6
--- /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) 2022 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..9ab6fb54b8
--- /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) 2022 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..7c3f41bc71
--- /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) 2022 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..3feef4413f
--- /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) 2022 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..ed9711c6dc
--- /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) 2022 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..6d06b07892
--- /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) 2022 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..a9ce488779
--- /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) 2022 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..5badd56e63
--- /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) 2022 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..6cacfb6ee0
--- /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) 2022 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..321c49bba8
--- /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) 2022 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..50135e7252
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..fbcb35d3a6
--- /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) 2022 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..63fa34e6d7
--- /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) 2022 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..94dfade1fd
--- /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) 2022 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..c3fa34ccb4
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..1016942ed0
--- /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) 2022 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..7aeb0f22ba
--- /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) 2022 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..415022af9a
--- /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) 2022 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..66436879c5
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..0f253baecb
--- /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) 2022 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..d0866043db
--- /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) 2022 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..0f919d3456
--- /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) 2022 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..fca899eb27
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..fda888071a
--- /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) 2022 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..117e5d5513
--- /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) 2022 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..626a4684d2
--- /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) 2022 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..daf5fb9740
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..b169862a71
--- /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) 2022 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..79f124a632
--- /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) 2022 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..6ee58cd126
--- /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) 2022 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..bdae0f98f9
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..7b21384479
--- /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) 2022 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..6c7c6e747b
--- /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) 2022 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..e1f1354932
--- /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) 2022 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..14ea0fd67c
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..5672e87fbc
--- /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) 2022 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..bc85897387
--- /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) 2022 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..45965ba313
--- /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) 2022 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..e3b4cd0de5
--- /dev/null
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..77f383d7d4
--- /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) 2022 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..a12c665355
--- /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) 2022 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..5ef7386202
--- /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) 2022 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] 22+ messages in thread

* [PATCH v3 6/8] net/cnxk: add CN10K template Rx functions to build
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
                     ` (3 preceding siblings ...)
  2022-01-22 15:48   ` [PATCH v3 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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..5ca18feb1e
--- /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 & RTE_ETH_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 & RTE_ETH_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] 22+ messages in thread

* [PATCH v3 7/8] net/cnxk: add CN10K segregated Tx functions
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
                     ` (4 preceding siblings ...)
  2022-01-22 15:48   ` [PATCH v3 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  2022-01-22 15:48   ` [PATCH v3 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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..bae3a62eac
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_0_15.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..0ffd0e50f7
--- /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) 2022 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..02c9ab1ae1
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_112_127.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..b0abd8b328
--- /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) 2022 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..cd6b1b56f8
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_16_31.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..52cbe5932f
--- /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) 2022 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..5dd3aad0f3
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_32_47.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..a8e73445ff
--- /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) 2022 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..8cd5c663d7
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_48_63.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..71efca9478
--- /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) 2022 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..36aea254e5
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_64_79.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..918f9b6d3b
--- /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) 2022 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..e400c1546e
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_80_95.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..21a76b59fb
--- /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) 2022 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..6679b9aa28
--- /dev/null
+++ b/drivers/event/cnxk/tx/cn10k/tx_96_111.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..9430a92fc3
--- /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) 2022 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..d2f6288878
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..17f53f4008
--- /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) 2022 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..4d3936ddcc
--- /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) 2022 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..032d2190c1
--- /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) 2022 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..0cf2d3553e
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..08b7809af6
--- /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) 2022 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..9e2f1d7db3
--- /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) 2022 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..9797de238f
--- /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) 2022 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..bf243c6855
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..dde27f0944
--- /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) 2022 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..cae2ab8af5
--- /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) 2022 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..0b5d9e47d1
--- /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) 2022 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..dde45c024e
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..257c392f27
--- /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) 2022 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..7a833022f7
--- /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) 2022 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..c66edbc211
--- /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) 2022 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..a42bac3fca
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..9aece25db7
--- /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) 2022 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..1b854e5d87
--- /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) 2022 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..18389c309f
--- /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) 2022 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..9638ec04e8
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..e002c72d58
--- /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) 2022 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..762ff4da49
--- /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) 2022 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..794cbe8650
--- /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) 2022 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..a4cdf3bb18
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..114e90b1f9
--- /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) 2022 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..c9bb93b4c6
--- /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) 2022 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..c0c7c02a27
--- /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) 2022 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..3244322164
--- /dev/null
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111.c
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 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..cc8182da2d
--- /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) 2022 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..422d2e4e1c
--- /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) 2022 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..dbefae02e0
--- /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) 2022 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] 22+ messages in thread

* [PATCH v3 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
                     ` (5 preceding siblings ...)
  2022-01-22 15:48   ` [PATCH v3 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
@ 2022-01-22 15:48   ` pbhagavatula
  6 siblings, 0 replies; 22+ messages in thread
From: pbhagavatula @ 2022-01-22 15:48 UTC (permalink / raw)
  To: jerinj, 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 f3a282f429..2c9411f42c 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..0b8e3f35b9
--- /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 & 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_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] 22+ messages in thread

* Re: [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-20 14:51 ` [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
@ 2022-01-23 11:59   ` Jerin Jacob
  2022-01-24  9:52     ` Ferruh Yigit
  0 siblings, 1 reply; 22+ messages in thread
From: Jerin Jacob @ 2022-01-23 11:59 UTC (permalink / raw)
  To: Pavan Nikhilesh, Ferruh Yigit
  Cc: Jerin Jacob, Shijith Thotton, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, dpdk-dev

On Thu, Jan 20, 2022 at 8:23 PM <pbhagavatula@marvell.com> wrote:
>
> 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>

Series Acked-by: Jerin Jacob <jerinj@marvell.com>
Tested and captured build time improvement at [3].

Series applied to dpdk-next-net-mrvl/for-next-net with following
changes[2]. Thanks.

Hi Ferruh.
Noticed ICC failure with this patch[1]. Not sure is this a CI issue or
not? I don't have set up with ICC. If it some ICC compiler issue then
it is OK to remove ICC build support for cnxk drivers.

[1]
http://mails.dpdk.org/archives/test-report/2022-January/253920.html

[2]
- Changed CN9K/CN10K to cn9k/cn10k in commit messages
- Removed extra line from meson.build.

[main]dell[dpdk.org] $ git diff
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index 375c75d1c7..cd8c13bd1c 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -181,7 +181,6 @@ sources += files(
         'tx/cn10k/tx_112_127_vec_mseg.c',
 )

-
 deps += ['bus_pci', 'cryptodev', 'eventdev', 'security']
 deps += ['common_cnxk', 'mempool_cnxk']


 [3]

Test result:

only lib:
ccache -C && rm -rf build && meson --cross-file
config/arm/arm64_cn10k_linux_gcc  build && time ninja -C build

Without Fix:

real    3m30.233s
user    33m7.904s
sys     1m53.748


With fix:


real    1m24.363s
user    52m9.708s
sys     2m57.342s


lib + examples:

ccache -C && rm -rf build && meson --cross-file
config/arm/arm64_cn10k_linux_gcc -Dexamples=all build && time ninja -C
build

without fix:

real    3m31.282s
user    35m45.109s
sys     2m19.244s

with fix:

real    1m27.245s
user    55m7.614s
sys     3m28.513s

> ---
>  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 f3a282f429..2c9411f42c 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..0b8e3f35b9
> --- /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 & 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_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] 22+ messages in thread

* Re: [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-23 11:59   ` Jerin Jacob
@ 2022-01-24  9:52     ` Ferruh Yigit
  2022-01-24 10:18       ` Ferruh Yigit
  2022-01-24 12:01       ` Ferruh Yigit
  0 siblings, 2 replies; 22+ messages in thread
From: Ferruh Yigit @ 2022-01-24  9:52 UTC (permalink / raw)
  To: Jerin Jacob, Pavan Nikhilesh
  Cc: Jerin Jacob, Shijith Thotton, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, dpdk-dev

On 1/23/2022 11:59 AM, Jerin Jacob wrote:
> On Thu, Jan 20, 2022 at 8:23 PM<pbhagavatula@marvell.com>  wrote:
>> 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>
> Series Acked-by: Jerin Jacob<jerinj@marvell.com>
> Tested and captured build time improvement at [3].
> 
> Series applied to dpdk-next-net-mrvl/for-next-net with following
> changes[2]. Thanks.
> 
> Hi Ferruh.
> Noticed ICC failure with this patch[1]. Not sure is this a CI issue or
> not? I don't have set up with ICC. If it some ICC compiler issue then
> it is OK to remove ICC build support for cnxk drivers.
> 

Error is file not found [3]? Something may be wrong in the environment,
I will test.



> [1]
> http://mails.dpdk.org/archives/test-report/2022-January/253920.html
> 
> [2]
> - Changed CN9K/CN10K to cn9k/cn10k in commit messages
> - Removed extra line from meson.build.

[3]
icc: error #10236: File not found:  ''-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/''

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

* Re: [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-24  9:52     ` Ferruh Yigit
@ 2022-01-24 10:18       ` Ferruh Yigit
  2022-01-24 11:56         ` Jerin Jacob
  2022-01-24 12:01       ` Ferruh Yigit
  1 sibling, 1 reply; 22+ messages in thread
From: Ferruh Yigit @ 2022-01-24 10:18 UTC (permalink / raw)
  To: Jerin Jacob, Pavan Nikhilesh
  Cc: Jerin Jacob, Shijith Thotton, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, dpdk-dev

On 1/24/2022 9:52 AM, Ferruh Yigit wrote:
> On 1/23/2022 11:59 AM, Jerin Jacob wrote:
>> On Thu, Jan 20, 2022 at 8:23 PM<pbhagavatula@marvell.com>  wrote:
>>> 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>
>> Series Acked-by: Jerin Jacob<jerinj@marvell.com>
>> Tested and captured build time improvement at [3].
>>
>> Series applied to dpdk-next-net-mrvl/for-next-net with following
>> changes[2]. Thanks.
>>

btw, I can see a v3 is out, but merge message is to the v2, can you
confirm a newer patchset is not missed?

>> Hi Ferruh.
>> Noticed ICC failure with this patch[1]. Not sure is this a CI issue or
>> not? I don't have set up with ICC. If it some ICC compiler issue then
>> it is OK to remove ICC build support for cnxk drivers.
>>
> 
> Error is file not found [3]? Something may be wrong in the environment,
> I will test.
> 
> 
> 
>> [1]
>> http://mails.dpdk.org/archives/test-report/2022-January/253920.html
>>
>> [2]
>> - Changed CN9K/CN10K to cn9k/cn10k in commit messages
>> - Removed extra line from meson.build.
> 
> [3]
> icc: error #10236: File not found:  ''-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/''


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

* Re: [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-24 10:18       ` Ferruh Yigit
@ 2022-01-24 11:56         ` Jerin Jacob
  0 siblings, 0 replies; 22+ messages in thread
From: Jerin Jacob @ 2022-01-24 11:56 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Pavan Nikhilesh, Jerin Jacob, Shijith Thotton, Nithin Dabilpuram,
	Kiran Kumar K, Sunil Kumar Kori, Satha Rao, dpdk-dev

On Mon, Jan 24, 2022 at 3:48 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
>
> On 1/24/2022 9:52 AM, Ferruh Yigit wrote:
> > On 1/23/2022 11:59 AM, Jerin Jacob wrote:
> >> On Thu, Jan 20, 2022 at 8:23 PM<pbhagavatula@marvell.com>  wrote:
> >>> 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>
> >> Series Acked-by: Jerin Jacob<jerinj@marvell.com>
> >> Tested and captured build time improvement at [3].
> >>
> >> Series applied to dpdk-next-net-mrvl/for-next-net with following
> >> changes[2]. Thanks.
> >>
>
> btw, I can see a v3 is out, but merge message is to the v2, can you
> confirm a newer patchset is not missed?

Yes. v3 is merged,


>
> >> Hi Ferruh.
> >> Noticed ICC failure with this patch[1]. Not sure is this a CI issue or
> >> not? I don't have set up with ICC. If it some ICC compiler issue then
> >> it is OK to remove ICC build support for cnxk drivers.
> >>
> >
> > Error is file not found [3]? Something may be wrong in the environment,
> > I will test.
> >
> >
> >
> >> [1]
> >> http://mails.dpdk.org/archives/test-report/2022-January/253920.html
> >>
> >> [2]
> >> - Changed CN9K/CN10K to cn9k/cn10k in commit messages
> >> - Removed extra line from meson.build.
> >
> > [3]
> > icc: error #10236: File not found:  ''-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/''
>

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

* Re: [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build
  2022-01-24  9:52     ` Ferruh Yigit
  2022-01-24 10:18       ` Ferruh Yigit
@ 2022-01-24 12:01       ` Ferruh Yigit
  1 sibling, 0 replies; 22+ messages in thread
From: Ferruh Yigit @ 2022-01-24 12:01 UTC (permalink / raw)
  To: Jerin Jacob, Pavan Nikhilesh
  Cc: Jerin Jacob, Shijith Thotton, Nithin Dabilpuram, Kiran Kumar K,
	Sunil Kumar Kori, Satha Rao, dpdk-dev

On 1/24/2022 9:52 AM, Ferruh Yigit wrote:
> On 1/23/2022 11:59 AM, Jerin Jacob wrote:
>> On Thu, Jan 20, 2022 at 8:23 PM<pbhagavatula@marvell.com>  wrote:
>>> 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>
>> Series Acked-by: Jerin Jacob<jerinj@marvell.com>
>> Tested and captured build time improvement at [3].
>>
>> Series applied to dpdk-next-net-mrvl/for-next-net with following
>> changes[2]. Thanks.
>>
>> Hi Ferruh.
>> Noticed ICC failure with this patch[1]. Not sure is this a CI issue or
>> not? I don't have set up with ICC. If it some ICC compiler issue then
>> it is OK to remove ICC build support for cnxk drivers.
>>
> 
> Error is file not found [3]? Something may be wrong in the environment,
> I will test.
> 

I can't able to test. Intel is switching to 'oneapi' toolset, that is why
ICC is not updated for a while, and after OS update ICC doesn't work well
with stdlib in my system.

I suggest ignoring this ICC error, since there is no reported code issue,
and we can think ICC support in DPDK altogether.

> 
> 
>> [1]
>> http://mails.dpdk.org/archives/test-report/2022-January/253920.html
>>
>> [2]
>> - Changed CN9K/CN10K to cn9k/cn10k in commit messages
>> - Removed extra line from meson.build.
> 
> [3]
> icc: error #10236: File not found:  ''-Wl,-rpath,$ORIGIN/../lib:$ORIGIN/''


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

end of thread, other threads:[~2022-01-24 12:01 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-20 14:51 [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions pbhagavatula
2022-01-20 14:51 ` [PATCH v2 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
2022-01-20 14:51 ` [PATCH v2 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
2022-01-20 14:51 ` [PATCH v2 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
2022-01-20 14:51 ` [PATCH v2 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
2022-01-20 14:51 ` [PATCH v2 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
2022-01-20 14:51 ` [PATCH v2 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
2022-01-20 14:51 ` [PATCH v2 8/8] net/cnxk: add CN10K template Tx functions to build pbhagavatula
2022-01-23 11:59   ` Jerin Jacob
2022-01-24  9:52     ` Ferruh Yigit
2022-01-24 10:18       ` Ferruh Yigit
2022-01-24 11:56         ` Jerin Jacob
2022-01-24 12:01       ` Ferruh Yigit
2022-01-21 15:23 ` [PATCH v2 1/8] net/cnxk: add CN9K segregated Rx functions Jerin Jacob
2022-01-22 15:48 ` [PATCH v3 " pbhagavatula
2022-01-22 15:48   ` [PATCH v3 2/8] net/cnxk: add CN9K template Rx functions to build pbhagavatula
2022-01-22 15:48   ` [PATCH v3 3/8] net/cnxk: add CN9K segregated Tx functions pbhagavatula
2022-01-22 15:48   ` [PATCH v3 4/8] net/cnxk: add CN9K template Tx functions to build pbhagavatula
2022-01-22 15:48   ` [PATCH v3 5/8] net/cnxk: add CN10K segregated Rx functions pbhagavatula
2022-01-22 15:48   ` [PATCH v3 6/8] net/cnxk: add CN10K template Rx functions to build pbhagavatula
2022-01-22 15:48   ` [PATCH v3 7/8] net/cnxk: add CN10K segregated Tx functions pbhagavatula
2022-01-22 15:48   ` [PATCH v3 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).