Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754257AbbKBQsT (ORCPT ); Mon, 2 Nov 2015 11:48:19 -0500 Received: from mail-bn1bon0136.outbound.protection.outlook.com ([157.56.111.136]:24544 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754095AbbKBQsK (ORCPT ); Mon, 2 Nov 2015 11:48:10 -0500 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none;freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; From: Madalin Bucur To: CC: , , , , , , , , , , , Madalin Bucur Subject: [net-next v4 0/8] dpaa_eth: Add the Freescale DPAA Ethernet driver Date: Mon, 2 Nov 2015 19:31:32 +0200 Message-ID: <1446485500-9782-1-git-send-email-madalin.bucur@freescale.com> X-Mailer: git-send-email 1.5.6.5 Reply-To: X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD056;1:qXmlma7zaVN0OKxwqffvNakguM/OndzYW26k+MSXlpw6pmkdiXaehlxUmKUcQvB9bD/83py1zUkF3qcR4NVhd7EEX0ajQZvmj+PQvGu1AEuTWfc1fRIWZiAigI7qTnhDwcpu5tLllIqGaeOBgmaWXFC13O7lrCd277wK1MNxVTTdQcWfWu1LxEyMSPX8J/rCd3/DzR4dIDnGuifhbIP5tqmTls8NFNGnGavM6lBrzLaeTexhLfoQB39pyh8RbXbOr6AHrvJ24UQmUHzI3oBLDfJ7P0hTgj3xLs+dWYimHHYA3V7meb1hDjkDAnJb0hbRGgD5wiQ5cfsnciHjvDjSuF1Wutvm86enbighzb/YxJd06Vrn7i/va06g7hOcOFjQ+M4CSGrH0ypqQp2siKyCkA== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(189998001)(50226001)(87936001)(19580395003)(107886002)(81156007)(19580405001)(47776003)(5001960100002)(110136002)(50986999)(77096005)(48376002)(85426001)(5007970100001)(15975445007)(50466002)(49486002)(86362001)(5003940100001)(106466001)(33646002)(97736004)(229853001)(43066003)(53806999)(36756003)(2351001)(105606002)(5008740100001)(11100500001)(6806005)(104016004)(4001430100002);DIR:OUT;SFP:1102;SCL:1;SRVR:BL2PR03MB548;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB548;2:aKMBtwJR9jjc36aYCavgPCkeGYUmLCzMC0OV5pvVRy/8Q7IB6Ccyn848rxbJlWWGlgN0q8sYytsYbRlr1XPU2qKR3ntmNliHqZ02gFQovVAdjNhAgMjatpVJ7gEUfcVTkPxVxr5sO9aOcFqtvayUPbd9MSlNYAtJhXKGeAarHYs=;3:mokQIcmY4JFPkvBLDuQQ/odOZ4t/DOMxy8EhWXOokJrW31KqtXV+i/fXv8beiWEmFBmnNCjS1W9h7XUHr8XJ+1iEblJu2BNPStN0HWm+fT8235S8w4ucZVrbgKe17Y1+iOw19geH6fL/ivw30IzwOAUmvpvxwcmvZ6sAG73OUvzSKmaQs/grRWByXhK1iMhDDyAd7UU71iJLux5aT6VB6BZsKVWaH+k+YX1+0BeyP3M=;25:eXIRQlgPuzR4rGdN9I7w2bAIVcVKhhN8c68VRyvvqFMW3TXbKHHaAd0ez/Ro13r59/cq0BO8j7d3mnum/LvLZhp7c7ZhgHd9pwqgS2ar/aLn18RPEf5zXT7O1g3mpwdv8PUPcq1g/qj61PCi68xfTYEMFgcgb992VoRYueGOQPXU2SCJ1DDCJPeB1wx+sy9pmsArtlUoAlqhsjgCqMFDn3PoY90V0BlGD9IAnePDp+SKmgAwZ3+GrViehzy5RdR7UjUgJ6VfWsEGfE2IDjRIPg== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB548; X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB548;20:1jkjhuUvSC2Tsya5A2t3JoTMOMQuShjIMdTj/UwyT91cOjdUdYB5g1syteY/4n+KBE5Nr7G58H/8422vi8M3S9GUFKOgcMLEUU9OnaahX6MxDKSS855QWXbCZK7hok1BmQ5cKraP4sfksERUg0keIF3Y8epim4uuFcznlkwk0BNXyieyXdm7nXJwBwQvY+SE1kB+AD3emySvAowxBLUEd72VM48wEeUNS5rtdUwwntocDJshJhBjuuFabWz6wDKTnqOcJgk8fWVSH+xQzEgP38bPO5eIFoWwKsjcBoDpdHgNRYkPSixgBI8gtZak1oM0dL7ZVjHMqNqXXrEX5qhsaSYaK9zBUwwO0koelDYa7JY=;4:e2NYkjJCKSqu5ZWEhPxkrTRm3vJrKXFhh2Hn9xTC6lLJomkm1AwE22CNsRVWnXMhSKIFNzTLLVg8tDaX/mtrwjtleuh//weXdekjVcN8oRRhIUW8NLxHtlQ7H9KU7rTbycrX3Dm9DvJJMML4Uqn3+xTNYJUpT8RZK+0Qx/OYGqm47EeKUKddKl/lwVHOi+GLLUE5kjbfGT84cYewhpcQXwNFUa3GyQFmNQvTXA4eS9XMMZRwrEEXxBXRbwwLXcOvtgIJ8eQxJwV6CKqfYlpTAHTBOxDajojqxNsLer7VvE9kYD3e3rAtmMUgUxtAd5YrVMXGR1UvOuvZp/nLqg/y4/5Xd0tKHbJIx8T+ph4ATlLdhDYVtp7xglAQdUgH5SjY X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(10201501046)(3002001);SRVR:BL2PR03MB548;BCL:0;PCL:0;RULEID:;SRVR:BL2PR03MB548; X-Forefront-PRVS: 0748FF9A04 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2PR03MB548;23:2CRZbB1zUcppIu/K+TftGscuQmgfItr3Em5oQRum8G?= =?us-ascii?Q?xWAhyLkNATNpio81Jv498NO5vSHHO0hBLPDEPmvx3KkHxUX7NaCnomwb1Uyf?= =?us-ascii?Q?u3BUSGA/c8FnjlToR3L1rQ5KjYlt8O+Qo7HIL4qOQfP/HnsS9TbhuXXAHlNv?= =?us-ascii?Q?P9ubfbH4VEAGqEjn6YCDgc10JV0vHuuXUdPbMold5LmbF3zw6LpaPv8/5Tek?= =?us-ascii?Q?wv2r0mAT68S95tOUJJ/wDGc0YPCED81CRP6mt4KPNK9NpF0u/z7zDjhf39B8?= =?us-ascii?Q?VGsO+Coz5kF2ovqNps6eX67JJXw1Q68WsgEHMo7GlZxYCIPsCQr2GHmRjJlW?= =?us-ascii?Q?hRkKL8aOFRrOxda2Bv1xtUNlL19RSqyIwE2e3f5yYGsyBhV89GOgSX6HySL7?= =?us-ascii?Q?2YAXqb9dzLqRf5SXDSXrmTX0iRzH5p+TfoTgzy+8HJVBBVpHlghYKpLNrpCM?= =?us-ascii?Q?9kFee6Efluu77ikbAJPPueBoSvPoLKNbW5KSQwiGzXiCuWQIXDdgNC5Qi2Gj?= =?us-ascii?Q?D/TDLgHKNbTKwH5vt30hQGlmjA5BoMsFcxZ3KzcW2JEhBjYQox4la0puUSqG?= =?us-ascii?Q?wv/wbao6lGuQxOXWlt4/xw3Lmhur6utg3NeHs0I1LK8Z+rjmyFmTXprjPEIX?= =?us-ascii?Q?LYJJC68qkkCO6iU4hFRpdBcr+31A20Ooz4jmYMHs20+xXI8GB1itkDWT7rRO?= =?us-ascii?Q?OQZ1RMibtKe0RD+A2bIzWOxyP13Hu3HxqSes5VsVp+XJiAB/N0W/FoS/48FL?= =?us-ascii?Q?w5Iu8b7xMa9D7nsjzeZUKy+M0X/qTu+DyJC7sEPkV9Q2ey8m/nRlbf+MJFmY?= =?us-ascii?Q?Zs2kd1pLDHfERlUC8cWyccUtpCxTE4gdwwSStis4eaE8HrkYPH86GccgBQrI?= =?us-ascii?Q?2QdUebdU3Lpf9+NibNvuGkFnNAlye2DQ4y+hvUep/EZ+dujwgEhl8jZf+e0C?= =?us-ascii?Q?1Up5ljk/m2ixKOGNJfVpHgwXpqz3tVPsqu4hDWlscDC8WGwIbWlY9Rfdb4w0?= =?us-ascii?Q?IKcb0LqFg8GRsjjbJ0rujkhJEhpy5QZnvEd2iq3pQNukHQdiYhCTjR0r3Ar9?= =?us-ascii?Q?78RjLXPYNNJwWJYQ5p21L3VaaYoU5WiSJ89UUCpCM/QAfjw/KBKmG5lhIjhV?= =?us-ascii?Q?Wbk/vzP8Y=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2PR03MB548;5:kvHkyKASNzgMXk9LpUTsOhepVAsDM6AhTibvFaUqaOpymlnBIM3V+oSx5x6Dqd6D5WM3R60JXzUnpo3CAKGNlB78vcWe504ZWRbVoRQ9JyeFHohqvJf3kZHKFITvnS/ri6zUU/zk5595rm6xK/iqAA==;24:8FDy8oev7o85/fJP+/UkgHcv4K5cwqRZq4Dh3C6CCXdGRhTr0ymh24EGROlFbIGroXujLCKeCtu8YOPGcc/4NyOJohD2puSOUpCFy7t68aE=;20:7XTVm0uXFXlGquF2ULpGmR5ovVVpjDMTXG5LRFip2Jqc6NJqehTRiWW1fdkNU1j5CZyqTlle14rLYr2Y8grodg== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2015 16:33:51.1325 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2PR03MB548 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 6744 Lines: 155 This patch series adds the Ethernet driver for the Freescale QorIQ Data Path Acceleration Architecture (DPAA). This version includes changes following the feedback received on previous versions from Eric Dumazet, Bob Cochran, Joe Perches, Paul Bolle, Joakim Tjernlund, Scott Wood, David Miller - thank you. Together with the driver a managed version of alloc_percpu is provided that simplifies the release of per-CPU memory. The Freescale DPAA architecture consists in a series of hardware blocks that support the Ethernet connectivity. The Ethernet driver depends upon the following drivers that are currently in the Linux kernel or in review (the underlying drivers are not inter-dependent): - Peripheral Access Memory Unit (PAMU) drivers/iommu/fsl_* - Frame Manager (FMan) drivers/net/ethernet/freescale/fman - Queue Manager (QMan), Buffer Manager (BMan) drivers/soc/fsl/qbman dpaa_eth interfaces mapping to FMan MACs: dpaa_eth /eth0\ ... /ethN\ driver | | | | ------------- ---- ----------- ---- ------------- -Ports / Tx Rx \ ... / Tx Rx \ FMan | | | | -MACs | MAC0 | | MACN | / dtsec0 \ ... / dtsecN \ (or tgec) / \ / \(or memac) --------- -------------- --- -------------- --------- FMan, FMan Port, FMan SP, FMan MURAM drivers --------------------------------------------------------- FMan HW blocks: MURAM, MACs, Ports, SP --------------------------------------------------------- dpaa_eth relation to QMan, FMan: ________________________________ dpaa_eth / eth0 \ driver / \ --------- -^- -^- -^- --- --------- QMan driver / \ / \ / \ \ / | BMan | |Rx | |Rx | |Tx | |Tx | | driver | --------- |Dfl| |Err| |Cnf| |FQs| | | QMan HW |FQ | |FQ | |FQ | | | | | / \ / \ / \ \ / | | --------- --- --- --- -v- --------- | FMan QMI | | | FMan HW FMan BMI | BMan HW | ----------------------- -------- where the acronyms used above (and in the code) are: DPAA = Data Path Acceleration Architecture FMan = DPAA Frame Manager QMan = DPAA Queue Manager BMan = DPAA Buffers Manager QMI = QMan interface in FMan BMI = BMan interface in FMan FMan SP = FMan Storage Profiles MURAM = Multi-user RAM in FMan FQ = QMan Frame Queue Rx Dfl FQ = default reception FQ Rx Err FQ = Rx error frames FQ Tx Cnf FQ = Tx confirmation FQ Tx FQs = transmission frame queues dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps) tgec = ten gigabit Ethernet controller (10 Gbps) memac = multirate Ethernet MAC (10/100/1000/10000) The latest FMan driver patches were submitted by Igal Liberman: https://patchwork.ozlabs.org/project/netdev/list/?submitter=64715&state=*&q=[v7, The latest Q/BMan drivers were submitted by Roy Pledge: https://patchwork.ozlabs.org/project/linuxppc-dev/list/?submitter=66331&state=* Changes from v3: - removed bogus delay and comment in .ndo_stop implementation - addressed minor issues reported by David Miller Changes from v2: - removed debugfs, moved exports to ethtool statistics - removed congestion groups Kconfig params Changes from v1: - bpool level Kconfig options removed - print format using pr_fmt, cleaned up prints - __hot/__cold removed - gratuitous unlikely() removed - code style aligned, consistent spacing for declarations - comment formatting The complete patch set based on the latest net-next/master kernel can be found in the public git at: http://git.freescale.com/git/cgit.cgi/ppc/upstream/linux.git under the tag ldup_public_git_20151102: http://git.freescale.com/git/cgit.cgi/ppc/upstream/linux.git/log/?h=ldup_public_git_20151102 There is one u-boot patch that one needs to make sure it's applied to align u-boot to the latest device tree binding document specification used by the FMan driver. Please make sure your u-boot includes this patch: commit 97a8d010e029111e5711a45264a726bedbeb24c4 Author: Igal Liberman Date: Tue Aug 18 14:47:05 2015 +0300 net/fman: Support both new and legacy FMan Compatibles The patch was included in u-boot in v2015.10-rc3. Madalin Bucur (8): devres: add devm_alloc_percpu() dpaa_eth: add support for DPAA Ethernet dpaa_eth: add support for S/G frames dpaa_eth: add driver's Tx queue selection dpaa_eth: add ethtool functionality dpaa_eth: add ethtool statistics dpaa_eth: add sysfs exports dpaa_eth: add trace points Documentation/driver-model/devres.txt | 4 + drivers/base/devres.c | 64 + drivers/net/ethernet/freescale/Kconfig | 2 + drivers/net/ethernet/freescale/Makefile | 1 + drivers/net/ethernet/freescale/dpaa/Kconfig | 32 + drivers/net/ethernet/freescale/dpaa/Makefile | 12 + drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 854 ++++++++++++ drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 479 +++++++ .../net/ethernet/freescale/dpaa/dpaa_eth_common.c | 1395 ++++++++++++++++++++ .../net/ethernet/freescale/dpaa/dpaa_eth_common.h | 109 ++ drivers/net/ethernet/freescale/dpaa/dpaa_eth_sg.c | 706 ++++++++++ .../net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c | 167 +++ .../net/ethernet/freescale/dpaa/dpaa_eth_trace.h | 141 ++ drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c | 413 ++++++ include/linux/device.h | 19 + 15 files changed, 4398 insertions(+) create mode 100644 drivers/net/ethernet/freescale/dpaa/Kconfig create mode 100644 drivers/net/ethernet/freescale/dpaa/Makefile create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth.c create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth.h create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_common.c create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_common.h create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_sg.c create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_sysfs.c create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_eth_trace.h create mode 100644 drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/