From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinod Koul Subject: Re: [PATCH 2/8 v2] Documentation: bindings: k3dma: Add binding for dma-avail-chan Date: Mon, 7 Jan 2019 11:54:27 +0530 Message-ID: <20190107062427.GY13372@vkoul-mobl.Dlink> References: <1546635388-13795-1-git-send-email-john.stultz@linaro.org> <1546635388-13795-3-git-send-email-john.stultz@linaro.org> <20190105040030.GF2477@Mani-XPS-13-9360> <20190105045320.GA3761@Mani-XPS-13-9360> <20190105134610.GX13372@vkoul-mobl.Dlink> <20190105140826.GA28029@Mani-XPS-13-9360> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20190105140826.GA28029@Mani-XPS-13-9360> Sender: linux-kernel-owner@vger.kernel.org To: Manivannan Sadhasivam Cc: John Stultz , lkml , Rob Herring , Mark Rutland , Tanglei Han , Zhuangluan Su , Ryan Grachek , dmaengine@vger.kernel.org, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" List-Id: devicetree@vger.kernel.org On 05-01-19, 19:38, Manivannan Sadhasivam wrote: > Hi Vinod, > > On Sat, Jan 05, 2019 at 07:16:10PM +0530, Vinod Koul wrote: > > On 05-01-19, 10:23, Manivannan Sadhasivam wrote: > > > On Fri, Jan 04, 2019 at 08:39:34PM -0800, John Stultz wrote: > > > > On Fri, Jan 4, 2019 at 8:00 PM Manivannan Sadhasivam > > > > wrote: > > > > > > > > > > Hi John, > > > > > > > > > > On Fri, Jan 04, 2019 at 12:56:22PM -0800, John Stultz wrote: > > > > > > Some dma channels can be reserved for secure mode or other > > > > > > hardware on the SoC, so provide a binding for a bitmask > > > > > > listing the available channels for the kernel to use. > > > > > > > > > > > > Cc: Vinod Koul > > > > > > Cc: Rob Herring > > > > > > Cc: Mark Rutland > > > > > > Cc: Tanglei Han > > > > > > Cc: Zhuangluan Su > > > > > > Cc: Ryan Grachek > > > > > > Cc: Manivannan Sadhasivam > > > > > > Cc: dmaengine@vger.kernel.org > > > > > > Cc: devicetree@vger.kernel.org > > > > > > Signed-off-by: John Stultz > > > > > > --- > > > > > > Documentation/devicetree/bindings/dma/k3dma.txt | 3 +++ > > > > > > 1 file changed, 3 insertions(+) > > > > > > > > > > > > diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt > > > > > > index 10a2f15..1c466c1 100644 > > > > > > --- a/Documentation/devicetree/bindings/dma/k3dma.txt > > > > > > +++ b/Documentation/devicetree/bindings/dma/k3dma.txt > > > > > > @@ -14,6 +14,9 @@ Required properties: > > > > > > have specific request line > > > > > > - clocks: clock required > > > > > > > > > > > > +Optional properties: > > > > > > +- dma-avail-chan: Bitmask of available physical channels > > > > > > + > > > > > > > > > > This property looks too generic. Since this is specific to HiSi SoCs, > > > > > this could be "hisi-dma-avail-chan"? > > > > > > > > I'm fine to change it, but I'm not sure I fully understand the > > > > rational. Can you help me understand? > > > > Are device node-binding names supposed to have global scope? I assumed > > > > the node property names are basically scoped to the entry? > > > > > > IIUC properties documented in subsystem binding (dma.txt in this case) > > > will have global scope. Those which are not documented in this binding > > > are specific to vendor IPs and should be prefixed with the vendor > > > prefix (hisi in this case). > > > > > > > Further, having some dma channels be reserved doesn't seem to be too > > > > unique a concept, so I'm not sure what we gain long term by prefixing > > > > it? > > > > > > > > > > Right, but this brings up the point of having this functionality in > > > generic DMA engine so that the DMA controller drivers need not handle. > > > So either we should move this available channel check to DMA Engine > > > and document the property in dma.txt so that other IPs can also use it > > > or keep the functionality in K3 driver and use HiSi prefix for the > > > property. > > > > > > But I'd like to hear Vinod/Rob's opinion on this! > > > > So there are two parts, first is if this new property of using 'some' > > channels of controller is generic enough, the answer is unfortunately > > yes, so we should move this to dma.txt as a generic property > > > > But I don't agree the dmaengine core should handle it, we may add > > helpers, but controllers registers N channels and they would do so, core > > should not do filtering > > > > Okay. But won't it create ambiguity? What if a new driver developer > assmes that he can use this property to filter the channels for his own > DMA controller? Since we are _explicitly_ stating that these channels > should be filtered, why the dmaengine core can't handle it? > > If the property is generic, then it makes sense to keep the > functionality also generic. Core doesnt have a view of channels to be filtered, it looks at N channels getting registered and works on those. Till now folks do not create channels for 'filtered' ones and register the ones kernel can use.. -- ~Vinod