This patchset adds initial support for common code for Marvell CN10K SoC. Based on this common 'cnxk' driver, new PMD's such as 'net/cnxk', 'mempool/cnxk', 'event/cnxk' etc, will be added later on.
Initially 'cnxk' drivers will only support Marvell CN106XX SoC. In future, when code is ready, CN9K/octeontx2 will also be supported by the same set of drivers and 'common/octeontx2' and its associated drivers will be deprecated. Ashwin Sekhar T K (8): common/cnxk: add base npa device support common/cnxk: add npa irq support common/cnxk: add npa debug support common/cnxk: add npa pool HW ops common/cnxk: add npa bulk alloc/free support common/cnxk: add npa performance counter support common/cnxk: add npa batch alloc/free support common/cnxk: add npa lf init/fini callback support Jerin Jacob (14): common/cnxk: add build infrastructre and HW definition common/cnxk: add model init and IO handling API common/cnxk: add interrupt helper API common/cnxk: add mbox request and response definitions common/cnxk: add mailbox base infra common/cnxk: add base device class common/cnxk: add VF support to base device class common/cnxk: add base nix support common/cnxk: add nix irq support common/cnxk: add nix Rx queue management API common/cnxk: add nix Tx queue management API common/cnxk: add nix RSS support common/cnxk: add nix stats support common/cnxk: add nix debug dump support Kiran Kumar K (5): common/cnxk: add npc support common/cnxk: add npc helper API common/cnxk: add mcam utility API common/cnxk: add npc parsing API common/cnxk: add npc init and fini support Nithin Dabilpuram (8): doc: add Marvell CNXK platform guide common/cnxk: add nix traffic management base support common/cnxk: add nix tm support to add/delete node common/cnxk: add nix tm helper to alloc and free resource common/cnxk: add nix tm hierarchy enable/disable common/cnxk: add nix tm support for internal hierarchy common/cnxk: add nix tm dynamic update support common/cnxk: add nix tm debug support and misc utils Pavan Nikhilesh (7): common/cnxk: add base sso device support common/cnxk: add sso hws interface common/cnxk: add sso hwgrp interface common/cnxk: add sso irq support common/cnxk: add sso debug support common/cnxk: add base tim device support common/cnxk: add tim irq support Satha Rao (2): common/cnxk: add support for nix extended stats common/cnxk: add nix tm shaper profile add support Satheesh Paul (1): common/cnxk: add support for rss action in rte_flow Sunil Kumar Kori (6): common/cnxk: add nix MAC operations support common/cnxk: add nix specific npc operations common/cnxk: add nix ptp support common/cnxk: add VLAN filter support common/cnxk: add nix flow control support common/cnxk: add nix LSO support and misc utils Vidya Sagar Velumuri (1): common/cnxk: add nix inline IPsec config API v2: - Added PART_95O to models supported - Addressed comments from Jerin with respect to patch split and documentation - Fixed a bug is lso utils and added get and custom fmt setup - Handled rss action as well for rte flow rule - Fixed issue with sso hws hwgrp link setup - Renamed plt_init to roc_plt_init - Disabled windows compilation --- MAINTAINERS | 9 + doc/guides/platform/cnxk.rst | 578 ++++ .../img/cnxk_packet_flow_hw_accelerators.svg | 2795 ++++++++++++++++++++ .../platform/img/cnxk_resource_virtualization.svg | 2428 +++++++++++++++++ doc/guides/platform/index.rst | 1 + drivers/common/cnxk/hw/nix.h | 2191 +++++++++++++++ drivers/common/cnxk/hw/npa.h | 376 +++ drivers/common/cnxk/hw/npc.h | 525 ++++ drivers/common/cnxk/hw/rvu.h | 222 ++ drivers/common/cnxk/hw/sdp.h | 182 ++ drivers/common/cnxk/hw/sso.h | 233 ++ drivers/common/cnxk/hw/ssow.h | 70 + drivers/common/cnxk/hw/tim.h | 49 + drivers/common/cnxk/meson.build | 54 + drivers/common/cnxk/roc_api.h | 103 + drivers/common/cnxk/roc_bitfield.h | 15 + drivers/common/cnxk/roc_bits.h | 32 + drivers/common/cnxk/roc_dev.c | 1190 +++++++++ drivers/common/cnxk/roc_dev_priv.h | 107 + drivers/common/cnxk/roc_idev.c | 184 ++ drivers/common/cnxk/roc_idev.h | 17 + drivers/common/cnxk/roc_idev_priv.h | 39 + drivers/common/cnxk/roc_io.h | 187 ++ drivers/common/cnxk/roc_io_generic.h | 122 + drivers/common/cnxk/roc_irq.c | 249 ++ drivers/common/cnxk/roc_mbox.c | 483 ++++ drivers/common/cnxk/roc_mbox.h | 1735 ++++++++++++ drivers/common/cnxk/roc_mbox_priv.h | 215 ++ drivers/common/cnxk/roc_model.c | 150 ++ drivers/common/cnxk/roc_model.h | 104 + drivers/common/cnxk/roc_nix.c | 439 +++ drivers/common/cnxk/roc_nix.h | 592 +++++ drivers/common/cnxk/roc_nix_debug.c | 1151 ++++++++ drivers/common/cnxk/roc_nix_fc.c | 251 ++ drivers/common/cnxk/roc_nix_irq.c | 495 ++++ drivers/common/cnxk/roc_nix_mac.c | 298 +++ drivers/common/cnxk/roc_nix_mcast.c | 98 + drivers/common/cnxk/roc_nix_npc.c | 103 + drivers/common/cnxk/roc_nix_ops.c | 438 +++ drivers/common/cnxk/roc_nix_priv.h | 395 +++ drivers/common/cnxk/roc_nix_ptp.c | 122 + drivers/common/cnxk/roc_nix_queue.c | 863 ++++++ drivers/common/cnxk/roc_nix_rss.c | 220 ++ drivers/common/cnxk/roc_nix_stats.c | 411 +++ drivers/common/cnxk/roc_nix_tm.c | 1385 ++++++++++ drivers/common/cnxk/roc_nix_tm_ops.c | 1031 ++++++++ drivers/common/cnxk/roc_nix_tm_utils.c | 1002 +++++++ drivers/common/cnxk/roc_nix_vlan.c | 205 ++ drivers/common/cnxk/roc_nix_xstats.h | 204 ++ drivers/common/cnxk/roc_npa.c | 823 ++++++ drivers/common/cnxk/roc_npa.h | 661 +++++ drivers/common/cnxk/roc_npa_debug.c | 184 ++ drivers/common/cnxk/roc_npa_irq.c | 298 +++ drivers/common/cnxk/roc_npa_priv.h | 63 + drivers/common/cnxk/roc_npc.c | 872 ++++++ drivers/common/cnxk/roc_npc.h | 189 ++ drivers/common/cnxk/roc_npc_mcam.c | 709 +++++ drivers/common/cnxk/roc_npc_parse.c | 703 +++++ drivers/common/cnxk/roc_npc_priv.h | 435 +++ drivers/common/cnxk/roc_npc_utils.c | 631 +++++ drivers/common/cnxk/roc_platform.c | 38 + drivers/common/cnxk/roc_platform.h | 190 ++ drivers/common/cnxk/roc_priv.h | 35 + drivers/common/cnxk/roc_sso.c | 550 ++++ drivers/common/cnxk/roc_sso.h | 65 + drivers/common/cnxk/roc_sso_debug.c | 68 + drivers/common/cnxk/roc_sso_irq.c | 164 ++ drivers/common/cnxk/roc_sso_priv.h | 50 + drivers/common/cnxk/roc_tim.c | 314 +++ drivers/common/cnxk/roc_tim.h | 43 + drivers/common/cnxk/roc_tim_irq.c | 104 + drivers/common/cnxk/roc_tim_priv.h | 30 + drivers/common/cnxk/roc_util_priv.h | 14 + drivers/common/cnxk/roc_utils.c | 239 ++ drivers/common/cnxk/roc_utils.h | 15 + drivers/common/cnxk/version.map | 203 ++ drivers/meson.build | 1 + 77 files changed, 32039 insertions(+) create mode 100644 doc/guides/platform/cnxk.rst create mode 100644 doc/guides/platform/img/cnxk_packet_flow_hw_accelerators.svg create mode 100644 doc/guides/platform/img/cnxk_resource_virtualization.svg create mode 100644 drivers/common/cnxk/hw/nix.h create mode 100644 drivers/common/cnxk/hw/npa.h create mode 100644 drivers/common/cnxk/hw/npc.h create mode 100644 drivers/common/cnxk/hw/rvu.h create mode 100644 drivers/common/cnxk/hw/sdp.h create mode 100644 drivers/common/cnxk/hw/sso.h create mode 100644 drivers/common/cnxk/hw/ssow.h create mode 100644 drivers/common/cnxk/hw/tim.h create mode 100644 drivers/common/cnxk/meson.build create mode 100644 drivers/common/cnxk/roc_api.h create mode 100644 drivers/common/cnxk/roc_bitfield.h create mode 100644 drivers/common/cnxk/roc_bits.h create mode 100644 drivers/common/cnxk/roc_dev.c create mode 100644 drivers/common/cnxk/roc_dev_priv.h create mode 100644 drivers/common/cnxk/roc_idev.c create mode 100644 drivers/common/cnxk/roc_idev.h create mode 100644 drivers/common/cnxk/roc_idev_priv.h create mode 100644 drivers/common/cnxk/roc_io.h create mode 100644 drivers/common/cnxk/roc_io_generic.h create mode 100644 drivers/common/cnxk/roc_irq.c create mode 100644 drivers/common/cnxk/roc_mbox.c create mode 100644 drivers/common/cnxk/roc_mbox.h create mode 100644 drivers/common/cnxk/roc_mbox_priv.h create mode 100644 drivers/common/cnxk/roc_model.c create mode 100644 drivers/common/cnxk/roc_model.h create mode 100644 drivers/common/cnxk/roc_nix.c create mode 100644 drivers/common/cnxk/roc_nix.h create mode 100644 drivers/common/cnxk/roc_nix_debug.c create mode 100644 drivers/common/cnxk/roc_nix_fc.c create mode 100644 drivers/common/cnxk/roc_nix_irq.c create mode 100644 drivers/common/cnxk/roc_nix_mac.c create mode 100644 drivers/common/cnxk/roc_nix_mcast.c create mode 100644 drivers/common/cnxk/roc_nix_npc.c create mode 100644 drivers/common/cnxk/roc_nix_ops.c create mode 100644 drivers/common/cnxk/roc_nix_priv.h create mode 100644 drivers/common/cnxk/roc_nix_ptp.c create mode 100644 drivers/common/cnxk/roc_nix_queue.c create mode 100644 drivers/common/cnxk/roc_nix_rss.c create mode 100644 drivers/common/cnxk/roc_nix_stats.c create mode 100644 drivers/common/cnxk/roc_nix_tm.c create mode 100644 drivers/common/cnxk/roc_nix_tm_ops.c create mode 100644 drivers/common/cnxk/roc_nix_tm_utils.c create mode 100644 drivers/common/cnxk/roc_nix_vlan.c create mode 100644 drivers/common/cnxk/roc_nix_xstats.h create mode 100644 drivers/common/cnxk/roc_npa.c create mode 100644 drivers/common/cnxk/roc_npa.h create mode 100644 drivers/common/cnxk/roc_npa_debug.c create mode 100644 drivers/common/cnxk/roc_npa_irq.c create mode 100644 drivers/common/cnxk/roc_npa_priv.h create mode 100644 drivers/common/cnxk/roc_npc.c create mode 100644 drivers/common/cnxk/roc_npc.h create mode 100644 drivers/common/cnxk/roc_npc_mcam.c create mode 100644 drivers/common/cnxk/roc_npc_parse.c create mode 100644 drivers/common/cnxk/roc_npc_priv.h create mode 100644 drivers/common/cnxk/roc_npc_utils.c create mode 100644 drivers/common/cnxk/roc_platform.c create mode 100644 drivers/common/cnxk/roc_platform.h create mode 100644 drivers/common/cnxk/roc_priv.h create mode 100644 drivers/common/cnxk/roc_sso.c create mode 100644 drivers/common/cnxk/roc_sso.h create mode 100644 drivers/common/cnxk/roc_sso_debug.c create mode 100644 drivers/common/cnxk/roc_sso_irq.c create mode 100644 drivers/common/cnxk/roc_sso_priv.h create mode 100644 drivers/common/cnxk/roc_tim.c create mode 100644 drivers/common/cnxk/roc_tim.h create mode 100644 drivers/common/cnxk/roc_tim_irq.c create mode 100644 drivers/common/cnxk/roc_tim_priv.h create mode 100644 drivers/common/cnxk/roc_util_priv.h create mode 100644 drivers/common/cnxk/roc_utils.c create mode 100644 drivers/common/cnxk/roc_utils.h create mode 100644 drivers/common/cnxk/version.map -- 2.8.4