From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: [PATCH v4 00/19] DPDK PMD for ThunderX NIC device Date: Mon, 13 Jun 2016 19:25:24 +0530 Message-ID: <1465826143-22159-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1465317632-11471-2-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-eopbgr680088.outbound.protection.outlook.com [40.107.68.88]) by dpdk.org (Postfix) with ESMTP id A875B2BBA for ; Mon, 13 Jun 2016 15:56:25 +0200 (CEST) In-Reply-To: <1465317632-11471-2-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 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 V3->V4 ddressed review comments of Ferruh's review http://dpdk.org/dev/patchwork/patch/13314/ -- s/avilable/available http://dpdk.org/dev/patchwork/patch/13323/ -- s/witout/without http://dpdk.org/dev/patchwork/patch/13318/ -- s/nicvf_free_xmittted_buffers/nicvf_free_xmitted_buffers -- fix checkpatch errors http://dpdk.org/dev/patchwork/patch/13307/ -- addressed review comments http://dpdk.org/dev/patchwork/patch/13308/ -- addressed review comments http://dpdk.org/dev/patchwork/patch/13320/ -- addressed review comments http://dpdk.org/dev/patchwork/patch/13321/ -- addressed review comments http://dpdk.org/dev/patchwork/patch/13322/ -- addressed review comments http://dpdk.org/dev/patchwork/patch/13324/ -- addressed review comments and created separated patch for platform specific config change -- update change log to net/thunderx: ........ Jerin Jacob (19): net/thunderx/base: add hardware API for ThunderX nicvf inbuilt NIC net/thunderx: add pmd skeleton net/thunderx: add link status and link update support net/thunderx: add get_reg and get_reg_length support net/thunderx: add dev_configure support net/thunderx: add dev_infos_get support net/thunderx: add rx_queue_setup/release support net/thunderx: add tx_queue_setup/release support net/thunderx: add rss and reta query and update support net/thunderx: add mtu_set and promiscuous_enable support net/thunderx: add stats support net/thunderx: add single and multi segment tx functions net/thunderx: add single and multi segment rx functions net/thunderx: add dev_supported_ptypes_get and rx_queue_count support net/thunderx: add rx queue start and stop support net/thunderx: add tx queue start and stop support net/thunderx: add device start,stop and close support net/thunderx: 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 | 10 + 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 | 905 ++++++++++ drivers/net/thunderx/base/nicvf_hw.h | 240 +++ drivers/net/thunderx/base/nicvf_hw_defs.h | 1219 +++++++++++++ drivers/net/thunderx/base/nicvf_mbox.c | 418 +++++ drivers/net/thunderx/base/nicvf_mbox.h | 232 +++ drivers/net/thunderx/base/nicvf_plat.h | 132 ++ drivers/net/thunderx/nicvf_ethdev.c | 1789 ++++++++++++++++++++ drivers/net/thunderx/nicvf_ethdev.h | 106 ++ drivers/net/thunderx/nicvf_logs.h | 83 + drivers/net/thunderx/nicvf_rxtx.c | 599 +++++++ 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, 6450 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