From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0076.outbound.protection.outlook.com [157.56.111.76]) by dpdk.org (Postfix) with ESMTP id 91DF8CC3E for ; Fri, 17 Jun 2016 15:30:23 +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=9JGgKjWlRHrF6FZtNlw5ytNvlNV6bQHzTbmOmtz0HFs=; b=BKQdYnl5iFsF3vt8hwjx6L3zgjBwsReoJJFxs174ZxGMuzMDACSlQJTtmMMqZuNmFU7w3vxLlDkrU1zxTG4zsvUasHXm4owJo7XrAx/pG8Xh+/c8P5MxTPb9IF6+Hgr6Ek9tsy/idpFZAFbwL+4tga9/bgV9kqMxr4CgzQlm3jM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain.localdomain (171.48.17.70) by BN3PR0701MB1718.namprd07.prod.outlook.com (10.163.39.17) with Microsoft SMTP Server (TLS) id 15.1.517.8; Fri, 17 Jun 2016 13:30:19 +0000 From: Jerin Jacob To: CC: , , , Jerin Jacob Date: Fri, 17 Jun 2016 18:59:27 +0530 Message-ID: <1466170194-28393-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1465931200-23912-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1465931200-23912-1-git-send-email-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [171.48.17.70] X-ClientProxiedBy: BM1PR01CA0028.INDPRD01.PROD.OUTLOOK.COM (10.163.198.163) To BN3PR0701MB1718.namprd07.prod.outlook.com (10.163.39.17) X-MS-Office365-Filtering-Correlation-Id: e93939d1-a6d5-49d3-0bac-08d396b3880f X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1718; 2:I/qnOmrFt87KgGyQlmE554eJU+tI3/9erppI7s92pR+gMdsPdkJQKj3fdxhlTVGHufc87OyTV4IpZakGm8ole8/uE6rl9TWPpvS3iwAdBpW/qyjzzfJ47f3CqRMOJU1BwaMpiV3kTUWzHQWCiON4/R4T+Z0VwOPEFXMcgvj9Hyg+FMBJvivGas//cKGGpZKm; 3:2eQqe464hoYzaXSYlRAkbvorv4YYB7rGyTOa1dvj9qaWugfKLajgC47YpVYue7Mi3eYHWNHitxbXKPGKK0LTPz3YVIUh4NgXjuJu5kIFWpV2ldKoxJAjZ/6fsZaZGtny; 25:m+hTw6J1cYOlax1pg/XVfH5v9uuS5sBQl3KeW2QhkcWZWmHUl4HmoL73HYf2RYgGZQgts1QhY6iSeo7ZRivBrfM+WaW4hu3MVzgqPJe98S1w+uJB5R1yKyjVfEoIVQlHbQfmN8MuY8m/exo+w3qT7zl7VWf0PT6bh9ElKStey5QvkwYdTd3dHyZp773jYnrbEaqE1URq6JrCM1hwMydXwedjgyWJI4WGizeZxKajUzHSJ9lHPZUesDjjcs7osKy8Z0R9mtYYs7pIjSdvOJQ63HWdgY+VzaL6IArE5zEwpp8uUnxfZuSW5ZcoG1pnbzasELUv/91JsHxe2UvYxvymeQUG+kvDKdziyOjRYhbll0c3d9V9KFDeqlS4yMsNq9wMdGYJ2f1nvTDVb9ABEBQwJiwQnL9fO+2LlKT0b09vooA= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0701MB1718; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1718; 20:tMAHqc19rzbbKzN1805mE3E8BJaMFMc1a6GxeFOmxoQhOXrMBPu8p5J4OGqYK9NwR/j9ojWegCCv7oixgBlkMFmbfL1o+K6zMbzmJm2RdL68Lb7AFXeODaxKWj8uBcdNq4Yzg2wjCnKh3s4vqAbosUZaWPDyQ8dt4weYTKRrGvQoP8EBMKMMYaHK8KEmkUwYddKeZpS3k+oWKuqxbM2Il8+nhNw/UKzEWq/AZRY5yArbXSaLQNjjw56H8LYFEBaDONzcSXWdV5UxJk5ca9aFIFfyt+oyfvkZd3UrmnIjn0qsD4jCdKN8Iik57CLhz+0JMkRvMFxhCZoH/DjWv9/+t0uDXpsYVjX4aRhyQziuAHHK3TvKnv6hecie59g72xQVYr2Mh68WGKh7OGo66RZbN1QJ/ixZMK6j7OgWnyVtoOk5e0fANnV6pIRFZZkBmHDlTIcjNto9tQ0nsNxO5qxMVAm6V782v5O/g71m4d1O0NHmG4X4eVZ4KP/1vucfqZV3Bh7Dzz6EO2yOO1HIl5p6kXVymLlnO5lZpt5yIHTxplkxJtyvL3VGRXVwjXXOnHr80Su6Z7aj2pEu5713vzP0MxL+NYKcw8dRoJbubswsE2k= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046); SRVR:BN3PR0701MB1718; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1718; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1718; 4:8wQDLiZMHurjqsZUewWp0FbqdtrZoEt0+xJdLAeByhdRq+i0hVf18yoTHyBoMehHLKb8LJyzyUsFdlnTdi0DwxBHV3l3xrbjJmlJ18TSQ29vFKOkSpHAjRDUBxiSAKEjR+vTPVv67UZgSMvpogLd8VMErudWY2OohO/I9kOQmmkZoj/+gOL0eAo+0ChP5S80Bn6W66UiR/Ga806BhMn36qqqgJuqzeUBiyWdHZicwQIQ5jr8z4U6o14TGf/oLatdThv5Ux400MvhoVtLwRdlAL7MV8Jxb84RGVybcanVtl11Ww2UY+YgOqYICm5izHi/v4NyzQYpga1quG1IsDnlcsGGItsphF5W7qzKsgShvRdc0TKDm3SAsKKyFCUS8qpc X-Forefront-PRVS: 09760A0505 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(199003)(54534003)(189002)(48376002)(4001430100002)(19580395003)(68736007)(2351001)(47776003)(229853001)(97736004)(107886002)(586003)(50986999)(110136002)(36756003)(3846002)(66066001)(92566002)(105586002)(189998001)(76176999)(33646002)(42186005)(81156014)(15395725005)(575784001)(5004730100002)(101416001)(50466002)(2950100001)(5003940100001)(15975445007)(4326007)(5008740100001)(50226002)(2906002)(6116002)(77096005)(81166006)(8676002)(106356001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1718; H:localhost.localdomain.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; CAT:NONE; LANG:en; CAT:NONE; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1718; 23:FkhmO87zlOnxPeEVf1VYQK6lOBCvqBXZuFfxn/G?= =?us-ascii?Q?vSvFl25MqZJrattDYiEhAnlwyw+Lcvb2KXtuW3417S/X7pOV1oItsaPGwJ/e?= =?us-ascii?Q?KpCwzcgRmqhFj4cIbG9JXSQZf+bhC4ZisYlKIq5yYumC9hV3tkT/ZAgcxgcm?= =?us-ascii?Q?oTGmzPecGH2nbFduhpw1EhAoSrUoWcNZ09yiP0yzoPIh5f3Gdo0uVqMltZiS?= =?us-ascii?Q?tHL/KreC4DDXcWUQ6Ck+zakWoCojhvLP2EjkALRMfJAk9hjV0Mnb/LLSfiWk?= =?us-ascii?Q?VKC+vGRi1+RJMJxj2xt6yaYzuBVFosodVSaFa6YxbottlTJUunfGcDJZKV6o?= =?us-ascii?Q?3lcYYRAYcB0WNhAj7DBhtAK9ab+tIg/HIf+pCiz8F4FXCZy0P3eKrKtRG6bp?= =?us-ascii?Q?uSOu2XVvirxSTj28dwKoyyZfufzJ5TSIRKqnODLusx/kyy5QalOqplEepsgl?= =?us-ascii?Q?6XZIEXWt5XZHloJSJaJh8rGGNRXN1l4XVccFhdN/c4i9j97PbZy2PXLWQXsj?= =?us-ascii?Q?RUMS4ORl+qmkCUSgrhe67sG66WldPI/DBAK1zJmDG1x7DF0ZixU5cS2sDWqL?= =?us-ascii?Q?f4JGFTGqrvo701ILaUI/YOfUKx5Fx2A6t0hqoSdFG09VVk4rpdDPW10Ap8Bl?= =?us-ascii?Q?/PlVEB99GbNjhVJIoyeaT1pYVL/zg+QKBYLt6TnuLYwYJPqVhtprB7CJwAol?= =?us-ascii?Q?8WxQOFyy8IToqCDKxLKGrMx+1NsIYPMXpWr2oc+oIWWvZwu4+ZVtVEm1tQj+?= =?us-ascii?Q?Hh5UFzkPXPTa9BEWB5FWJ2WyYund8ECICmDyEOQL8vwY4Qb8eDHa57+smQO8?= =?us-ascii?Q?AtAIZf/3e+dqXZQfeolC5d4ij3TMw3y9PEcIgkLWNDsVPzgOnlYVBcmGe1C+?= =?us-ascii?Q?dFraqt1WVUNzVJyJrKYE0z+95lZ3kcYLx0ia1ynSq1eOzewTGFrpQY8tTnh0?= =?us-ascii?Q?bwiCuKLcQUR3392IgztBwK0LbwbEBfHOCLJqDduhWd3VDtiMKht1CRaXGvlH?= =?us-ascii?Q?967/MWldTCfm24vd4MKiogM320Ug8UmmF5HXLl8NWiwEwyWGWeFHb609+qCO?= =?us-ascii?Q?2ONV03o810QTelsjRnfJa7v9ukMaDqXZGSQYgKw8DgaUtJBNGK5AZ7YcZpIF?= =?us-ascii?Q?3viPC+ondlaSQxMSqEz78OCCvZ7uzAHVYKwR0rG8ZZL1/DuG2HP/BkJOgn4g?= =?us-ascii?Q?TM0qUH2erdwt9WTbpjGAc1H4loroz4Aqx0Lb2?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1718; 6:OOc92RJKGSVD5Y/UJxqf2+yL9tXzSZ24/7Akd3mcnVbFf6sMsFbRgKy2GWq3CqA7ImJrW6bsxYFzt9xiXu57YkTbXzqNWVdQHwl42VBcz8KW6VdCNBLw4tIgypGvLhJyaa6mMOioJIkdjGEVIXzC2osgHJuqSRquE5UacBpPo2rhg7YLZYNnnWR5bnYtlcFxwyQR6XmhSwRLQ7V1ytVdmyGtH5tY4RuWve0vGKfOOksF5BzmjDz4/ZJUbEoAzpGd5SRBQQHnxDzLNxW83aXbEKTKPnuh4IlGOZTfhgMlvIw=; 5:FdIhK8/VXpQGXsY6IWZuJ7tnNKyTxB6U/jAeY/Jj/TV3UIiEEh4us3BeSo9IKgIxSG3WApyNdOzLDn2ib3oE7Ru7oA80D7DBPCg4MSG6yGgRBbUAi624p5Btoub8khBXWunqFy+D0fCH1SHhOt5IgQ==; 24:mzSPGul/ZXg8bQIrYxOv6JwyBM4fyivxCybrxgUXA9fMUMnSXbQMPG00BHTRNdPwJTsSFpWrfCEzHU3TjrVxLWSfd8AdSuTHUrbLBmPzln0=; 7:Bmqiwr7oeo+uc2vLnx+J3BBWFAZCgG0Sx7JBVRK03LRd+mAJ9QI2jsmD05ScXu2Bo3uMdmISLsdA9l13/2LMx2Xi7moECr4TjFqckfWJGttp3nKqcUcneNIn0fm0rtSgmsWclfhyqcbi9GfY9h7RQUHXy0q2ZPIpPSQoFGE2iEtbFVRqfLrix4ZE+QkTjQq8ZMCDDQMuDYrBHv3UCRfqrg== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jun 2016 13:30:19.2245 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1718 Subject: [dpdk-dev] [PATCH v6 00/27] 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: Fri, 17 Jun 2016 13:30:24 -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 git HEAD change-set ad00c7ec23e3b7723217bc29e03eb40409aaf617(in dpdk-next-net/rel_16_07) 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 addressed 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: ........ V4->V5 -- splitting up drivers/net/thunderx/nicvf/base files to following patches as suggested by Bruce net/thunderx/base: add HW constants for ThunderX inbuilt NIC net/thunderx/base: add register definition for ThunderX inbuilt NIC net/thunderx/base: implement DPDK based platform abstraction for base code net/thunderx/base: add mbox API for ThunderX PF/VF driver communication net/thunderx/base: add hardware API for ThunderX nicvf inbuilt NIC net/thunderx/base: add RSS and reta configuration HW APIs net/thunderx/base: add statistics get HW APIs -- Corrected wrong git commit log messages flagged by check-git-log.sh V5->V6 -- Rebased to dpdk-next-net/rel_16_07(ad00c7ec23e3b7723217bc29e03eb40409aaf617) -- Splitted following patches in v5 to two logical patches [dpdk-dev,v5,16/25] net/thunderx: add MTU set and promiscuous enable support [dpdk-dev,v5,20/25] net/thunderx: implement supported ptype get and Rx queue count -- Fixed check-git-logs.sh for "commit messages being too long" Jerin Jacob (27): net/thunderx/base: add HW constants net/thunderx/base: add HW register definitions net/thunderx/base: implement DPDK based platform abstraction net/thunderx/base: add mbox APIs for PF/VF communication net/thunderx/base: add hardware API net/thunderx/base: add RSS and reta configuration HW APIs net/thunderx/base: add statistics get HW APIs net/thunderx: add pmd skeleton net/thunderx: add link status and link update support net/thunderx: add registers dump support net/thunderx: add ethdev configure support net/thunderx: add get device info support net/thunderx: add Rx queue setup and release support net/thunderx: add Tx queue setup and release support net/thunderx: add RSS and reta query and update support net/thunderx: add MTU set support net/thunderx: add 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 supported packet type get net/thunderx: add 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 | 1791 ++++++++++++++++++++ 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 | 1 + 23 files changed, 6451 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