From patchwork Wed Jan 25 10:28:07 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Szyprowski X-Patchwork-Id: 92416 Delivered-To: patch@linaro.org Received: by 10.140.20.99 with SMTP id 90csp2141701qgi; Wed, 25 Jan 2017 02:28:36 -0800 (PST) X-Received: by 10.84.233.206 with SMTP id m14mr2537282pln.104.1485340116799; Wed, 25 Jan 2017 02:28:36 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q16si16527020pfj.40.2017.01.25.02.28.36; Wed, 25 Jan 2017 02:28:36 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-pm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-pm-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751590AbdAYK2e (ORCPT + 13 others); Wed, 25 Jan 2017 05:28:34 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:52899 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751693AbdAYK23 (ORCPT ); Wed, 25 Jan 2017 05:28:29 -0500 Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OKB00GG2ZREUU90@mailout2.w1.samsung.com>; Wed, 25 Jan 2017 10:28:26 +0000 (GMT) Received: from eusmges5.samsung.com (unknown [203.254.199.245]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20170125102825eucas1p18f545645eb4ed04622efb581b3f8e15a~c-PTV9YuV2537425374eucas1p1j; Wed, 25 Jan 2017 10:28:25 +0000 (GMT) Received: from eucas1p2.samsung.com ( [182.198.249.207]) by eusmges5.samsung.com (EUCPMTA) with SMTP id 7A.0A.17477.9CD78885; Wed, 25 Jan 2017 10:28:25 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20170125102824eucas1p25744330b6608c8d6e1a994b4894827bd~c-PShfG5n0770107701eucas1p2U; Wed, 25 Jan 2017 10:28:24 +0000 (GMT) X-AuditID: cbfec7f5-f79d06d000004445-aa-58887dc9eaf6 Received: from eusync4.samsung.com ( [203.254.199.214]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 43.83.06687.70E78885; Wed, 25 Jan 2017 10:29:27 +0000 (GMT) Received: from AMDC2765.digital.local ([106.116.147.25]) by eusync4.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OKB00K87ZR4QX40@eusync4.samsung.com>; Wed, 25 Jan 2017 10:28:24 +0000 (GMT) From: Marek Szyprowski To: linux-samsung-soc@vger.kernel.org, dmaengine@vger.kernel.org, alsa-devel@alsa-project.org, linux-arm-kernel@lists.infradead.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Marek Szyprowski , Krzysztof Kozlowski , Bartlomiej Zolnierkiewicz , Vinod Koul , Ulf Hansson , "Rafael J. Wysocki" , Kuninori Morimoto , Mark Brown , Inki Dae Subject: [PATCH v7 3/4] dmaengine: pl330: Store pointer to slave device Date: Wed, 25 Jan 2017 11:28:07 +0100 Message-id: <1485340088-25481-4-git-send-email-m.szyprowski@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1485340088-25481-1-git-send-email-m.szyprowski@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAAzWSXUhTYRzGe3c+dqZNT3PVyzKhQReZswSDg1kURJ2irItAqdSmnqY0P9hU UoqWVOpmapPpqJVG2cdEtGnDZKabsvlF03Je+YGpxSbWxXIRuZHb0bvn4f09/4cHXgIR3MdE RF5BMaMokMrFeBhqtv91SkbuVKUdXlnZSU1N2jjUe30HRukWlnCqTefHKO18PUo5nZ1cyjPY CyjT4jRGfe014JT30RCg9M5PHKp9aJZLjY99wShHeyrlru1HT0TSnd4KnH5pcXNok7Eap2em LTjd9eou7Rt/jNLdrkqUru02AtprirnEuxKWnMPI80oZxaHj18Nym4eJoubwW89qqhEVaOOp AY+AZCL8UzfBZfUuODHXgatBGCEgWwGcf9KDscYL4AtVN2cr8dSq26ReA9ihDwDWqDjQ5dOj QQonE6B6VR2ihGQ/gH0fF5GgQUgVAsdsvlBjFHkG9vZ/w4IaJffDwAd7KM0naTi6tIyzfTFw xN4QYnjkWaj3D3GDhyBp50LtXNNGgNgwe6FpAGH5U3Ag0AFYHQU9ju7NddGwusq6uaEOwIoH B1mtB/DzKp/VR+GgYzLUhZARUGtuQtjzfFj1UMAiNOxqH0FZfRL63mm57HoDgHPj69x6EN0C thmBkClR5ssY5ZF4pTRfWVIgi88uzDeBjb8xFnCs9YBWe5INkAQQb+fXZ1WmCTBpqbIs3wYg gYiF/NO3q9IE/BxpWTmjKMxUlMgZpQ3sIVDxbr6lZSpVQMqkxcxNhiliFFuvHIInUoGsQE/i 8oIlZW1aEh4hvGAw/yvTWN+0GBsx8eiMa+ac6MDb5zZ3ctwNTaRIE2/X7mhMz8F++X9r+OcX zKOLnQaJSWL9Ua0vXS+ymJdq5J5yaR+V9H3M5Y+9+tNhns04ljk1fK/B5t132ZOdTl/Lcxfo DLIUU4ZuJA6/qBkVo8pcaUIsolBK/wP98VRxFwMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrIIsWRmVeSWpSXmKPExsVy+t/xa7rsdR0RBn9WmFtcuXiIyWLjjPWs FlMfPmGzWD31L6vFpPsTWCzOn9/AbvHq8C5Gi02Pr7FaXN41h83ic+8RRosZ5/cxWaw9cpfd 4szpS6wWx9eGW7zs28/iwO+x4XMTm8fiPS+ZPDat6mTzuHNtD5vH5iX1Ht/OTGTx2HK1ncWj b8sqRo/Pm+QCOKPcbDJSE1NSixRS85LzUzLz0m2VQkPcdC2UFPISc1NtlSJ0fUOClBTKEnNK gTwjAzTg4BzgHqykb5fgljH/BEfBfO6KuT2dzA2Mqzm7GDk5JARMJGYfnMoGYYtJXLi3Hsjm 4hASWMIoMWnXSWaQhJBAE5PEtKelIDabgKFE19susCIRgf2MEh9uXQfrZhZoYpZY9xTMFhZw l9i1/xEriM0ioCrxb+sxFhCbV8BD4tSTp1Db5CROHpsMVsMp4Ckx4+8R9i5GDqBlHhIbt1tP YORdwMiwilEktbQ4Nz232FCvODG3uDQvXS85P3cTIzB6th37uXkH46WNwYcYBTgYlXh4JyS1 RwixJpYVV+YeYpTgYFYS4XWr6YgQ4k1JrKxKLcqPLyrNSS0+xGgKdNNEZinR5HxgZOeVxBua GJpbGhoZW1iYGxkpifOWfLgSLiSQnliSmp2aWpBaBNPHxMEp1cAoZqGx98btzcd7g3dYrt+z 5Um6Q9yGE9utxLJsdjJGVv3PaapnvvDKT+6O1OTH7+6/4Hr1nivX2LDvlvnr5868m75n1bsJ rVeefO6Xnb+dVXvks3XbL9kmbpth9rivap7E8p9PFoX8DUrYqHi5lO2uT6Lf7mtJUW2JkyKW rxD6feO69zeFrx9fK7EUZyQaajEXFScCADh+ks20AgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170125102824eucas1p25744330b6608c8d6e1a994b4894827bd X-Msg-Generator: CA X-Sender-IP: 182.198.249.179 X-Local-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1B?= =?utf-8?b?7IK87ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?utf-8?q?Marek_Szyprowski=1BSRPOL-Kernel_=28TP=29=1BSam?= =?utf-8?q?sung_Electronics=1BSenior_Software_Engineer?= X-Sender-Code: =?utf-8?q?C10=1BEHQ=1BC10CD02CD027392?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170125102824eucas1p25744330b6608c8d6e1a994b4894827bd X-RootMTR: 20170125102824eucas1p25744330b6608c8d6e1a994b4894827bd References: <1485340088-25481-1-git-send-email-m.szyprowski@samsung.com> Sender: linux-pm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pm@vger.kernel.org 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 Reviewed-by: Ulf Hansson Acked-by: Arnd Bergmann --- drivers/dma/pl330.c | 9 +++++++++ 1 file changed, 9 insertions(+) -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html 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); }