From: Rob Herring <robh@kernel.org>
To: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Cc: Vinod Koul <vkoul@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexandre Torgue <alexandre.torgue@st.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Dan Williams <dan.j.williams@intel.com>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [v1,1/7] dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings
Date: Wed, 26 Sep 2018 15:21:12 -0500 [thread overview]
Message-ID: <20180926202112.GA6426@bogus> (raw)
On Tue, Sep 11, 2018 at 09:26:54AM +0200, Pierre-Yves MORDRET wrote:
> This patch adds dma bindings to support DMA/MDMA chaining transfer.
> 1 bit is to manage both DMA FIFO Threshold
> 1 bit is to manage DMA/MDMA Chaining features.
> 2 bits are used to specify SDRAM size to use for DMA/MDMA chaining.
> The size in bytes of a certain order is given by the formula:
> (2 ^ order) * PAGE_SIZE.
> The order is given by those 2 bits.
> For cyclic, whether chaining is chosen, any value above 1 can be set :
> SRAM buffer size will rely on period size and not on this DT value.
>
> Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
> ---
> Version history:
> v1:
> * Initial
> ---
> ---
> .../devicetree/bindings/dma/stm32-dma.txt | 32 +++++++++++++++++++---
> 1 file changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/stm32-dma.txt b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> index c5f5190..163be09 100644
> --- a/Documentation/devicetree/bindings/dma/stm32-dma.txt
> +++ b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> @@ -17,6 +17,12 @@ Optional properties:
> - resets: Reference to a reset controller asserting the DMA controller
> - st,mem2mem: boolean; if defined, it indicates that the controller supports
> memory-to-memory transfer
> +- dmas: A list of eight dma specifiers, one for each entry in dma-names.
> + Refer to stm32-mdma.txt for more details.
> +- dma-names: should contain "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6" and
> + "ch7" and represents each STM32 DMA channel connected to a STM32 MDMA one.
> +- memory-region : phandle to a node describing memory to be used for
> + M2M intermediate transfer between DMA and MDMA.
>
> Example:
>
> @@ -36,6 +42,16 @@ Example:
> st,mem2mem;
> resets = <&rcc 150>;
> dma-requests = <8>;
> + dmas = <&mdma1 8 0x10 0x1200000a 0x40026408 0x00000020 1>,
> + <&mdma1 9 0x10 0x1200000a 0x40026408 0x00000800 1>,
> + <&mdma1 10 0x10 0x1200000a 0x40026408 0x00200000 1>,
> + <&mdma1 11 0x10 0x1200000a 0x40026408 0x08000000 1>,
> + <&mdma1 12 0x10 0x1200000a 0x4002640C 0x00000020 1>,
> + <&mdma1 13 0x10 0x1200000a 0x4002640C 0x00000800 1>,
> + <&mdma1 14 0x10 0x1200000a 0x4002640C 0x00200000 1>,
> + <&mdma1 15 0x10 0x1200000a 0x4002640C 0x08000000 1>;
> + dma-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7";
> + memory-region = <&sram_dmapool>;
> };
>
> * DMA client
> @@ -62,13 +78,21 @@ channel: a phandle to the DMA controller plus the following four integer cells:
> 0x1: medium
> 0x2: high
> 0x3: very high
> -4. A 32bit bitfield value specifying DMA features which are device dependent:
> +4. A bitfield value specifying DMA features which are device dependent:
It's still a 32-bit value, right?
> -bit 0-1: DMA FIFO threshold selection
> 0x0: 1/4 full FIFO
> 0x1: 1/2 full FIFO
> 0x2: 3/4 full FIFO
> 0x3: full FIFO
> -
> + -bit 2: Intermediate M2M transfer from/to DDR to/from SRAM throughout MDMA
> + 0: MDMA not used to generate an intermediate M2M transfer
> + 1: MDMA used to generate an intermediate M2M transfer.
> + -bit 3-4: indicated SRAM Buffer size in (2^order)*PAGE_SIZE.
What's PAGE_SIZE? That's not defined for DT.
> + Order is given by those 2 bits starting at 0.
> + Valid only whether Intermediate M2M transfer is set.
> + For cyclic, whether Intermediate M2M transfer is chosen, any value can
> + be set: SRAM buffer size will rely on period size and not on this DT
> + value.
>
> Example:
>
> @@ -77,7 +101,7 @@ Example:
> reg = <0x40011000 0x400>;
> interrupts = <37>;
> clocks = <&clk_pclk2>;
> - dmas = <&dma2 2 4 0x10400 0x3>,
> - <&dma2 7 5 0x10200 0x3>;
> + dmas = <&dma2 2 4 0x10400 0x1>,
> + <&dma2 7 5 0x10200 0x1>;
> dma-names = "rx", "tx";
> };
> --
> 2.7.4
>
WARNING: multiple messages have this Message-ID (diff)
From: robh@kernel.org (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v1 1/7] dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings
Date: Wed, 26 Sep 2018 15:21:12 -0500 [thread overview]
Message-ID: <20180926202112.GA6426@bogus> (raw)
In-Reply-To: <1536650820-16076-2-git-send-email-pierre-yves.mordret@st.com>
On Tue, Sep 11, 2018 at 09:26:54AM +0200, Pierre-Yves MORDRET wrote:
> This patch adds dma bindings to support DMA/MDMA chaining transfer.
> 1 bit is to manage both DMA FIFO Threshold
> 1 bit is to manage DMA/MDMA Chaining features.
> 2 bits are used to specify SDRAM size to use for DMA/MDMA chaining.
> The size in bytes of a certain order is given by the formula:
> (2 ^ order) * PAGE_SIZE.
> The order is given by those 2 bits.
> For cyclic, whether chaining is chosen, any value above 1 can be set :
> SRAM buffer size will rely on period size and not on this DT value.
>
> Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
> ---
> Version history:
> v1:
> * Initial
> ---
> ---
> .../devicetree/bindings/dma/stm32-dma.txt | 32 +++++++++++++++++++---
> 1 file changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/stm32-dma.txt b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> index c5f5190..163be09 100644
> --- a/Documentation/devicetree/bindings/dma/stm32-dma.txt
> +++ b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> @@ -17,6 +17,12 @@ Optional properties:
> - resets: Reference to a reset controller asserting the DMA controller
> - st,mem2mem: boolean; if defined, it indicates that the controller supports
> memory-to-memory transfer
> +- dmas: A list of eight dma specifiers, one for each entry in dma-names.
> + Refer to stm32-mdma.txt for more details.
> +- dma-names: should contain "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6" and
> + "ch7" and represents each STM32 DMA channel connected to a STM32 MDMA one.
> +- memory-region : phandle to a node describing memory to be used for
> + M2M intermediate transfer between DMA and MDMA.
>
> Example:
>
> @@ -36,6 +42,16 @@ Example:
> st,mem2mem;
> resets = <&rcc 150>;
> dma-requests = <8>;
> + dmas = <&mdma1 8 0x10 0x1200000a 0x40026408 0x00000020 1>,
> + <&mdma1 9 0x10 0x1200000a 0x40026408 0x00000800 1>,
> + <&mdma1 10 0x10 0x1200000a 0x40026408 0x00200000 1>,
> + <&mdma1 11 0x10 0x1200000a 0x40026408 0x08000000 1>,
> + <&mdma1 12 0x10 0x1200000a 0x4002640C 0x00000020 1>,
> + <&mdma1 13 0x10 0x1200000a 0x4002640C 0x00000800 1>,
> + <&mdma1 14 0x10 0x1200000a 0x4002640C 0x00200000 1>,
> + <&mdma1 15 0x10 0x1200000a 0x4002640C 0x08000000 1>;
> + dma-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7";
> + memory-region = <&sram_dmapool>;
> };
>
> * DMA client
> @@ -62,13 +78,21 @@ channel: a phandle to the DMA controller plus the following four integer cells:
> 0x1: medium
> 0x2: high
> 0x3: very high
> -4. A 32bit bitfield value specifying DMA features which are device dependent:
> +4. A bitfield value specifying DMA features which are device dependent:
It's still a 32-bit value, right?
> -bit 0-1: DMA FIFO threshold selection
> 0x0: 1/4 full FIFO
> 0x1: 1/2 full FIFO
> 0x2: 3/4 full FIFO
> 0x3: full FIFO
> -
> + -bit 2: Intermediate M2M transfer from/to DDR to/from SRAM throughout MDMA
> + 0: MDMA not used to generate an intermediate M2M transfer
> + 1: MDMA used to generate an intermediate M2M transfer.
> + -bit 3-4: indicated SRAM Buffer size in (2^order)*PAGE_SIZE.
What's PAGE_SIZE? That's not defined for DT.
> + Order is given by those 2 bits starting at 0.
> + Valid only whether Intermediate M2M transfer is set.
> + For cyclic, whether Intermediate M2M transfer is chosen, any value can
> + be set: SRAM buffer size will rely on period size and not on this DT
> + value.
>
> Example:
>
> @@ -77,7 +101,7 @@ Example:
> reg = <0x40011000 0x400>;
> interrupts = <37>;
> clocks = <&clk_pclk2>;
> - dmas = <&dma2 2 4 0x10400 0x3>,
> - <&dma2 7 5 0x10200 0x3>;
> + dmas = <&dma2 2 4 0x10400 0x1>,
> + <&dma2 7 5 0x10200 0x1>;
> dma-names = "rx", "tx";
> };
> --
> 2.7.4
>
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robh@kernel.org>
To: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
Cc: Vinod Koul <vkoul@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexandre Torgue <alexandre.torgue@st.com>,
Maxime Coquelin <mcoquelin.stm32@gmail.com>,
Dan Williams <dan.j.williams@intel.com>,
devicetree@vger.kernel.org, dmaengine@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 1/7] dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings
Date: Wed, 26 Sep 2018 15:21:12 -0500 [thread overview]
Message-ID: <20180926202112.GA6426@bogus> (raw)
In-Reply-To: <1536650820-16076-2-git-send-email-pierre-yves.mordret@st.com>
On Tue, Sep 11, 2018 at 09:26:54AM +0200, Pierre-Yves MORDRET wrote:
> This patch adds dma bindings to support DMA/MDMA chaining transfer.
> 1 bit is to manage both DMA FIFO Threshold
> 1 bit is to manage DMA/MDMA Chaining features.
> 2 bits are used to specify SDRAM size to use for DMA/MDMA chaining.
> The size in bytes of a certain order is given by the formula:
> (2 ^ order) * PAGE_SIZE.
> The order is given by those 2 bits.
> For cyclic, whether chaining is chosen, any value above 1 can be set :
> SRAM buffer size will rely on period size and not on this DT value.
>
> Signed-off-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com>
> ---
> Version history:
> v1:
> * Initial
> ---
> ---
> .../devicetree/bindings/dma/stm32-dma.txt | 32 +++++++++++++++++++---
> 1 file changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/dma/stm32-dma.txt b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> index c5f5190..163be09 100644
> --- a/Documentation/devicetree/bindings/dma/stm32-dma.txt
> +++ b/Documentation/devicetree/bindings/dma/stm32-dma.txt
> @@ -17,6 +17,12 @@ Optional properties:
> - resets: Reference to a reset controller asserting the DMA controller
> - st,mem2mem: boolean; if defined, it indicates that the controller supports
> memory-to-memory transfer
> +- dmas: A list of eight dma specifiers, one for each entry in dma-names.
> + Refer to stm32-mdma.txt for more details.
> +- dma-names: should contain "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6" and
> + "ch7" and represents each STM32 DMA channel connected to a STM32 MDMA one.
> +- memory-region : phandle to a node describing memory to be used for
> + M2M intermediate transfer between DMA and MDMA.
>
> Example:
>
> @@ -36,6 +42,16 @@ Example:
> st,mem2mem;
> resets = <&rcc 150>;
> dma-requests = <8>;
> + dmas = <&mdma1 8 0x10 0x1200000a 0x40026408 0x00000020 1>,
> + <&mdma1 9 0x10 0x1200000a 0x40026408 0x00000800 1>,
> + <&mdma1 10 0x10 0x1200000a 0x40026408 0x00200000 1>,
> + <&mdma1 11 0x10 0x1200000a 0x40026408 0x08000000 1>,
> + <&mdma1 12 0x10 0x1200000a 0x4002640C 0x00000020 1>,
> + <&mdma1 13 0x10 0x1200000a 0x4002640C 0x00000800 1>,
> + <&mdma1 14 0x10 0x1200000a 0x4002640C 0x00200000 1>,
> + <&mdma1 15 0x10 0x1200000a 0x4002640C 0x08000000 1>;
> + dma-names = "ch0", "ch1", "ch2", "ch3", "ch4", "ch5", "ch6", "ch7";
> + memory-region = <&sram_dmapool>;
> };
>
> * DMA client
> @@ -62,13 +78,21 @@ channel: a phandle to the DMA controller plus the following four integer cells:
> 0x1: medium
> 0x2: high
> 0x3: very high
> -4. A 32bit bitfield value specifying DMA features which are device dependent:
> +4. A bitfield value specifying DMA features which are device dependent:
It's still a 32-bit value, right?
> -bit 0-1: DMA FIFO threshold selection
> 0x0: 1/4 full FIFO
> 0x1: 1/2 full FIFO
> 0x2: 3/4 full FIFO
> 0x3: full FIFO
> -
> + -bit 2: Intermediate M2M transfer from/to DDR to/from SRAM throughout MDMA
> + 0: MDMA not used to generate an intermediate M2M transfer
> + 1: MDMA used to generate an intermediate M2M transfer.
> + -bit 3-4: indicated SRAM Buffer size in (2^order)*PAGE_SIZE.
What's PAGE_SIZE? That's not defined for DT.
> + Order is given by those 2 bits starting at 0.
> + Valid only whether Intermediate M2M transfer is set.
> + For cyclic, whether Intermediate M2M transfer is chosen, any value can
> + be set: SRAM buffer size will rely on period size and not on this DT
> + value.
>
> Example:
>
> @@ -77,7 +101,7 @@ Example:
> reg = <0x40011000 0x400>;
> interrupts = <37>;
> clocks = <&clk_pclk2>;
> - dmas = <&dma2 2 4 0x10400 0x3>,
> - <&dma2 7 5 0x10200 0x3>;
> + dmas = <&dma2 2 4 0x10400 0x1>,
> + <&dma2 7 5 0x10200 0x1>;
> dma-names = "rx", "tx";
> };
> --
> 2.7.4
>
next reply other threads:[~2018-09-26 20:21 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 20:21 Rob Herring [this message]
2018-09-26 20:21 ` [PATCH v1 1/7] dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings Rob Herring
2018-09-26 20:21 ` Rob Herring
-- strict thread matches above, loose matches on Subject: below --
2018-09-26 20:23 [v1,3/7] dt-bindings: stm32-mdma: " Rob Herring
2018-09-26 20:23 ` [PATCH v1 3/7] " Rob Herring
2018-09-26 20:23 ` Rob Herring
2018-09-26 20:22 [v1,2/7] dt-bindings: stm32-dmamux: Add one cell to support DMA/MDMA chain Rob Herring
2018-09-26 20:22 ` [PATCH v1 2/7] " Rob Herring
2018-09-26 20:22 ` Rob Herring
2018-09-11 7:27 [v1,7/7] dmaengine: stm32-mdma: enable descriptor_reuse Pierre Yves MORDRET
2018-09-11 7:27 ` [PATCH v1 7/7] " Pierre-Yves MORDRET
2018-09-11 7:27 ` Pierre-Yves MORDRET
2018-09-11 7:27 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,6/7] dmaengine: stm32-dma: " Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 6/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,5/7] dmaengine: stm32-mdma: Add DMA/MDMA chaining support Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 5/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,4/7] dmaengine: stm32-dma: " Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 4/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,3/7] dt-bindings: stm32-mdma: Add DMA/MDMA chaining support bindings Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 3/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,2/7] dt-bindings: stm32-dmamux: Add one cell to support DMA/MDMA chain Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 2/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [v1,1/7] dt-bindings: stm32-dma: Add DMA/MDMA chaining support bindings Pierre Yves MORDRET
2018-09-11 7:26 ` [PATCH v1 1/7] " Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 [PATCH v1 0/7] Add-DMA-MDMA-chaining-support Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
2018-09-11 7:26 ` Pierre-Yves MORDRET
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=20180926202112.GA6426@bogus \
--to=robh@kernel.org \
--cc=alexandre.torgue@st.com \
--cc=dan.j.williams@intel.com \
--cc=devicetree@vger.kernel.org \
--cc=dmaengine@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=pierre-yves.mordret@st.com \
--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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.