From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0099.outbound.protection.outlook.com [157.56.111.99]) by dpdk.org (Postfix) with ESMTP id F325F9AA8 for ; Tue, 14 Jun 2016 21:07:07 +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=yKmHMb8WcVf7T3s5rWmGztpa++KQ3HDkCj7kK7cApi4=; b=GyBbEigtbQVmzQbojDLVK166l7zswUIuQqN6acsOOIvyUFgxX7lkersVhExydhy7Adv/Dt7KDOVXa0fcbWcp1tzqANDFMo2HSIQyBjZRDokpcqv7rqVNRIIItKxosQItMsnJreNvbo3Bp65d4BVPir7KAepmz4LBhKldezXmpbM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.caveonetworks.com (111.93.218.67) by BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) with Microsoft SMTP Server (TLS) id 15.1.511.8; Tue, 14 Jun 2016 19:07:04 +0000 From: Jerin Jacob To: CC: , , , Jerin Jacob Date: Wed, 15 Jun 2016 00:36:15 +0530 Message-ID: <1465931200-23912-1-git-send-email-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.5.5 In-Reply-To: <1465826143-22159-1-git-send-email-jerin.jacob@caviumnetworks.com> References: <1465826143-22159-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: MA1PR01CA0040.INDPRD01.PROD.OUTLOOK.COM (10.164.116.140) To BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) X-MS-Office365-Filtering-Correlation-Id: 4c57ee45-4d4c-46bc-fe91-08d3948713a4 X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 2:QLUIK0l2xVT6g8BPFhgGT8BU3pzeYCob7OVuH/iSlFbvcwvevUupZZJxP5GiBjeVykHm/kntcjQXiOaHJG9jJ0XufleZ71fsSBjv0pNsRmryFu1VMZz0t+rBZuuOr2TXlZPyQAOvMgAgIH79D+8PG5QIHXr2rUZc96viRcf+Fi2l0uLRN7aXFjLgCDSiKhE4; 3:KDIy9WZGu+2A4uLJPp+Or83UlpwxQ46Jhj1T+fY+dC9TEyAA0Kk/UpOc+TrAvDb7V/55dJiuAaO5I5Q/0YNlV7UZANUc7sVjj/dwyQrTvDocHut4wAUaUaZGttR3cG9P X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0701MB1723; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 25:mQpCV5V/Wat1et95TS4lDK9ZcqasTk5e8U7iWckfCehwQpNJbcH6oBbRChRwx3gYqaJBTqgHlKBmsE0m/i5zKgPPkE4DMGONTo8hahWE7vvQtFciyITXVHDT8XbYRbTB7cWkOTi8VuTxnh5NzIy5ArXZLBj0v6M5f0hDJyZD0UDRRWpd4RL6qnZauRGoJph/WTXA12zlPX29sVBhC/En+j/jWLgtZ/ndC+e49PxuU8Wopp9Cy45SL55XsbfhwLi0/qF4eLD99iBJnSoAraaZq9CcjY9ywIQldgFPnrXUbnkOABdVjZvNX6OImJKcTG9PTv2Jf67y1TTBfHfEiqt0DEg+IdOorWLR9Rmp3ELyj5wryQIgDolUfWJ/dCmnXdEL+iY3WNymeeviZ91bGQW8yf0qGHIPcAJqbe2HH7cmhaCQDUtbdCDFZ/7oUWBQr3v0GmgqMaOlrdqyEDmmJJn9iusehc0YCZfmE5Qx6X+fNGic8Nsv7H0yN45Af9GWEV8KlZffB9clW2s4fjbEfNIDv6KVkkHtp0T8tCqDepEAQi5ZvVjnBnnz4lIC6zsYc5o7isSnA/ODIlY5mcApBhFKestUKLTVT8kKIKyTjAqqQUrxe29eYiakL7lSvQ0bLs6EoUG1yMTIbcxZlIPGOqE9A2T8+LjetqAUd0w1BADVHKFrYALI4JiSVCtkH1cBBVRFWJNSxYXB38Hu2GnG3wN0qoHb0xqXynSiqS4kS/h2ZTeDdOh/HKhGiFjnYitG+XR/yOdPJkXNfiqu0/jzIYwRwlb9TH6Ql/oOScIIAv+EBj6SjasAUGkxPPgRBV+285nFQW+simiDP9HyEIojjZrJOQ== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 20:Zwp6YQXCcZJUvPCVLjtE+Xgq85iTRVqp5W8NFD8517vpQDkcjz4IUzPynPr7UYbr9gdP0shhHG6kxiHTXYHJVGCIvkmG+qvK/WzGlBOoFSuvgcaN5MTxT2P89U0fbJyunJSd9CVB3YCOoHq6kgNcXgWa8nmW8RJAmGYA1uNpG0tSEE9DEb0Br9qy2wBPRCVokZWRPQoL0h4TJgIGRSrQDssdO0bzOmRk1NgfK2T0pHzSSY83n4pYkCCVY2UOeFLNtPnoaW1b0IyNUYQxMO7PUuwfn87Jy8fu+rjcFY0nmbxzHDVbMkvQwOAU2dSFAeudFwO7OAeE4qDR/ZhbUXWWm/IcxWHyGykQorOPQkjsBVNzcXO9lDADath0iOXIsq4sCs7daMG+iTJmFzA0B03roCYhZ9lihVQqOI828943F/ghtzQUTTSj4AErnJSubVIVZYL+Jcxkngl45zMKChLrqXNDfqUUOhE1qK4+DgGyRIoEq6gzeUgiYzRXvDGDTWgUY9KNUZxPXXQ3CYxgt2XbEJ1RTKMVzBtvCj+ATnMC7woSfRH1EWdZUkUqcMY1WAj4Q13wOFEfwxx3Vvv9fdeE/46A/DFHEl6UoW0zQkBcZK0= 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:BY1PR0701MB1723; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1723; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 4:Yk002uRVDfXBeQJUqBdpeJ26TRvZSdU+V2vgkc0eUJMn12CMFDt8AI0SZjz5zohcTNSYT7tR1iSWM0LzdonQlIszTRaDhzaWWDb6nTHuQDcWvstNWYXOQT+YhavBPz6kwTI1vxMzurpA7uThrROQGSzCEOiMwYrnXw1MxuwfoqAT+qNgZVAZqORojSp5jGFpThBfllqLlkMwQiylDUaCdXAuQcpt8AMl7EWkgK9T/dxVHIhLmCsCvew3J+f7ZoD4ZcHa7nxWJNIjPhYtlrFkrBKVTuGYwxo8thbsDDLh79+mg5BQhDA+SorCTYUDS+idtzPIRVeS5BmFcW4IvJ6N7B28OyuSwVWhokBt7AmQ7z1hpIHR6s6grAcvibXdWY1M X-Forefront-PRVS: 09730BD177 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(189002)(199003)(54534003)(69596002)(189998001)(2950100001)(48376002)(15975445007)(77096005)(36756003)(5004730100002)(19580395003)(76176999)(4001430100002)(5009440100003)(50986999)(97736004)(5003940100001)(68736007)(110136002)(107886002)(92566002)(101416001)(5008740100001)(81166006)(8676002)(229853001)(81156014)(66066001)(4326007)(50466002)(2906002)(105586002)(106356001)(2351001)(47776003)(53416004)(76506005)(42186005)(575784001)(33646002)(586003)(15395725005)(3846002)(6116002)(50226002)(7099028)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1723; H:localhost.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A: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; BY1PR0701MB1723; 23:eHG1sX7qjgx2Udhjp8dJaq4s8QmhZ0vh49BBGW4?= =?us-ascii?Q?inIlDVZi45p43w1m8Jo2E/53jG9s5k1piAQsJJcR3CtpReoAPSBOOuVao3T0?= =?us-ascii?Q?xfpRq0dYUm6JpmmaApgu5i0eahpAdMjyArz445ePMAGz3/Bu2zSrUQo8qvqC?= =?us-ascii?Q?WophZzJBaoicHANs5agfemlFZ/Oj67RyD6OSU8LhKwfhzjP+kBiHUixOTGjh?= =?us-ascii?Q?68Iftxl4+ubMYziTeS99VwbIfOZKCQqBk+YUZI9RMj5Vti1CgilGyZIXtY1V?= =?us-ascii?Q?UuPZHuHmUf46DI8sii2UpPJZXFwtFUjI16Sb6csM8AGSHQWasDvEweKYCw/Q?= =?us-ascii?Q?Jr7r7bG9TD/qXQrqCUoLZ5sjWPp8qeYS8zKxjDazgj4mNsNPIqVK8zMSgAZf?= =?us-ascii?Q?TquK7YEF3LgAa3NCcSS0k4Fs/NOakxe7bSfNcHC5uHSNEwDzkkIZz+JIcZfT?= =?us-ascii?Q?YkXG9b7V7WGR6mroQBD2vooDW8GZzPN0i25zEJym1QSIdVMvaoW5zJhe5ap8?= =?us-ascii?Q?tCOs/S+U/Be96UQfRMQfGdCfR9z1V40Oj3bZyqPKCme3kfzMKqH4cyp1uNDl?= =?us-ascii?Q?MgEoF9GX19RzmI3OQ4hDRtpVcSpU9va+wdzlnem6o5m85iEV2A0BifnXr04V?= =?us-ascii?Q?7bT9xCGCSXywF35iQyvyQr9OknEvKveqPbjFj67uzqfy57u8ZCKuHN5sSM5j?= =?us-ascii?Q?E/tPGNP8QkPh2G8dHqMWTtbbAnHMqfFpGj6AlYVN23wrRMHwNgbRcd6Zp5mQ?= =?us-ascii?Q?9zP8bLUVan3S0o21CtH/2wH6LHdf1HPF25CZc3fdB7jiv7yTlXE22wEvbIGi?= =?us-ascii?Q?HbByf0kp9w7E68snn+b2r3xUWP08N7CVew7xYy1EoaYgxMNdY7glAXDzxWry?= =?us-ascii?Q?AB+JvgM8+yNB1dHx8usQc8LDfajhYc3UqVO5dl6cQZRHFP1dJ5yPuPQQqUTw?= =?us-ascii?Q?pqbCCfULfQcAQiDiWRSBdjqQ3hb38mwnq+6WD922rxxWl2nClGxe5PvWiThd?= =?us-ascii?Q?xpH9WVqh0wuGnxERzNTwCPyyAI9LnealALMigtWSNBUHlBAe1H1foNGxbD0h?= =?us-ascii?Q?jbVFMq0eCAUOJf8JObya064Y0OzcCGiOto+PMMhA4vymwEjmN9ziywxg9tt4?= =?us-ascii?Q?ewGM6bQt7YFEqGfij27W2uR5iuE7IQnnP6hf//yIdBl3R4b+A4wkrJVFZ+3n?= =?us-ascii?Q?x5R2Tgi4kbM9NMc2GWZxO5tK9zytr6RdFLmR6IO0fn1ifQwnp56sgABSDKuu?= =?us-ascii?Q?qzVP8q2nCANVzm+SgfP7hF6elzqWW9uFcm+iJknlLVLY6AN0ST4+N6s6QfQg?= =?us-ascii?Q?pl0Bn190L4fUAB0HqAmKYol/g1DQmf8MKucnwrKtuNW0V?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723; 5:5bMn+Ues8qW+lzcKvhT9L48jY9GejfD4VDjlorOuKNLBkejsWhb6MusI5zp6CqYyrpuDIYe1zHNazKWPRo4mA5BFcZMn2IuUC5jpKPkRSetY5QetE3wUfz9B7MoKLV7nSj/3GX7tbIvPosAJNlJXnQ==; 24:7f6mhdU+G0V7Cb8k3x1Hi33UHVP40cDF/s8NeBC0EtnHH1pqhmjPLODkVuEvyi3lGVNa4cPNvyCzYb2ztIAI56UIYyQgOif8pXkmAKKLEds=; 7:UyMZXsP2LKzN3QM0vcKHe+IBisWfHo7Ys1J88YepvQ0OFBJPIl0JW8vaIhqk3vXeE+uIASBfkIw+i2jDpHWdXraS3spG9O16j6mR18EtdXv83NvZT3aV1wepAsxrG3W84QPP8yFxWLxK8+WSm4CeomzXzUL4qTFvsbtpAcuGE/Jt3sfdudDxqnBkuTbLCZRIeeTRHqfCPmXDAIWIlzT1ug== SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jun 2016 19:07:04.5291 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1723 Subject: [dpdk-dev] [PATCH v5 00/25] 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, 14 Jun 2016 19:07:08 -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 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 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 Jerin Jacob (25): 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 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 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: implement supported ptype get and Rx queue count 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