From patchwork Fri Nov 11 08:20:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Madalin Bucur X-Patchwork-Id: 693593 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3tFXzl1TLGz9t0Z for ; Fri, 11 Nov 2016 19:25:39 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3tFXzl0hGzzDvpC for ; Fri, 11 Nov 2016 19:25:39 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0083.outbound.protection.outlook.com [104.47.34.83]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3tFXsj1GntzDvWV for ; Fri, 11 Nov 2016 19:20:25 +1100 (AEDT) Received: from BLUPR0301CA0026.namprd03.prod.outlook.com (10.162.113.164) by DM2PR0301MB0750.namprd03.prod.outlook.com (10.160.97.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.707.6; Fri, 11 Nov 2016 08:20:20 +0000 Received: from BN1BFFO11FD022.protection.gbl (2a01:111:f400:7c10::1:118) by BLUPR0301CA0026.outlook.office365.com (2a01:111:e400:5259::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.721.10 via Frontend Transport; Fri, 11 Nov 2016 08:20:20 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; infinera.com; dkim=none (message not signed) header.d=none; infinera.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BN1BFFO11FD022.mail.protection.outlook.com (10.58.144.85) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.707.3 via Frontend Transport; Fri, 11 Nov 2016 08:20:20 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:897; Count:11 Received: from fsr-fed2164-101.ea.freescale.net (fsr-fed2164-101.ea.freescale.net [10.171.73.197]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id uAB8K7eS009839; Fri, 11 Nov 2016 01:20:17 -0700 From: Madalin Bucur To: Subject: [PATCH net-next v7 03/10] dpaa_eth: add option to use one buffer pool set Date: Fri, 11 Nov 2016 10:20:00 +0200 Message-ID: <1478852407-27420-4-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1478852407-27420-1-git-send-email-madalin.bucur@nxp.com> References: <1478852407-27420-1-git-send-email-madalin.bucur@nxp.com> X-IncomingHeaderCount: 11 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131233260207602260; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(50466002)(189998001)(69596002)(48376002)(50986999)(76176999)(586003)(47776003)(77096005)(53806999)(86362001)(68736007)(5660300001)(575784001)(4326007)(2906002)(6916009)(2950100002)(8936002)(50226002)(6666003)(2351001)(3450700001)(7846002)(356003)(85426001)(104016004)(33646002)(626004)(43066003)(106466001)(97736004)(87936001)(305945005)(110136003)(105606002)(81156014)(81166006)(5003940100001)(8676002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0750; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD022; 1:AZeINssWkIUhIRSbWUnGRs9NKOpJD/lw4U4sxbI8mkAsovQhNi2u+FgTognB8tURn8gUF3l5XY+opY3CDZmh+cenbBewha2T2OcJCoJEXYgYkqFiaF0oWTGStQ6psGx2v566X5oWSd2wUmjzVo92aZNVtX1UYo5vkVh3B1vXbvmOIFJOwLOVoJg+gp6TY2cVY52jNegt6GtI2Z+rsCzgJVyC9A0rL9A6KRe5twkYeCa28tvVsQm37yABwfvNeysI9+Zhj4ikJrlfLll6ts7040H4WUSL0RyzyImulqO+N9F3PB+fib4BE/Q63AsNOh130kTXf+MVCDUwf1K/AE5otgVYCrH4JYB7BjBsa7mTvd3shCYcSBWONM3j6LTqUQ2+9WZAJYkXvf9aBQJ6tXKDjaTFHn+dagVbWAtC5kTSTgbAdmtIlfOPeAZSV0UFKK37FpZnMDmgAIIWhBpZ1oXwK84brqzUKSmxInESsoqxwpKZQJATC0wOP/IFO+PXRW0jBTfVvihQkWWM6YbYe9svcnurvhfpS+thgz0hqklHLoLDfKxsch1dHllXmZdS3ER2JDMkyiAqlXjW+1IiNRanA2ZSFB+OkxAzDggIiKKm6A4HWWeRm9MSlJcLPZln35G7 MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 2:cFilX+sToIxNKUmgl3C7ctvRSS+j2FSheUA+peh8JK1YNDiazPcY22ew2bqDfD33xxKOA3W0HDlSruMemThiR1h6zDSIzcuY1K78F0q5qIXG5cklwU/dza1ASw6Zvk99tNZrRWXCc3DQ9P1YBzX6EANjcSMIcT9l5MI28ec+Ksw=; 3:NQUn2q/qiWiC91pv+AXDNoHMkl0AAXIDO08Dae/C9i92G5leLzXTxDN7ZVMOgAO++w2C+idDBQ4hbl39TdSouYCJbOEMzFRXIivrdbQP+VzH0AS2ZJ3Yyu5SX3fhCA7BXHvDQlvNdEQ54C5u9iibuL80YA1rw49MCP/cTyCHFLYbtfuu/m5UOqavpFW8MStYR8GDa1vv5eRtxtu4UmZ61LPmA8c5WW3kUPioxrGyGDX3bb+gz599G1mbRiOPUrGY5U7ie8rE0+lq8+JGeo6r7w== X-MS-Office365-Filtering-Correlation-Id: bd3ca3db-a773-4b86-3792-08d40a0b93d6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0750; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 25:A/I+Gzmfzm+9qLevdZgwjooYpl1Gs3gTIJ8b4E3spsOycocTOkAfizXlYqMN64nGmlumLBL92aNbMY+nwyH5QP13hs7JNnePx8Ldn2EZFue2kIU6ETj+ZB3WttMpnHP42xagWGGnwdTy5g+udAB7JKRRjtiokrfUAPg1k8drf6YvYupQYe/61TtubJhcTBX6/fdncVATC7vWJdcx1JC8u5A2QrIFP01ZENDvpwHd/ZXJm9c48b/mPv5r1c8L4U8gr2LatkiQQrMwXfkXqjZe1vaSPtGxvSXTW5dW0Uc/jED7xGRd8rUZrm9dSAZwP4eR5r/yKQuDN8oATYujFwdHhyWeUrMmVU0fcyE1v9U4Gz4KVXQph3bSMtTkSwo+0rw5RSJjFsczU1k201BViXX6kGMUBM9jBpyrdPiGqm5BB6EeGry1FnKC/IvANnmM12ye6U/rdG3Zo7LAzrDqYYZOIgSeq/BSV2gUFTvoJ5tzJuPzDFxZ04U4PmmQdfxBI06X0VP8KLafJPIgTlQY9CJqdYiFQE4mkNxbE+m+NRnqJShGmso3TtQQS47wXNNIJ8/4mqBLbHhAaMWaaqIFMupD4vZzdW5nKmBZP8LJOxItaJRMzi7SS6sAKOCm/NPphuOOUYqEJDZ3rW2NtB63cfwt49FTulaN5oP6OSajdhZcwnw4o6Y6VhRqhd1lSyNEysTsqFGLCSv8ETNZmniGjP2vXeo4P/OfwjYkqzCryNUgAbmk/Ztv+x32x8VGv4Csb/UUxgwrvlskSbGYjs/f8Z/RRmrztx5RJRuk9iPD5HIbK3g= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 31:Gqa/y9a2D+NpM1QL85V3w1VVrRUB/JTy4XRLnOZmDFzeIx3f07HDR8N0BS2UAX0/RytJgrZQNEMHG+Tbxa7/W3jdVCU0T1hsO7rpXtkjxmemLBFv9yWWjXxmmtmPATWPdMKzMhoMQ52jXcRnB17bsiEEnbNH7Qz5GwZxTpofaTRC+8viSrqI3Cxrk3IGV/SE5V2k73mloGM6azPCd3130y9CF/yXYEcMqroBdeCWRPwv86XDnOTIfQ15oAzZh0nz56/gKudQIqj6+GFzXozqfTXxM2365pap/H05ZlFuP/A=; 4:6HhIYDMinIK96ynqENwUtzUFP72ELvBC0brLrIie+LXxffYA0egsWrmgiRGq665tcP7GmFg8kkQqfcz9GsgXHAIdgCHr9n9KWUDhNojsOuJMaNW4YuTBjK/zZf7ydQlhZ/imJ5s3vneSbwnq/ptjotISIbYEbf2AJiV99d2KMbmK2QsVbRKCxwmXuqQ2FeLmT9ap8fmVqmVgWGip/saPWW6oqN/rqiGXBbKIj6nnFAGUwIWhqVNmIBwQ9/PtGBD2N8G2Z1rsFgP+Dy2lUqwB/zfU0Uy5LkHVHI7tnUAVPzt6xmgErtCC7oCCKTjNHB9R3j1mmj6lAJSzmAAdYT9QN4HHaXImJ/x70dpHqqvlkQr8a2nBc5BrgNgGOpzPdp8bRppgOpykaxiQ3mBYWSRjJmGFi+aMNpNgxWuwk3TX7d+3M9wO+1keyb6r7fL6HSANmqSr5d1wYFf6Guz6SSPvSq7rDh6AWYHYqP3BMyXP6KnBkcHyZIMgEhfPMkpj9QBaVoo4+pscCKSnWdf4y5m0plxVKi4JQZY/c9vrGMxvBye8G2igihRJEppZe76H2tjR X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(13017025)(13024025)(13015025)(13018025)(5005006)(13023025)(10201501046)(3002001)(6055026); SRVR:DM2PR0301MB0750; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0750; X-Forefront-PRVS: 012349AD1C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0750; 23:5Pt/760TKet5risHy1wic01bioQSITWusOB8NJ3?= =?us-ascii?Q?bjSe4gpkCDGP/BzAj48LJdpjWKHRKRs95+w854JBE6xSS6DJ/wmDinJEyMuG?= =?us-ascii?Q?71CpZK0CYrRy1/mt/Sbz80mCSbp+R8HoZf81msiezWl07G68pLEIJ6Vs9pc+?= =?us-ascii?Q?s0RWbb/1Ki0Q7iY03mTIEbIKSojBKfFNnH38wVSe7J+qT1AzSXznu+xVu99v?= =?us-ascii?Q?RI7kNs5h6FREk5Zqq2xJZ5r4G0gydpg3/H9jNA06+TDVR1YVCF+nEwzxvSzW?= =?us-ascii?Q?btoT84miJm8rPJzuGgqm5OqEPoGViYXaZvtYKJLrsWpy2wJho84fh23r3yJO?= =?us-ascii?Q?a2dDR3EjAzMcv9S0uU9M84sRSanlM+U9lYqYxtP4xL0OAyHh+HxRcQmMv4ft?= =?us-ascii?Q?xmOypXpCvDeSX5wN1Z3G7UYjtNaO2PPOwhyX6BUYtjaO29dVHriijEfDzir1?= =?us-ascii?Q?Djle01kvMfwsrof5JDK4Vjxoe0ID0UqMCFi8IIge+1hFDVLF5qmMbxZ4v2tJ?= =?us-ascii?Q?opolDPiFIqCocKc9NwPSsMjNfJL7vifNYgCN1Tc1I3btZ+mL3E/OrWb0btM5?= =?us-ascii?Q?NmwzXDquKbcQhmT9lxY0EmFE65ys/QiZ7bMq6JBJfRdH3WyV6iIlUyFV96LD?= =?us-ascii?Q?xLW5i/rP2BAvZjR8V0sV0zmwmA/1jv0qKB+veMg5+9kZRe+yIJJkYaRAK1KA?= =?us-ascii?Q?/wjku28ODIVzjY18U/90RhibNfIipxlnUGwm2RqtyunToc2Bxj3mBMWt27Bd?= =?us-ascii?Q?JX2HOW9Kz8FfwMDjcKt1jBL/xwCLwibmuWEW3kfANlcFgRNqOX175TNWyhwn?= =?us-ascii?Q?XdkRNim3dwHV32iEXx+4WDOK6vItalI3xkFePkz/+tvBSjetLtLMY09+Qk1m?= =?us-ascii?Q?84NERiOgRE58rRsx+S+vb+dPL0YY6FPXf6fSLQekdVGBGAekUGt2xC+IZnus?= =?us-ascii?Q?Zbs2FtGaf/u+pBQ8Yj7flvRPrZuy68xKFZMjlY/e42RXWdGk1rrA5vsVew1S?= =?us-ascii?Q?leyCkWb1begOcglGRpADq4beb1rFnu8Kl9M+/1qWjuwdDZZT2bU+c5Jc0EUq?= =?us-ascii?Q?2gyCGgfC1GbkoMDFsw8Fn2XGRy/IPsUJNrhyvPMyZ2Uv+4+uSwEMBVhoWSns?= =?us-ascii?Q?2JY1DtPR9jmmu0P7mJrbrYQ5rurbDnCjqYsL5RKfLFm8pRjLgnCWeIg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 6:6kfBLVkP4ILnDi3q7a/39AwNVE5N6Qghy2rV7bomiY8HlZOWFJr3WlNJAHOwTjbndK+ayPhMI0vwMotxLpcA2hU1fC0y4x2ymPAJrilFG3I25O9Dn1bPMwCVWL8tfj5f0ZywcTfalgPgn++rehdNt/YtD5LpEPoudHwkCN9GhlBmOYp/oUYOMW1/hOfd25We/OUmb7qS3QOpRVdopC71gaRuCzxpaE2jC9NDVzKK9y2PgDRK/JyK2ozR4hvsijSQSmqU2Qby5OP3U3W1DyTCfVWVRQ3yvS8Gek+3now4Kx5Nlcd3iwdib8e56JHVvuTE; 5:xTyYRzPnO2oC42/J+UqL3V0w5fjJpwJQsidkPhxpZGxQFGvmoBY2qGQlkg2O0twabjcynV+EuEW0xM8YhqR8VFQVogK7t5/ViDoTCA62qDyBzUom8qRv0VD3ZdSsry24W2jUaSA/qkplmWxF93BqGKle7KmvAkRVC2Bak0bm/RTFwzzhtbtTd7tqRr7RtQGS; 24:806OSdprYOBSDmlygYmze7/9KG+OzJ8a4OH6r0UAZFXIVF5Z4nAYe39bujiWJa2LCmW8Ubkfo5k3S3QD65GA4pPhX6hy+yM1ZsdNwPStAtI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 7:c2xZFKMXMzVejvE75aYxGHtdyhBPdU7He9fX9EDTbKYEnaSWSqpO0fI0g2jY4rWc40IvXa5Uu0j3ghRe9m5SYaOSnuoGf1ZmtBGyDI+Xr0afP2PhS0f5+D+GsugHwdUT+sCRr3G7ZQ2WXaYy+k18ENq20gqw4iIW7B7dtMdqitGFHI2ZeEY1re5K/pyTUIxHUV/0mrC9EzKF5A92wiY5stAHqkNOcKbltHTcwpbMQA6/KcdcpupCNxWqEnV63BkOTnmD69kF4UCGovArQNdJOwHWALp+pVI0nFerrIvRXjbvQioB7ZyiOR+ziycqhpXcrMaSqjDsD7x8+t98nTMXNcrr6ifmScCHym0WInTfhEQ= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2016 08:20:20.5106 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0750 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: madalin.bucur@nxp.com Cc: pebolle@tiscali.nl, linux-kernel@vger.kernel.org, ppc@mindchasers.com, oss@buserror.net, joe@perches.com, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" Signed-off-by: Madalin Bucur --- drivers/net/ethernet/freescale/dpaa/Kconfig | 9 +++++++++ drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/drivers/net/ethernet/freescale/dpaa/Kconfig b/drivers/net/ethernet/freescale/dpaa/Kconfig index f3a3454..c0ebc92 100644 --- a/drivers/net/ethernet/freescale/dpaa/Kconfig +++ b/drivers/net/ethernet/freescale/dpaa/Kconfig @@ -8,3 +8,12 @@ menuconfig FSL_DPAA_ETH supporting the Freescale QorIQ chips. Depends on Freescale Buffer Manager and Queue Manager driver and Frame Manager Driver. + +if FSL_DPAA_ETH +config FSL_DPAA_ETH_COMMON_BPOOL + bool "Use a common buffer pool set for all the interfaces" + ---help--- + The DPAA Ethernet netdevices require buffer pools for storing the buffers + used by the FMan hardware for reception. One can use a single buffer pool + set for all interfaces or a dedicated buffer pool set for each interface. +endif # FSL_DPAA_ETH diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c index 8b9b0720f..aa3a155 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -158,6 +158,11 @@ struct fm_port_fqs { struct dpaa_fq *rx_errq; }; +#ifdef CONFIG_FSL_DPAA_ETH_COMMON_BPOOL +/* These bpools are shared by all the dpaa interfaces */ +static u8 dpaa_common_bpids[DPAA_BPS_NUM]; +#endif + /* All the dpa bps in use at any moment */ static struct dpaa_bp *dpaa_bp_array[BM_MAX_NUM_OF_POOLS]; @@ -2470,6 +2475,12 @@ static int dpaa_eth_probe(struct platform_device *pdev) for (i = 0; i < DPAA_BPS_NUM; i++) { int err; +#ifdef CONFIG_FSL_DPAA_ETH_COMMON_BPOOL + /* if another interface probed the bps reuse those */ + dpaa_bps[i] = (dpaa_common_bpids[i] != FSL_DPAA_BPID_INV) ? + dpaa_bpid2pool(dpaa_common_bpids[i]) : NULL; + if (!dpaa_bps[i]) { +#endif dpaa_bps[i] = dpaa_bp_alloc(dev); if (IS_ERR(dpaa_bps[i])) return PTR_ERR(dpaa_bps[i]); @@ -2485,6 +2496,11 @@ static int dpaa_eth_probe(struct platform_device *pdev) priv->dpaa_bps[i] = NULL; goto bp_create_failed; } +#ifdef CONFIG_FSL_DPAA_ETH_COMMON_BPOOL + } + dpaa_common_bpids[i] = dpaa_bps[i]->bpid; + dpaa_bps[i] = (dpaa_bpid2pool(dpaa_common_bpids[i])); +#endif priv->dpaa_bps[i] = dpaa_bps[i]; } @@ -2659,6 +2675,13 @@ static int __init dpaa_load(void) dpaa_rx_extra_headroom = fman_get_rx_extra_headroom(); dpaa_max_frm = fman_get_max_frm(); +#ifdef CONFIG_FSL_DPAA_ETH_COMMON_BPOOL + /* set initial invalid values, first interface probe will set correct + * values that will be shared by the other interfaces + */ + memset(dpaa_common_bpids, FSL_DPAA_BPID_INV, sizeof(dpaa_common_bpids)); +#endif + err = platform_driver_register(&dpaa_driver); if (err < 0) pr_err("Error, platform_driver_register() = %d\n", err);