[dpdk-dev] [PATCH v2 00/20] DPDK PMD for ThunderX NIC device

Jerin Jacob jerin.jacob at caviumnetworks.com
Sun May 29 18:46:44 CEST 2016


This patch set provides the initial version of DPDK PMD for the
built-in NIC device in Cavium ThunderX SoC family.

Implemented features and ThunderX nicvf PMD documentation added
in doc/guides/nics/overview.rst and doc/guides/nics/thunderx.rst
respectively in this patch set.

These patches are checked using checkpatch.sh with following
additional ignore option:
    options="$options --ignore=CAMELCASE,BRACKET_SPACE"
CAMELCASE - To accommodate PRIx64
BRACKET_SPACE - To accommodate AT&T inline line assembly in two places

This patch set is based on DPDK 16.07-RC1
and tested with today's git HEAD change-set
c8c33ad7f94c59d1c0676af0cfd61207b3e808db along with
following depended patch

http://dpdk.org/dev/patchwork/patch/11826/
ethdev: add tunnel and port RSS offload types

V1->V2

http://dpdk.org/dev/patchwork/patch/12609/
-- added const for the const struct tables
-- remove multiple blank lines
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12610/
-- removed DEPDIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += lib/librte_net lib/librte_malloc
-- add const for table structs
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12614/
-- s/DEFAULT_*/NICVF_DEFAULT_*/gc
http://dpdk.org/dev/patchwork/patch/12615/
-- Fix typos
-- addressed style comments
http://dpdk.org/dev/patchwork/patch/12616/
-- removed redundant txq->tail = 0 and txq->head = 0
http://dpdk.org/dev/patchwork/patch/12627/
-- fixed the documentation changes

-- fixed TAB+space occurrences in functions
-- rebased to c8c33ad7f94c59d1c0676af0cfd61207b3e808db

Jerin Jacob (20):
  thunderx/nicvf/base: add hardware API for ThunderX nicvf inbuilt NIC
  thunderx/nicvf: add pmd skeleton
  thunderx/nicvf: add link status and link update support
  thunderx/nicvf: add get_reg and get_reg_length support
  thunderx/nicvf: add dev_configure support
  thunderx/nicvf: add dev_infos_get support
  thunderx/nicvf: add rx_queue_setup/release support
  thunderx/nicvf: add tx_queue_setup/release support
  thunderx/nicvf: add rss and reta query and update support
  thunderx/nicvf: add mtu_set and promiscuous_enable support
  thunderx/nicvf: add stats support
  thunderx/nicvf: add single and multi segment tx functions
  thunderx/nicvf: add single and multi segment rx functions
  thunderx/nicvf: add dev_supported_ptypes_get and rx_queue_count
    support
  thunderx/nicvf: add rx queue start and stop support
  thunderx/nicvf: add tx queue start and stop support
  thunderx/nicvf: add device start,stop and close support
  thunderx/config: set max numa node to two
  thunderx/nicvf: updated driver documentation and release notes
  maintainers: claim responsibility for the ThunderX nicvf PMD

 MAINTAINERS                                        |    6 +
 config/common_base                                 |   10 +
 config/defconfig_arm64-thunderx-linuxapp-gcc       |   11 +
 doc/guides/nics/index.rst                          |    1 +
 doc/guides/nics/overview.rst                       |   96 +-
 doc/guides/nics/thunderx.rst                       |  354 ++++
 doc/guides/rel_notes/release_16_07.rst             |    1 +
 drivers/net/Makefile                               |    1 +
 drivers/net/thunderx/Makefile                      |   65 +
 drivers/net/thunderx/base/nicvf_hw.c               |  908 ++++++++++
 drivers/net/thunderx/base/nicvf_hw.h               |  240 +++
 drivers/net/thunderx/base/nicvf_hw_defs.h          | 1216 +++++++++++++
 drivers/net/thunderx/base/nicvf_mbox.c             |  416 +++++
 drivers/net/thunderx/base/nicvf_mbox.h             |  232 +++
 drivers/net/thunderx/base/nicvf_plat.h             |  132 ++
 drivers/net/thunderx/nicvf_ethdev.c                | 1861 ++++++++++++++++++++
 drivers/net/thunderx/nicvf_ethdev.h                |  106 ++
 drivers/net/thunderx/nicvf_logs.h                  |   83 +
 drivers/net/thunderx/nicvf_rxtx.c                  |  600 +++++++
 drivers/net/thunderx/nicvf_rxtx.h                  |  101 ++
 drivers/net/thunderx/nicvf_struct.h                |  124 ++
 .../thunderx/rte_pmd_thunderx_nicvf_version.map    |    4 +
 mk/rte.app.mk                                      |    2 +
 23 files changed, 6522 insertions(+), 48 deletions(-)
 create mode 100644 doc/guides/nics/thunderx.rst
 create mode 100644 drivers/net/thunderx/Makefile
 create mode 100644 drivers/net/thunderx/base/nicvf_hw.c
 create mode 100644 drivers/net/thunderx/base/nicvf_hw.h
 create mode 100644 drivers/net/thunderx/base/nicvf_hw_defs.h
 create mode 100644 drivers/net/thunderx/base/nicvf_mbox.c
 create mode 100644 drivers/net/thunderx/base/nicvf_mbox.h
 create mode 100644 drivers/net/thunderx/base/nicvf_plat.h
 create mode 100644 drivers/net/thunderx/nicvf_ethdev.c
 create mode 100644 drivers/net/thunderx/nicvf_ethdev.h
 create mode 100644 drivers/net/thunderx/nicvf_logs.h
 create mode 100644 drivers/net/thunderx/nicvf_rxtx.c
 create mode 100644 drivers/net/thunderx/nicvf_rxtx.h
 create mode 100644 drivers/net/thunderx/nicvf_struct.h
 create mode 100644 drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map

-- 
2.5.5



More information about the dev mailing list