From mboxrd@z Thu Jan 1 00:00:00 1970 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) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lQDU5JJ/hKEo43f0iIIkZQiyG4Rjqdo0kcFQ3Jl7yyU=; b=OmrhmMt7I7ZfNQPCF0z1GqJLg2zEmj43ijcrP8iQxKEBT7ulxgG+3qsZrRyU9vcYvXNMf3aiAX4ntSmfFYo7FvN3BxCeRXZKwP28AI5Aa+VsGdRkPXmGdgpTzxRXj+PrTd1mG8fcqIQxhKdP99+wYSnu2kQtTR9fsNdvttqWI1c= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.caveonetworks.com (111.93.218.67) by BN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) with Microsoft SMTP Server (TLS) id 15.1.511.8; Tue, 7 Jun 2016 16:41:09 +0000 From: Jerin Jacob To: CC: , , Jerin Jacob Date: Tue, 7 Jun 2016 22:10:12 +0530 Message-ID: <1465317632-11471-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1464540424-12631-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 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: MAXPR01CA0054.INDPRD01.PROD.OUTLOOK.COM (10.164.146.154) To BN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) X-MS-Office365-Filtering-Correlation-Id: cb022e52-94f8-4f51-9328-08d38ef28867 X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 2:haLDVUsqObvcPQPM9DQ4ksg8tsSom14jpWyKMopmNgp1nRegl607/Hv/CGG6Q8I4kM7qDoTfbnXtx4w6klmFFQXwX8oJCAaGlxFLMiby2H2mQLSTL8vIdWvItZo1Kd3lEtiNNWwZilL5iznhHVCGwiZgsYPx0WZX8gQrMuiJoMwCmXFnaAf2K9pfv0Fc5yQB; 3:tfe+zzh3WZAn/bGvjdEqWCUD/ayKkz95xe31CJ4LKkTmQ3EMPhbJAgDf+b5HKaKYH9YOiey2bF7LcJ8o8SGVgWi+96E7GwVk0OW/AdW33O22pSLvy/tk2+652c3vcm2+; 25:hZ/9SQpjRt+M6CF9DAwFQQJarb207w51KJ2+plDWcR5+YBon1jGUtBWa5kBfw6MhSyJ9KrOBsD8hG88Y0JO/wYUVPd8jx/FsD704pKkl+ltgxSquTvFHeb7XXcrpfLzH1kOog9cNUNFTyFnWTVivlSmQAJeEwAUXM/BmL4rkVXV36rnnqdkQmOp77TW7/cOTGLkgvDCnf5Cu7c7r4t5WoVp4WDD9MzOBm5isB2OzLos8Du+tXKH3CilpPhLjB4y40IaReo74ZigSGZgY0TpmBb4PH1JbFZHf3w61Mmk6yuXgdJW+0aRDdUSM5R8RVUVg8TQfIVCQ80QVYYws16GWAjpKMdRNLEOi+popV9b4/jMT2APJ/9xNWRZawP4q84FjRu4MHpQwHKlFYXuQKQ0Adg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 20:i9dCSQQQz4TgA24l1QOoyhMBgglDD10oloxOqo5NevwdFsfTxpEtbdpW5SyAqA5//xP4Y0B0PNibgOpxOVgiOtIpLfTolAWqzTq9tyTaXRq9tKTp9q1Gv2uolzi7Bv7KJSZegfjUr7UhdmRdPoLavtUq81fjpTuUridnYnicHrHvbf0TQjdMcHpxiMeOxTge3aF3cTYSq756qCzPMRwi7zLrIuBmIWEjIPFxeZZSR28FaVSCGaqJPOcY69TcfgD+i/mQer72ewfCcKznowGYP7OAWlopX6vZ6lEq/7o8d1kNCQfPeuZMKGB8SMmZxREqUZDg8vnlka60RnYgBcTo+Gx47J3AYiJ8D/uUqrda6tIFoTqgs9J3ueuRHhD4ZbHKicH9rFvIh3pAi4sm4AekgYg0+5zkbyuxznZYWHgQRY8+WwIJ1Bi/c1lhC7RvFhcIJAOPknJcLbs/6YErnh6tBnwnqML1KOot2Rz4bJ0OcXkS87MxGXp2fsYZ2Yv6KyCQ9ZLeesdHdOXJ9jvnqBZCz86ZNiKSETVN/ZYPDJfk++bQg2o0FAOCZjIoH0NhhTD04TbQb/9rIIlwnFLm69/5r9LHVGtj0cCwIc1CG5fJf3o= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046); SRVR:BN3PR0701MB1719; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1719; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 4:t7TRKXg4hUkkH8Y1CNBkdPbLotJWYoT9z4CavBYtZ9kO0GvwVahpibtef/sMWkf5XU2vBspYDiZWkiVtwWzIe5LiBNFu2sIE/9nogpFxtLUXg5QhiFSp//D5WJHIvAPlrzCuRIyBCIITHEQHXLvXChfRptgqd/zFh3ZDsIl9yaNs8+Rwlo6aOCLRu7f2bR+yY18JDISVO8b8l6bWyvUXg1itCJQ4MrWf+58W1rDizOzP5rja1naDpG7DucXdf+cxJ9ot26E5kTnk6IP0xn9cBDxMpAEIP+OXO9q3T9tE9lfpXrBOR2QAu652B552CsaBOT6bsfFV9t1TUUG+HghKMp+SfT4P9zqa5TB5XNs4nFc= X-Forefront-PRVS: 09669DB681 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(199003)(189002)(81166006)(8676002)(81156014)(47776003)(66066001)(36756003)(92566002)(2950100001)(586003)(2351001)(48376002)(15975445007)(76506005)(42186005)(50466002)(4326007)(77096005)(3846002)(6116002)(5003940100001)(53416004)(5004730100002)(575784001)(105586002)(4001430100002)(97736004)(107886002)(2906002)(5008740100001)(106356001)(189998001)(15395725005)(19580395003)(69596002)(101416001)(110136002)(68736007)(33646002)(76176999)(50986999)(229853001)(50226002)(5009440100003)(7099028)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1719; H:localhost.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1719; 23:Vcuu8Bp1RNVbvaAUSJXeAehxCz0qwiupokGm2aF?= =?us-ascii?Q?1DIK2pBsTKjmaEd42gMuvv8PAe87qwgov/NVhCok4OmgtNOZg9w7MM1KCeuz?= =?us-ascii?Q?V5z6pF7xaV88r7LGJJ2GNc2bQhNHb/quEPTgskMniHE04fYCJ0mSn+uPp5nT?= =?us-ascii?Q?ygl/R29nicBI4VYtwPU3dXEVvn9hcE+lbIsj+aBsTB606u77nAnjEjL7PU+H?= =?us-ascii?Q?GLK8JPBK874ApEp9Add+ktaS8pGjSWJdr6eOtcoeak03ZH2tBhMgm10+bVCi?= =?us-ascii?Q?wZxKFOz3Ore7uxCxV1JOydTZ9wVErNS5ddq8NjxQnrHN4AJn3NwrgijPPcxL?= =?us-ascii?Q?nKuTcYlADrftJgpBMIEffisGv24dBBLBuxuaDAFYfa2Ct3CD70GvG/gC+o88?= =?us-ascii?Q?eYyxjxsSOBqZw190EfnJTYc0qrrMeuzTQkKhYRyx21Rl4vRMkr6DhZmsXC1s?= =?us-ascii?Q?e1hG71Fyn259pC5Pn0J+1vF+tigdHE/6xMIh6b3ERhyKQS2ajjHvmtpkucsA?= =?us-ascii?Q?wRhPN7KIvfkJUISaYAV13jX4RrOsF+wNHPXBIO+ovs/gUKCu2Vxsx88n42qu?= =?us-ascii?Q?mhjlCB2IRYBSUnmNEGsGWL7Gb+6dR2+dumMjsBG8WW/pXar6CssuIVEz47vJ?= =?us-ascii?Q?kAq5XeDay1yA4UvWJk5uEsuUFqS5N4quorLl7hII4tl/yGxPzoRUwV8fqee1?= =?us-ascii?Q?jw7iZwK4PhlCh+/CMxA6p6ErcmKbN0pTFzNgP+QqUDf4TJiRLrcgO5t5QeZ3?= =?us-ascii?Q?b7SY9Wmab2tu/4xI9CzkKGM1gb4UI+N5fFrCzrQ2Y46cUCeaUoaxliiP62lD?= =?us-ascii?Q?xQ+kBVSKuW/4RiwY0dZSpfJCoiOHECLRRlnemc0x2qTBKCPLwnr+4Sdz6Pwb?= =?us-ascii?Q?V8vZhvyDMRIlrbPqhEGd2YXo5AOQQjBjxPf7u/wRmkHTkfYWNDUxlRNi8dUg?= =?us-ascii?Q?WlGkWYNqrjm4PQ+EF7NtTr4IGaqiZTMjxPfou3egSWY4kV7//6ODIqmd/hdy?= =?us-ascii?Q?a3zToQa3wX18fBBlgns7nXUEaVQOTlCRkvenNFNoSzL4jxlKxZibQ/cwOKeq?= =?us-ascii?Q?D6DwtfqQ9wbc65g73Yq+ly1NXstT50xeojNPr3Zmd5g7fpk3x0tG5z5lIl8S?= =?us-ascii?Q?OWNdpsUZ6hiihNAVmCCM1rWzznVDPrNKZ9OaZ7+zG9KKF5jBiuaRO7ROpeop?= =?us-ascii?Q?scbvlpDaq31HXRoCf3+Q9ZUEAsEYTKpXzDC/to7pKORGxx65+rJcnVvx0bPK?= =?us-ascii?Q?s8SV6Q91DWF8DFUoEVH4zZd5WPtFuGPflqe4r0JU5eIdekariIvaUApZsYES?= =?us-ascii?Q?GZg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1719; 5:ZyF/oUqtVUPiss4Wmw/RvJ7l70jrq1NfMEjpqjKVsIbnC6t0dVNRPl5vvEahbDYAV+2WOsXykMJPvA+LlQLfOBR0VLhUqsRO1HEUlIByx4EUXZXq1egdARMo3jnEswton+20jqn3Y0zbM6DdN1y25A==; 24:o/oQS8nldnYE3eVbgEBj7G/ZoNQ+4kDYbh4Nl1itMMaOUCXz8N+/Zthi97LUy2RWTsudaEegYWt3et3t5w3ilNBUEoTYgVj7PEr1Nv3CIow=; 7:sZyGM1DLg2u+pmGfPwfQun4LqnAGq81SA7Vs1nEMEM2YmSArXiUOpkrOkFp7/plHjsP36MSu2ClOgFtDQegj+u9D/n6M/GmyI0JCqtM/tqNatG/0z2hwH1htxq1LAg2iVTKKspnAAqqgOUQEoN3WSXFWZLyi/TpbA/Klj4i/pqnnB8LX6Z49+boHWiN2HxWtbTeujEy/C8gWV32ABKbhEolXGFcgYx56QrEfQidxzrE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jun 2016 16:41:09.5456 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1719 Subject: [dpdk-dev] [PATCH v3 00/20] DPDK PMD for ThunderX NIC device X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Jun 2016 16:41:15 -0000 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