From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757407AbcKBUdp (ORCPT ); Wed, 2 Nov 2016 16:33:45 -0400 Received: from mail-by2nam01on0052.outbound.protection.outlook.com ([104.47.34.52]:62976 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756219AbcKBUdl (ORCPT ); Wed, 2 Nov 2016 16:33:41 -0400 X-Greylist: delayed 934 seconds by postgrey-1.27 at vger.kernel.org; Wed, 02 Nov 2016 16:33:41 EDT Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; transmode.se; dkim=none (message not signed) header.d=none;transmode.se; dmarc=fail action=none header.from=nxp.com; From: Madalin Bucur To: CC: , , , , , , , Subject: [PATCH net-next v6 03/10] dpaa_eth: add option to use one buffer pool set Date: Wed, 2 Nov 2016 22:17:27 +0200 Message-ID: <1478117854-8952-4-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1478117854-8952-1-git-send-email-madalin.bucur@nxp.com> References: <1478117854-8952-1-git-send-email-madalin.bucur@nxp.com> Reply-To: X-EOPAttributedMessage: 0 X-Matching-Connectors: 131225914688661677;(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)(1109001)(1110001)(339900001)(189002)(199003)(229853001)(189998001)(6916009)(2906002)(2351001)(106466001)(2950100002)(11100500001)(4326007)(626004)(33646002)(104016004)(5003940100001)(47776003)(105606002)(110136003)(305945005)(50466002)(86362001)(19580395003)(36756003)(7846002)(77096005)(43066003)(97736004)(356003)(6666003)(3450700001)(5660300001)(69596002)(50226002)(85426001)(19580405001)(76176999)(586003)(68736007)(8936002)(48376002)(50986999)(8676002)(81156014)(53806999)(81166006)(87936001);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR03MB2378;H:az84smr01.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC015;1:nYIVJF8IRalZWb2C6B+aqzTByUsKbf+QpOdOp652GoAiIsVn9mFMZsaGCagJ12XieqF+wymvv2pAuUfYrh5KSNOHYfq9dWXlucbmAHwGy4Z62pzju5DCw/eaJjGHumJD/FJp8r6AAg9EGsZD34MLlqgMvMHVxze1STCQPxJmBudYI/TNTij21VWdiOo/cJrKJJKFWLGxhhcisp51U3byDy+zB/HET4ggoUVIkaCGfuxg+Ocs+Yrag2EuXhlgD/svMRVYmPqWEidU9Pdh5eF7OaiC0igQs9l2QXRiDCzmgw6WhEMhxgs8sMVCKfb6dkqu1bvL7LoFlLadBvC4DMSP7zHCpEyq2r5CSt40BcU2zkJGNKDz6r2prTmro6SiXXgE5Lka/wdlzcivisJzwXqZ6HESfHQhOObnCKy6d1XyeKmBUJdaQXwL3yPhCXtxPjuHs6gjUFRzcIeA1laa7qyP92vlPyTCIzJYOhIFEa1Q2dwGMfUSRofW4g9Hop9whEYXWCsUQvBXwSNnKZMSS39HRhoqqvbhmzAjB8Z+Te3tod6UdFObRjXFG1pXixtL1YtdFzBE8S++vWSNPOVnO1F7qcMjUFRthU8cefOlIJ/e3Cag9KxjEkDDV7L7XiJNXL3U MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: e80f43e6-7056-4020-8750-08d4035d50cc X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2378;2:k/vX/pw25dUGEySxfEp9V0Uu0uv3kzPlTfnMIzZhOnbebXMtirndqXNQmW18yL0AbVmX2jxBuzKmfYGL7xosMVH4KQABGzWUWOTf1AkOxHwup7PZ1eWa3WKAeE2pinGDireFUL6BKKUlrwdEwPpeNzj+REAYh6uA/75j38VCi4QXw2QYGN7IKtLq5abr3gvEuJbxIvoRnV00WaHfE/craQ==;3:CO2F4KntaoLGhpdc9nA8P+G/DqEsPFLAkVgbPVTFFWCii0TYD9UfVevQzwocx+QVaTbHeIyc6IsTtTy4w3X5r+zq2XkVltP3v/p2KoNXSdobfBo2AD6dHn3JlmmmRYvHIvXWy7ZZh2GWfzPhXEvE7NWOmg3xygn0+jTxwEq/BhctCjuHw+CR6aSkfFgP5B91NgEZyCYSsIRZQfNKbYb99yKMT4YDL86AIRHaT4ckleyjZ3+0kKO3j3KL3FRFCk19 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2378; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2378;25:LvOT1vy8IlmGU4lhD0+8YfEPi7bGrQO6Y/QvkaMFRdBZNnm3XyJFp9wrBJa7wAu/AW8E7sEuKZ9noGrfmIO4r4zBWgKcrIKvFGJT/R+UGYO5w9J3OenVMjWqt51U6b5vIzhOIsL9Qr3eVYq9bD8S6QC/wVlhV5JDuAFn6MDtd+lmFxdqy8LzcrP0MwQYFe+0uK3jcSbufY2MAu3XEIrMeybFgb1WO2DBOy1PnIoEgZKWGGeubhv22KBOn+eDjO+U+iPad9hhrkwZuX0kwoJCO0xHlWg9BelLNkLHNUtqmFp42R2ptxhMhOkbRdT4LCNlqIkfViZ087YFNEzSHeXhlSklicN3l706R4hL08k3mFtA6j05XIJWEAjUgy5RVKviC4Oee3tJ16RFgjb2Qo52X7GQYOYcrRAJtKEuvLrQD0/1bb5IqD3I5jCicpEmdA9tJ71rE21K+0s6seLqBeLIOA==;31:tsDMp5Hb3R8KDeWZYr9nxJu26PsCN0+RJkQm82R/p8jU9IoqOa9OzaNCnJpSfLGVSNYTZQXJ8+EYwt9po7cZlIpGXjVvHiLP1MGti68tV+73XrtJPV/0OP81VK+q/AbO4GmjPjgE7Xj1g+uynPoK6H97+FlX0E/8mqDiwRSE0pK45xA2Hr5nEf+YhXtE9V6OOWmcj/3/d5A5f14YRjWk0sC5Qd9nTp6z7dfu482Y8Z+Y7mRHrVZ4iKyFtIZtxwOAfi5ZNaNqRNR2INmWznCFgshleJOiqku/YQVuPfnDqrI= 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)(5005006)(13017025)(13024025)(13023025)(13015025)(13018025)(3002001)(10201501046)(6055026);SRVR:CY1PR03MB2378;BCL:0;PCL:0;RULEID:(400006);SRVR:CY1PR03MB2378; X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2378;4:r9BfBztpufWgzcPK9Vt4n8K/Pt8fLeEl+fdTeoof2XQj2bPLLrHRi7lnh0Av+93Kb95rTRmQOOnKsEWZie5xUHDkBUMDomasnCI0+b9amOIHU+mDrv+nSkQoLMtOA97tOaSOmtaWDuki0MJylbpYC8yqvCWSu3MHMU/F37xM/xOwg9b/lN4gPvuyzROKSnaN7brVzAnLiDEhuYMU/cYSHz1ibQSbJeyQ0tYSWVXCkxysQP42MoiEjSYygXTlhiLmebRZKn+j+4f7+pbATGtQ9K6k9I0dmWKHKqg8v6g313rvn37PIRSk1uIavscO70eId8e4QzDb0WAlGZqpcLD85kmB4ghNA7/yP1rOVYHqpSxkjmK39EYarxuJyQSt7xLYk4iBoo+2RX8VA8Ro3YQSiA6vawX5alPatyzQiBl9RlwA2xK7a5mbgKuyOrM1hOawBXBOQvPqdiULRYRxiVfDC8Y75hrjjJDeusVAlR4OLTwHnTMgTJiEUc+S/Gv/afAcTaxxkupX1prweBfSlMZmHnE0mQPhF4l2D+GxyMY76qkmJmlks4HtCdDQQNvaRNmf X-Forefront-PRVS: 0114FF88F6 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR03MB2378;23:FUA7jCFqw0ISLIxkU2OP3lTILC8kDhxl/lUjMLhEj?= =?us-ascii?Q?wEStzmFCHNSdZ8O+An7RxfyJISx3SISoI3zEUThgemBIvvoQUT8OqnBY3eUY?= =?us-ascii?Q?KSXHoUjSCjYFRcN7ySYO6S1vFynCYkOmWONjX+rx6jnhpt4Dq9Cetj2eX9RO?= =?us-ascii?Q?SxcIm2g9cykinNYQ5eVWciJBn1918fPdDsWAksSSm/qkw+jrXMLhm/ODm4NP?= =?us-ascii?Q?zcSTvtgPxyjTnOpnZZw25HbeiO5d2d5oFPw9fJHPudK9fCT7LLYPv7OjsagD?= =?us-ascii?Q?5i8GujFxyxc8qvvwKqUAPlXk7cQPcA2tPK4KP0ud7h+38vS6UjBsVETFq2uA?= =?us-ascii?Q?cUMN/JcT4pOEknb+9S+Yvemp71i7CRmV8omBnM2lzMh2mjg+Zmx35WfEB6GJ?= =?us-ascii?Q?ZuNAVsJei9BQW7LdGXOQndrrWGIq2Wsru/lDdqfXvYxt5CahWy7XHQ7FMrH2?= =?us-ascii?Q?42Txrv4eb292JE93N7mTczC63m4h26sknibHNOSqseZfvIVaInlrgdpWy+Fg?= =?us-ascii?Q?L2RNbnH4bpMh+VPNRL46M2ThUEZwnPiS/t9lEpTFMjWa0JVIpyGS+zL6r2RX?= =?us-ascii?Q?YH28CpOQ7LUJ2l+g8oOvnyMZR7/Jqc7N2f/nb+8AeFji9rM0A4XaLvloG7h9?= =?us-ascii?Q?vdv2jVO5ZBLBNZTC5AK4UyVFsd/J4CSq8GZkW9idyfjwwzmxlOkrqO4r4ogf?= =?us-ascii?Q?IdNYjD9tdPciRZiVgyYohQe4oALUluMFU791vhJfmFJTiEgQF5ggylxZZ61C?= =?us-ascii?Q?XJu0yMmhMEzobbaEgNVNeJMhaexBF09PxdTp8daLW1MaIq8OeiQQc71KUg06?= =?us-ascii?Q?Lg9mgK4ckOxaZWCXB3c11zD4eTgoxgoNVDQ2h2LQr071TAIbv+opfUebJ6g/?= =?us-ascii?Q?nZbK0t6LDgGa5VWcOTdVRKXQX6GlI4F2U5urAXxxEh/d4/JzwWLLxNOP10Oi?= =?us-ascii?Q?a26JHswbyqTDNvUgEFNHp754EXWjyy2TGGHn2T4DGIJTighcE7zLKZsgNnEz?= =?us-ascii?Q?d5NFyBNMtAF5FvJKM7kA2IoICefZqkhzZoX+egK9cAp1XinWo44AF2pL/Vj3?= =?us-ascii?Q?7Uy/L5aR3g+7FqCtcfUsuAIe2T1mkGVhNzsTSOHTFs/vu6vpZJ3AjJePp5iT?= =?us-ascii?Q?2lzmFgaMoEgo8+jdNYBAVHK1IDpTVVeQPhgJF2dwh50A8sh1GXBcBxOjv5gA?= =?us-ascii?Q?E9OE/EGM0QRs5ZUVMSPR4HEyet3FHyqxNTuZJpPcjKFs+yUdhSIg32PdIOol?= =?us-ascii?Q?buDr1P1xzjhw0wVPik=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2378;6:JJG1eEjxN08aRXlEZCB88FaQZjAZ4/cX/c07Nko+0ZWUXejQgtf2uUX3m5bxJdDdFX8OuCsne2DsOGK+RFFD8R/FtI6t9mpHvCkx6U9CeuyY7viny8miOJFnBxvbBK7sN0DIj+dG+qVufMTdGTNxiBHT7MYUPaFClRt/wt03fNBtztWy7a45hfRcr86st0LWjIIouSdH66lo6JAPFGlIIWg02nlRAPYDvpqbTBeneTnSojH0W31ANizaVTBY3wEuaoq9kB+Uap/REJ2i7WiSUyl1ypCRVGovyt8gsHp8TVyMb3toDAybY4UiGSc8Pz9f;5:EBEKauru6SAK7P+nhP1bY/ai6tI7HIAQwju5lGEe34BagjkNi1Xfj7/eY34IamXVAx5UwREAy+a0JbnMpQ0CZ4qrA7tdX4iEV3lHN9wmdzIVa+aKA5yp3G2x4jMion0b7u655s+RfUa/DoXkEKHdf2KbDGRwumEWHWMO/yGKhdpD1sZo90AtvptT1/jev5zI;24:K/UWC6BAp9j0mt9jl/Hp3RekAB6NiV2hBYoL9INCI+5IqgKkQ4dYr/cfWWdfJISvhoC1yCmKzN0jU+piSOoTySOcyTQUR4kvuzWwBlrtT2g= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR03MB2378;7:xkywbYqoabaIAxBLh1EZj+5mO9hrGbsM6obdlN0bJ92k5ZQM3O6Gqz/Qnn//oj+Gd4lxIvz0fOyMU/DcoZVqFenSQGupjLBBuJv5YVad6SJXi7K1ihET730cXo2s/4T0f2X+XmIWF/rN2jzthvWa529IgOehaMSB3HHkjGs+WSJ6Zh3UdiVxeY1UncQl9X3L3IviYm1Xg8ND9W1ZWOH4r1SvtRGj0fFi9YXBUhpFK1ycs3buzMizHHZi91ypYq/WshvbQOx25Mc0xqQznHnt+6AzehBwANAwjuluchyLasMDvluC3LxmyUpxsehc9E7u/gB5AF0wzvx3zCpw1e+SOju7hl/F5R04XylYF1KOZZQ= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2016 20:17:48.7257 (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: CY1PR03MB2378 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Signed-off-by: Madalin Bucur --- drivers/net/ethernet/freescale/dpaa/Kconfig | 6 ++++++ drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/drivers/net/ethernet/freescale/dpaa/Kconfig b/drivers/net/ethernet/freescale/dpaa/Kconfig index 670e039..308fc21 100644 --- a/drivers/net/ethernet/freescale/dpaa/Kconfig +++ b/drivers/net/ethernet/freescale/dpaa/Kconfig @@ -18,4 +18,10 @@ config FSL_DPAA_ETH_FRIENDLY_IF_NAME The DPAA Ethernet netdevices are created for each FMan port available on a certain board. Enable this to get interface names derived from the underlying FMan hardware for a simple identification. +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 55e89b7..5e8c3df 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]; @@ -2527,6 +2532,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]); @@ -2542,6 +2553,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]; } @@ -2716,6 +2732,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); -- 2.1.0