mbox series

[v2,00/52] Add Marvell CNXK common driver

Message ID 20210401094739.22714-1-ndabilpuram@marvell.com (mailing list archive)
Headers show
Series Add Marvell CNXK common driver | expand

Message

Nithin Dabilpuram April 1, 2021, 9:46 a.m. UTC
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