From: Peter Ujfalusi <peter.ujfalusi@ti.com> To: <vkoul@kernel.org>, <robh+dt@kernel.org> Cc: <dmaengine@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <dan.j.williams@intel.com>, <devicetree@vger.kernel.org> Subject: Re: [RFC 1/3] dt-bindings: dma: Add documentation for DMA domains Date: Sun, 8 Sep 2019 10:47:48 +0300 Message-ID: <961d30ea-d707-1120-7ecf-f51c11c41891@ti.com> (raw) In-Reply-To: <20190906141816.24095-2-peter.ujfalusi@ti.com> On 06/09/2019 17.18, Peter Ujfalusi wrote: > On systems where multiple DMA controllers available, none Slave (for example > memcpy operation) users can not be described in DT as there is no device > involved from the DMA controller's point of view, DMA binding is not usable. > However in these systems still a peripheral might need to be serviced by or > it is better to serviced by specific DMA controller. > When a memcpy is used to/from a memory mapped region for example a DMA in the > same domain can perform better. > For generic software modules doing mem 2 mem operations it also matter that > they will get a channel from a controller which is faster in DDR to DDR mode > rather then from the first controller happen to be loaded. > > This property is inherited, so it may be specified in a device node or in any > of its parent nodes. > > Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> > --- > .../devicetree/bindings/dma/dma-domain.yaml | 59 +++++++++++++++++++ > 1 file changed, 59 insertions(+) > create mode 100644 Documentation/devicetree/bindings/dma/dma-domain.yaml > > diff --git a/Documentation/devicetree/bindings/dma/dma-domain.yaml b/Documentation/devicetree/bindings/dma/dma-domain.yaml > new file mode 100644 > index 000000000000..c2f182f30081 > --- /dev/null > +++ b/Documentation/devicetree/bindings/dma/dma-domain.yaml > @@ -0,0 +1,59 @@ > +# SPDX-License-Identifier: GPL-2.0 > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/dma/dma-controller.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: DMA Domain Controller Definition > + > +maintainers: > + - Vinod Koul <vkoul@kernel.org> > + > +allOf: > + - $ref: "dma-controller.yaml#" > + > +description: > + On systems where multiple DMA controllers available, none Slave (for example > + memcpy operation) users can not be described in DT as there is no device > + involved from the DMA controller's point of view, DMA binding is not usable. > + However in these systems still a peripheral might need to be serviced by or > + it is better to serviced by specific DMA controller. > + When a memcpy is used to/from a memory mapped region for example a DMA in the > + same domain can perform better. > + For generic software modules doing mem 2 mem operations it also matter that > + they will get a channel from a controller which is faster in DDR to DDR mode > + rather then from the first controller happen to be loaded. > + > + This property is inherited, so it may be specified in a device node or in any > + of its parent nodes. > + > +properties: > + $dma-domain-controller: or domain-dma-controller? > + $ref: /schemas/types.yaml#definitions/phandle > + description: > + phande to the DMA controller node which should be used for the device or > + domain. > + > +examples: > + - | > + / { > + model = "Texas Instruments K3 AM654 SoC"; > + compatible = "ti,am654"; > + interrupt-parent = <&gic500>; > + /* For modules without device, DDR to DDR is faster on main UDMAP */ > + dma-domain-controller = <&main_udmap>; > + #address-cells = <2>; > + #size-cells = <2>; > + ... > + }; > + > + &cbass_main { > + /* For modules within MAIN domain, use main UDMAP */ > + dma-domain-controller = <&main_udmap>; > + }; > + > + &cbass_mcu { > + /* For modules within MCU domain, use mcu UDMAP */ > + dma-domain-controller = <&mcu_udmap>; > + }; > +... > - Péter Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
next prev parent reply index Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-06 14:18 [RFC 0/3] dmaengine: Support for DMA domain controllers Peter Ujfalusi 2019-09-06 14:18 ` [RFC 1/3] dt-bindings: dma: Add documentation for DMA domains Peter Ujfalusi 2019-09-08 7:47 ` Peter Ujfalusi [this message] 2019-09-08 12:10 ` Vinod Koul 2019-09-09 6:30 ` Peter Ujfalusi 2019-09-12 17:03 ` Vinod Koul 2019-09-13 7:21 ` Peter Ujfalusi 2019-09-13 10:36 ` Vinod Koul 2019-09-13 12:19 ` Peter Ujfalusi 2019-09-13 13:33 ` Vinod Koul 2019-09-08 12:06 ` Vinod Koul 2019-09-09 6:00 ` Peter Ujfalusi 2019-09-06 14:18 ` [RFC 2/3] dmaengine: of_dma: Function to look up the DMA domain of a client Peter Ujfalusi 2019-09-08 12:12 ` Vinod Koul 2019-09-06 14:18 ` [RFC 3/3] dmaengine: Support for requesting channels preferring DMA domain controller Peter Ujfalusi 2019-09-08 7:46 ` Peter Ujfalusi 2019-09-08 12:15 ` Vinod Koul 2019-09-09 5:56 ` Peter Ujfalusi 2019-09-12 16:49 ` Vinod Koul -- strict thread matches above, loose matches on Subject: below -- 2019-09-06 14:17 [RFC 0/3] dmaengine: Support for DMA domain controllers Peter Ujfalusi 2019-09-06 14:17 ` [RFC 1/3] dt-bindings: dma: Add documentation for DMA domains Peter Ujfalusi
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=961d30ea-d707-1120-7ecf-f51c11c41891@ti.com \ --to=peter.ujfalusi@ti.com \ --cc=dan.j.williams@intel.com \ --cc=devicetree@vger.kernel.org \ --cc=dmaengine@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=robh+dt@kernel.org \ --cc=vkoul@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
dmaengine Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dmaengine/0 dmaengine/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dmaengine dmaengine/ https://lore.kernel.org/dmaengine \ dmaengine@vger.kernel.org public-inbox-index dmaengine Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.dmaengine AGPL code for this site: git clone https://public-inbox.org/public-inbox.git