From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: [PATCH v3 00/20] DPDK PMD for ThunderX NIC device Date: Tue, 7 Jun 2016 22:10:12 +0530 Message-ID: <1465317632-11471-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1464540424-12631-1-git-send-email-jerin.jacob@caviumnetworks.com> Mime-Version: 1.0 Content-Type: text/plain Cc: , , Jerin Jacob To: Return-path: Received: from na01-by2-obe.outbound.protection.outlook.com (mail-eopbgr690070.outbound.protection.outlook.com [40.107.69.70]) by dpdk.org (Postfix) with ESMTP id 8CA386CBD for ; Tue, 7 Jun 2016 18:41:14 +0200 (CEST) In-Reply-To: <1464540424-12631-1-git-send-email-jerin.jacob@caviumnetworks.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 ca173a909538a2f1082cd0dcb4d778a97dab69c3 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 V2->V3 http://dpdk.org/dev/patchwork/patch/13060/ -- Changed polling infrastructure to use rte_eal_alarm* instead of timerfd_create API -- rebased to ca173a909538a2f1082cd0dcb4d778a97dab69c3 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 | 1839 ++++++++++++++++++++ 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, 6500 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