From patchwork Mon Sep 18 20:39:36 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roy Pledge X-Patchwork-Id: 9957631 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 80D3A601E9 for ; Mon, 18 Sep 2017 20:40:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 734F528863 for ; Mon, 18 Sep 2017 20:40:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 67E94288AF; Mon, 18 Sep 2017 20:40:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, DKIM_VALID, RCVD_IN_DNSWL_MED autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B32FC288BD for ; Mon, 18 Sep 2017 20:40:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:Reply-To:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:To:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=FSE2GwQsSYwKN5w2hohN0gvcDVMLu91AyKcB8vptfLw=; b=gU71QTRJtzbq94 UAkpTkB6z2ri3eaovN+CUYbesXh47+D8VagxJyEDS/s22ZlMkCqdtDN0amFkPYNDmSnfwAqYTsKjM UqZKaVdAX9PBmMyAAFpImnBhcS6FToCyjhCuj8fN/YSD0MoZGiMLpsPWv+2XDJb38oLVmPH7QWE6L iVMrSFM5R9rOnwtV1aQxrnjA2Z/kVuG6x8AdklhoZ0rCbGzWJaORU1JX1lm4uy/ewuU/imwjyDGBv 6NdaS1TNQaKdeIkndYc2Bcl5PDJp2Q3yAhBY/61wZfMcphO18Kp4NzgVTK0DGaKOYpgetg0TWdPUn OeE5MN7BcKnw1vwyxycQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1du2qP-0002yQ-Ca; Mon, 18 Sep 2017 20:40:41 +0000 Received: from mail-bl2nam02on0061.outbound.protection.outlook.com ([104.47.38.61] helo=NAM02-BL2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1du2pz-0001RW-B9 for linux-arm-kernel@lists.infradead.org; Mon, 18 Sep 2017 20:40:17 +0000 Received: from DM5PR03CA0035.namprd03.prod.outlook.com (2603:10b6:4:3b::24) by SN2PR03MB2367.namprd03.prod.outlook.com (2603:10b6:804:e::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.9; Mon, 18 Sep 2017 20:39:52 +0000 Received: from BY2FFO11FD042.protection.gbl (2a01:111:f400:7c0c::170) by DM5PR03CA0035.outlook.office365.com (2603:10b6:4:3b::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.9 via Frontend Transport; Mon, 18 Sep 2017 20:39:52 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD042.mail.protection.outlook.com (10.1.14.227) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.35.14 via Frontend Transport; Mon, 18 Sep 2017 20:39:51 +0000 Received: from otc-sw1.am.freescale.net (otc-sw1.am.freescale.net [10.29.200.182]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v8IKdn2m025841; Mon, 18 Sep 2017 13:39:50 -0700 From: Roy Pledge To: , , , , Subject: [v5 01/12] soc/fsl/qbman: Add common routine for QBMan private allocations Date: Mon, 18 Sep 2017 16:39:36 -0400 Message-ID: <1505767187-4596-2-git-send-email-roy.pledge@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1505767187-4596-1-git-send-email-roy.pledge@nxp.com> References: <1505767187-4596-1-git-send-email-roy.pledge@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131502407919137887; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7966004)(39860400002)(376002)(346002)(39380400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(43066003)(106466001)(53936002)(50466002)(33646002)(81166006)(54906002)(4326008)(81156014)(68736007)(5003940100001)(48376002)(7416002)(50226002)(8936002)(305945005)(6666003)(2950100002)(105606002)(189998001)(104016004)(47776003)(5660300001)(8676002)(2906002)(97736004)(356003)(36756003)(86362001)(2201001)(77096006)(50986999)(76176999)(8656003)(3450700001)(498600001)(85426001)(316002)(16586007)(110136005)(2004002)(2101003); DIR:OUT; SFP:1101; SCL:1; SRVR:SN2PR03MB2367; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD042; 1:nT+RgvB8oigsAhW8+LSzRlXdaUdGHUP8yAxDDlwSCviavRRmLakPR/quius+ddDacPqaLQznJba1aUY7byb65+/KPsAKPSyZA832JBAKPy4UrPfUIqtp+0u+LIJ0JORk MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1d444bec-29ee-4ced-92fe-08d4fed56995 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603199)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:SN2PR03MB2367; X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2367; 3:f0PSUSzp8IRDSIWi5QYIXO1sIBmt892+/lXxdfytTAVZEiCWMzDjVM/a7jLvRO45SJtfpQtm0nIcx70t6pSHbT0bAQ5flYTG9KD7IchO7KX4OjosbT5lLR7lL7UrDA6OmTRX8iEWFXtqU3uRwPulYm9E5RMo5lMdjOE9WxWv3wHBgcGPMcAhJ6ATmJCy8Zo0V0GCujq0pRg8/Emd0/pt99k4sMCrYv8x5a+/MgSQEZvULeF0JGG1CC2mwc6GKANO46EuyGbgsdwiSIhwLncVISXidnB8Y/wlsitJOVIUUtNtpF40K8dC/1975QWCoI0bujTf8yEnYgjqH3UvyAtfizwKXTSSbZERnVpcNVq27ec=; 25:U/zONgPJEx/hAfnDFgDN6Uya65uUqUvALHM/toNaNCc9L/7O6opm1hIWBXgDuJ+kHL29lK0jOb49QNwyP9hLwYZLfrhmprza3GLd21lIYIdcFzZ1nlFHRVKkW30DB4+XDJrJ2uHo7UElhl2QFMw73h1oG4HnnMA3szvv+DFsgKtdoJjVvSK885B6MTW9LUbGEeaM/4hl2jXEUYSuU++aEPu+Txy5/SF0WZkG+w88LkPDmpz7Nc5UJuBbJHomQd8zElSlk3u3cN/erY4Rv9mBq/3ZsH3SfhrkGNVDq6G4lEsver9mjLamN9J1A0IFYXNPQI2vE5K7bKdiw9yqf4POJQ== X-MS-TrafficTypeDiagnostic: SN2PR03MB2367: X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2367; 31:Al1b6mvmzT2pAU1eKHhnWZJFfrovUnMG5p/OAsjY3zjjWSrGu+Bnk037yz+00cjKvZgGdPQ8U7CIqCkhQB8LuLOATYlayvbbv1p9n3jkZnFsXKr83IDo3h+aJx6bDiBR5v2M9+j4Pn4f2K59ERVZCxpjGqzS1sLFDvI/PWTVFR7SNMo0Jnvbvd/rQ5pNtmD572Q0SKTrnQ48TBkT8kPHidiuLohY7i1rDDo/IyqX9gA=; 4:OyXtgCy/kCyDJVHj3gcEGzo7PpDeFHJSArQ76Hu4BfaN1YIpPb83m9hftiYdXfZyb+4I1TgTJbk1/nqHm6g6ZuPhCkuSuAyp7/zE2WimjC2vrsc7Rhs2iYNT1nEo0C2y0qVuNVOdCXSd9wNxS/GyDxMC5V4glVnZqrhH2exU8TTnH0vh96vFQkklqEOtD6rwGgbcBSuNYCtSa8cMQg177Wd4FZhEw7M+Uks2xR4jRLxdVbNLkBkkxUCfIhqAgxwlmfN9kRyRf5gF9h97VawgOYvSmemd38K/UjunqYjLX/A= X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6096035)(20161123559100)(20161123556025)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123563025)(20161123561025)(20161123565025)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN2PR03MB2367; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN2PR03MB2367; X-Forefront-PRVS: 04347F8039 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN2PR03MB2367; 23:SEbt5dhttcsbRluvzKEjo5Syld+sJ1MryF30Yr1+r?= =?us-ascii?Q?13cgn+YFdqq4z2YRWCKbc38iiXZ/pVQk7QsyGusJSSe5SZ1o7aQ2clRYXBVu?= =?us-ascii?Q?azkoIaNxWxuGHRpzbO8EDZMPZq11p965aq7AygahD0AhQfcHDIuNA/v0p7er?= =?us-ascii?Q?2dpLJbg1RR/nWbtDPaM3Qo1SvBteJSy2TvI0ertfHZ42G020KsTBdyoJwnkj?= =?us-ascii?Q?Xm0yDhv7FwKzUi0Th7W2Fx2kk5KnE8WKEH7IRODfWchvwKsd/ZUbE2A4dT4C?= =?us-ascii?Q?iXb91+wlZOnEwXIC/sznTU/z2wTkz3kjdMt1WLgKCLfJ8edRfcsRD1ujJRgN?= =?us-ascii?Q?cfGMSlXWQrQA78Go7sp6PM14XFDTo6hWbuxA7+JnsLobsfHYhAnJbBbEbt87?= =?us-ascii?Q?K2dpzhl5nbEIy43d9LxAGAFgX1eaC8zxxGGpoiauISB/dH2d80uv33DGmvcU?= =?us-ascii?Q?3YKR5PTxTzDjMjd977nWjMv0n3U4m0Sp5wzuTtVq34e4OrQn3jMi3svE9ryA?= =?us-ascii?Q?2QJmIVX6kgO2b21xW1VoDJDFAp7yyEwqBk8liM2hfuicewAc5nvKNXv1E+N3?= =?us-ascii?Q?GZDSKxfnOQydpwxDapsa20w8X2hVLe/sm2q5kAzmJUYLG8ipYpdyDSULlckY?= =?us-ascii?Q?4E49QhwF0lUFp+BQ/SQ8LX87WCBsbgRDZZiHqXnaEo4DRQfL3EThoB3BNdjj?= =?us-ascii?Q?mNDEbLUOnIjkNi9FvkyC3ckndGtIgf8klfNEgS8MJV4Gk6iMtEUoQ4nGkBUJ?= =?us-ascii?Q?yZB3NKMXT8PVJ31M+kIij+3UlLW7LlE8qeGX0hxzQENMkGqUxHlf8mBudHKr?= =?us-ascii?Q?Z4uAZz2124gsC8F9tY459cGYZ0ugIeBFPaUclgYVvxy2ekZOQW3e0mkw1X1J?= =?us-ascii?Q?ux8VmyebWiXESD6ivQPBaNhuf8tTqatNMVNXCIsK68EOujifTf12bLSzhFAH?= =?us-ascii?Q?YoY7fmPB8CvJAh8ZpI/SaCDUhHbRF3aMXfIrTpyJKTGsx3w/w4/mvsadmEwd?= =?us-ascii?Q?c2TNoihWW3fXALtcAx7BxEHZIPvPw9uETkt9V70RQcGej8eBxfnDdVLQhuRO?= =?us-ascii?Q?2LJLHXvgZXzk7sGAj5Llae2SnO7bOlH6GYP1ZZPvKBSRkTzFfT7kzo3aJIO1?= =?us-ascii?Q?j6Y8vHMsfhR82hJrWaiwQVPRLI2KbZwYgji0ciPLp7rRB0YdiS6DjXxMtX7v?= =?us-ascii?Q?As7UmcOVJFJRtgg3lY7EXCytSK65ZX5AUjNp9B8TFAbhbMpR+Z0UO71wZqi/?= =?us-ascii?Q?VAM3AzVMwdfRDfgzSMxa/qrrBVm3Gj5DacBpiTtRU3RbDOLaLXOeyvgle2yP?= =?us-ascii?B?UT09?= X-Microsoft-Exchange-Diagnostics: 1; SN2PR03MB2367; 6:0yGfuaRjAdk/3WbSUB6E7Dvo6lrSb9+sW/XI2MqLd1Wq8Bj4jBBphKZEiYf2fkeZZ1mxkdxkD5ib5Pb935JTsZZbOtZ43qqQ65nIIWcqyr1cJBrqL/c5puIscuI/D11v/bDVzsx4RUKvMw5HH4LBQXT9HaoQ/9H6ZxxOUkl4P2Q9+v72ySFUrlx08WsoSY70KT+aFeGUnZn96pz/3UjhxuqPWxXpHPyR5DQ21ibxSthqwCu9ofDNePaemt2kX6MIOEXiia6t5t5KPYscBzbyVzesnIKLYvGLdGxR8P9T2eFHZuQvtCVTHWv7jecefW9aJeWLQM2O5y/blDW4P2BEAA==; 5:Hkw5nLk6jAJagy30BQD8IIT0DTqr3QidveaNOoIEOJzEb3+QbdxMhv6+3lQo44e2rk7bMSK38TvXT13NJOBlV7Q7g7v8rBQ/ct7JK6GfLsQ7LsVPGL0aokWnSyxAidMDWyiHdAwJdBmbpnkvhRczMA==; 24:dHGeXAB1B4WNDxlQ4KVpTjkQm2TnCAaJXkCskVNwb63o6zEe6y34WEk3z14K8Vc48Hj9W4uIe/XcxPuQ7gqi+eHQoYU5wlHehb7FCXVK/FI=; 7:Jw9Ut8pUf5om2gnvczokRPHn8PDJ2nDF/AemghdcKBJnRhG76OcBjhCFyXNzTVRwV39x8mzgVqzr4b+jVocsnUs5as4jfTPYmkWvkjfRgc3HKEMoIEAPSYETl7eGnxJos5iEg8TZoayQQyHWXVoye9QwXZ/VaJGCS+BFCp3z0v3HfE3VSPOuKU0/8m38SpRFJaiu+tKlYZbkl81fI+b0yq/7VfHVg6MIXhyrkmpJNBQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Sep 2017 20:39:51.6953 (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.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB2367 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170918_134015_582992_827018C0 X-CRM114-Status: GOOD ( 20.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: roy.pledge@nxp.com Cc: mark.rutland@arm.com, arnd@arndb.de, madalin.bucur@nxp.com, catalin.marinas@arm.com, Roy Pledge , linux@armlinux.org.uk, oss@buserror.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP The QBMan device uses several memory regions to manage frame queues and buffers. Add a common routine for extracting and initializing these reserved memory areas. Signed-off-by: Roy Pledge Reviewed-by: Catalin Marinas --- drivers/soc/fsl/qbman/Makefile | 2 +- drivers/soc/fsl/qbman/dpaa_sys.c | 78 ++++++++++++++++++++++++++++++++++++++++ drivers/soc/fsl/qbman/dpaa_sys.h | 4 +++ 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 drivers/soc/fsl/qbman/dpaa_sys.c diff --git a/drivers/soc/fsl/qbman/Makefile b/drivers/soc/fsl/qbman/Makefile index 7ae199f..3cbd08a 100644 --- a/drivers/soc/fsl/qbman/Makefile +++ b/drivers/soc/fsl/qbman/Makefile @@ -1,6 +1,6 @@ obj-$(CONFIG_FSL_DPAA) += bman_ccsr.o qman_ccsr.o \ bman_portal.o qman_portal.o \ - bman.o qman.o + bman.o qman.o dpaa_sys.o obj-$(CONFIG_FSL_BMAN_TEST) += bman-test.o bman-test-y = bman_test.o diff --git a/drivers/soc/fsl/qbman/dpaa_sys.c b/drivers/soc/fsl/qbman/dpaa_sys.c new file mode 100644 index 0000000..9436aa8 --- /dev/null +++ b/drivers/soc/fsl/qbman/dpaa_sys.c @@ -0,0 +1,78 @@ +/* Copyright 2017 NXP Semiconductor, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NXP Semiconductor nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY NXP Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL NXP Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include "dpaa_sys.h" + +/* + * Initialize a devices private memory region + */ +int qbman_init_private_mem(struct device *dev, int idx, dma_addr_t *addr, + size_t *size) +{ + int ret; + struct device_node *mem_node; + u64 size64; + + ret = of_reserved_mem_device_init_by_idx(dev, dev->of_node, idx); + if (ret) { + dev_err(dev, + "of_reserved_mem_device_init_by_idx(%d) failed 0x%x\n", + idx, ret); + return -ENODEV; + } + mem_node = of_parse_phandle(dev->of_node, "memory-region", 0); + if (mem_node) { + ret = of_property_read_u64(mem_node, "size", &size64); + if (ret) { + dev_err(dev, "of_address_to_resource fails 0x%x\n", + ret); + return -ENODEV; + } + *size = size64; + } else { + dev_err(dev, "No memory-region found for index %d\n", idx); + return -ENODEV; + } + + if (!dma_zalloc_coherent(dev, *size, addr, 0)) { + dev_err(dev, "DMA Alloc memory failed\n"); + return -ENODEV; + } + + /* + * Disassociate the reserved memory area from the device + * because a device can only have one DMA memory area. This + * should be fine since the memory is allocated and initialized + * and only ever accessed by the QBMan device from now on + */ + of_reserved_mem_device_release(dev); + return 0; +} diff --git a/drivers/soc/fsl/qbman/dpaa_sys.h b/drivers/soc/fsl/qbman/dpaa_sys.h index 2ce394a..676af82 100644 --- a/drivers/soc/fsl/qbman/dpaa_sys.h +++ b/drivers/soc/fsl/qbman/dpaa_sys.h @@ -102,4 +102,8 @@ static inline u8 dpaa_cyc_diff(u8 ringsize, u8 first, u8 last) /* Offset applied to genalloc pools due to zero being an error return */ #define DPAA_GENALLOC_OFF 0x80000000 +/* Initialize the devices private memory region */ +int qbman_init_private_mem(struct device *dev, int idx, dma_addr_t *addr, + size_t *size); + #endif /* __DPAA_SYS_H */