From patchwork Fri Jan 13 07:26:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 9514749 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 78C2C60762 for ; Fri, 13 Jan 2017 07:28:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 711F02866E for ; Fri, 13 Jan 2017 07:28:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 65C14286DC; Fri, 13 Jan 2017 07:28:38 +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=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id EEF992866E for ; Fri, 13 Jan 2017 07:28:37 +0000 (UTC) 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 1cRwHt-0003NH-1D; Fri, 13 Jan 2017 07:28:37 +0000 Received: from mailout3.w1.samsung.com ([210.118.77.13]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cRwGf-0001c3-La for linux-arm-kernel@lists.infradead.org; Fri, 13 Jan 2017 07:27:26 +0000 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OJP0080JJCUIC30@mailout3.w1.samsung.com> for linux-arm-kernel@lists.infradead.org; Fri, 13 Jan 2017 07:26:54 +0000 (GMT) Received: from eusmges4.samsung.com (unknown [203.254.199.244]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170113072653eucas1p2eba2cf600964476d9ec5296f87f4cccf~ZRBYFNyMG0035400354eucas1p2V; Fri, 13 Jan 2017 07:26:53 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges4.samsung.com (EUCPMTA) with SMTP id BB.B5.28517.D3188785; Fri, 13 Jan 2017 07:26:53 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170113072652eucas1p21a2e7300622470d018bfa0f327d16132~ZRBXQzCY-3083730837eucas1p2i; Fri, 13 Jan 2017 07:26:52 +0000 (GMT) X-AuditID: cbfec7f4-f79716d000006f65-c2-5878813d0c53 Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 03.90.06687.27188785; Fri, 13 Jan 2017 07:27:46 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OJP00H0WJCM0400@eusync3.samsung.com>; Fri, 13 Jan 2017 07:26:52 +0000 (GMT) From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org Subject: [PATCH v4 3/4] dmaengine: pl330: Store pointer to slave device Date: Fri, 13 Jan 2017 08:26:39 +0100 Message-id: <1484292400-29730-4-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1484292400-29730-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWRa0hTYRjHe3fOzo7TI4cp+TBNcOiHkkxF4lAWRYXHbxaGlpCtdryUm7Y5 0yByWukWXliYUkmms2Rh6hxiNW/bUlJRS7ObZkOKNBZ4IRTJch799nve5/f+/7y8JCb5jkvJ TFUup1bJs2SEGO/oXx3de0iXnxzZUurHtNW0CJlnVX+FjHGmEmdGR1tFjGV2UsgslTkRUzPa LWCandMiZnjonZAZaE5i5sp78CPebINtTsBazHqCnZq0EWy76QZrfV+Cs+VWM2KXLMEJorPi WAWXlZnHqfcdPi/OKHUaBDkOcb7ecAcrRJ9IA/IigY6B2a7PBM87YexrywaLSQndiMDVt4bx wxICe9VHYvvGt84xEb94guBll3XLKhTAi1e9mMci6CgwuA2bWf50EQL3o6fIM2B0owDaS+ZE HsuPjoPpwVWhh3E6DIzOlY1zkqRoFvT1vnxdMLzpv7upeNHx8GDYLfTkAF0tgsWxf8jjA70L LHwx0Mfh9XiNiGc/mB+wbnEQ6Ev7BDxXICi6Fc5zDYIRN8XzQXAMvN3swmhfMHZUY3w8BaW3 JTyycO9nGG8fhT8OHeLf/hCBbmoRVaKgOrTDjPw5rUaZzmliIjRypUarSo+4mK20oI3PH1of WO5EDf0H7IgmkcyHqvxyNVkilOdpCpR2BCQm86dWrucnSyiFvOAap85OVWuzOI0dBZK4LICy 1U0kSeh0eS53meNyOPX2VkB6SQvR6droK8bqufX7iZknux0jPeuGxPk42+7x1ZIUZZ/L1Ww2 SU1M1xmKNowQ0W1t9Wk+J9Zby7qPaQlpyoX94a0xHyZM3r90unOUtuI3eSoNNyl6134YzLFG RUhobfXwILFc3LRwMyv+cdTzpuKEmVRBaMClSAgcki+4lkNU/TJckyGP2oOpNfL/SFeytPgC AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeLIzCtJLcpLzFFi42I5/e/4Vd2ixooIg1s32Sw2zljParF66l9W i0n3J7BYnD+/gd1i0+NrrBafe48wWsw4v4/JYu2Ru+wWZ05fYrU4vjbc4mXffhYHbo/Fe14y eWxa1cnmcefaHjaPzUvqPbZcbWfx6NuyitHj8ya5APYoN5uM1MSU1CKF1Lzk/JTMvHRbpdAQ N10LJYW8xNxUW6UIXd+QICWFssScUiDPyAANODgHuAcr6dsluGV0HOliKjjMVdHZ1c3cwHiT o4uRk0NCwETiwY4L7BC2mMSFe+vZuhi5OIQEljBKLOo9ywLhNDFJLD41hxGkik3AUKLrbRcb iC0i0MQocfCXB0gRs8ByJokt0yFGCQu4S9w99ZMVxGYRUJWYdOQHUJyDg1fAQ6JzER/ENjmJ k8cmg5VwCnhKzD7zFswWAirp+PaLdQIj7wJGhlWMIqmlxbnpucWGesWJucWleel6yfm5mxiB UbDt2M/NOxgvbQw+xCjAwajEwzvhdnmEEGtiWXFl7iFGCQ5mJRHeH7UVEUK8KYmVValF+fFF pTmpxYcYTYFumsgsJZqcD4zQvJJ4QxNDc0tDI2MLC3MjIyVx3pIPV8KFBNITS1KzU1MLUotg +pg4OKUaGIu6vI/6mHy4uvNFvXFoeFqZQ9+U9L8CMrINfQwl/bnGe7j6w1/MuhesxMTZK7q+ es/61kWGRkqiv5n1JtjPrk9Ldil6FLaceY8TR6pT5iwR9h8NFy4YfI/+arKiVcEhXqhexnxN Q99rwfbmtKU6M/Pfbnsfx/vyl9/ibp7jcdsDTk/eHZykxFKckWioxVxUnAgAJ+nFepgCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170113072652eucas1p21a2e7300622470d018bfa0f327d16132 X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRs=?= =?UTF-8?B?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?TWFyZWsgU3p5cHJvd3NraRtTUlBPTC1LZXJuZWwgKFRQKRtT?= =?UTF-8?B?YW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170113072652eucas1p21a2e7300622470d018bfa0f327d16132 X-RootMTR: 20170113072652eucas1p21a2e7300622470d018bfa0f327d16132 References: <1484292400-29730-1-git-send-email-m.szyprowski@samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170112_232721_890593_647075D2 X-CRM114-Status: GOOD ( 14.41 ) 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: , Cc: Ulf Hansson , Bartlomiej Zolnierkiewicz , Vinod Koul , "Rafael J. Wysocki" , Krzysztof Kozlowski , Inki Dae , Marek Szyprowski MIME-Version: 1.0 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 Store the pointer to slave device, which requested our channel. It will be later used to implement runtime PM of PL330 DMA controller. Although DMA channels might be requested many times, each DMA peripheral channel is physically dedicated only for specific hardware, so there should be only one slave device for each channel. Signed-off-by: Marek Szyprowski Reviewed-by: Krzysztof Kozlowski --- drivers/dma/pl330.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index b6b2cc912380..c77a3494659c 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c @@ -450,6 +450,7 @@ struct dma_pl330_chan { /* for runtime pm tracking */ bool active; + struct device *slave; }; struct pl330_dmac { @@ -2093,6 +2094,14 @@ static struct dma_chan *of_dma_pl330_xlate(struct of_phandle_args *dma_spec, if (chan_id >= pl330->num_peripherals) return NULL; + if (!pl330->peripherals[chan_id].slave) { + pl330->peripherals[chan_id].slave = slave; + } else if (pl330->peripherals[chan_id].slave != slave) { + dev_err(pl330->ddma.dev, + "Can't use same channel with multiple slave devices!\n"); + return NULL; + } + return dma_get_slave_channel(&pl330->peripherals[chan_id].chan); }