2022-03-28 12:26:09

by Zong Li

[permalink] [raw]
Subject: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

The PDMA driver currently assumes there are four channels by default, it
might cause the error if there is actually less than four channels.
Change that by getting number of channel dynamically from device tree.
For backwards-compatible, it uses the default value (i.e. 4) when there
is no 'dma-channels' information in dts.

This patch set contains the dts and dt-bindings change.

Changed in v8:
- Rebase on master
- Remove modification of microchip-mpfs.dtsi
- Rename DMA node name of fu540-c000.dtsi

Changed in v7:
- Rebase on tag v5.17-rc7
- Modify the subject of patch

Changed in v6:
- Rebase on tag v5.17-rc6
- Change sf_pdma.chans[] to a flexible array member.

Changed in v5:
- Rebase on tag v5.17-rc3
- Fix typo in dt-bindings and commit message
- Add PDMA versioning scheme for compatible

Changed in v4:
- Remove cflags of debug use reported-by: kernel test robot <[email protected]>

Changed in v3:
- Fix allocating wrong size
- Return error if 'dma-channels' is larger than maximum

Changed in v2:
- Rebase on tag v5.16
- Use 4 as default value of dma-channels

Zong Li (4):
dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
modify compatible
riscv: dts: Add dma-channels property and modify compatible
riscv: dts: rename the node name of dma
dmaengine: sf-pdma: Get number of channel by device tree

.../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
4 files changed, 38 insertions(+), 18 deletions(-)

--
2.35.1


2022-03-28 20:49:03

by Zong Li

[permalink] [raw]
Subject: [PATCH v8 1/4] dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and modify compatible

Add dma-channels property, then we can determine how many channels there
by device tree, rather than statically defining it in PDMA driver.
In addition, we also modify the compatible for PDMA versioning scheme.

Signed-off-by: Zong Li <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
Suggested-by: Palmer Dabbelt <[email protected]>
Reviewed-by: Palmer Dabbelt <[email protected]>
Acked-by: Palmer Dabbelt <[email protected]>
Acked-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
index 47c46af25536..3271755787b4 100644
--- a/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
+++ b/Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml
@@ -28,7 +28,15 @@ allOf:
properties:
compatible:
items:
- - const: sifive,fu540-c000-pdma
+ - enum:
+ - sifive,fu540-c000-pdma
+ - const: sifive,pdma0
+ description:
+ Should be "sifive,<chip>-pdma" and "sifive,pdma<version>".
+ Supported compatible strings are -
+ "sifive,fu540-c000-pdma" for the SiFive PDMA v0 as integrated onto the
+ SiFive FU540 chip resp and "sifive,pdma0" for the SiFive PDMA v0 IP block
+ with no chip integration tweaks.

reg:
maxItems: 1
@@ -37,6 +45,12 @@ properties:
minItems: 1
maxItems: 8

+ dma-channels:
+ description: For backwards-compatibility, the default value is 4
+ minimum: 1
+ maximum: 4
+ default: 4
+
'#dma-cells':
const: 1

@@ -50,8 +64,9 @@ unevaluatedProperties: false
examples:
- |
dma-controller@3000000 {
- compatible = "sifive,fu540-c000-pdma";
+ compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
reg = <0x3000000 0x8000>;
+ dma-channels = <4>;
interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>, <30>;
#dma-cells = <1>;
};
--
2.35.1

2022-03-28 21:47:34

by Zong Li

[permalink] [raw]
Subject: [PATCH v8 3/4] riscv: dts: rename the node name of dma

Rename the node name by the generic DMA naming

Signed-off-by: Zong Li <[email protected]>
CC: Vinod Koul <[email protected]>
---
arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
index 6a3011180846..6eebe34c2851 100644
--- a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
+++ b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
@@ -167,7 +167,7 @@ uart0: serial@10010000 {
clocks = <&prci PRCI_CLK_TLCLK>;
status = "disabled";
};
- dma: dma@3000000 {
+ dma: dma-controller@3000000 {
compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
reg = <0x0 0x3000000 0x0 0x8000>;
interrupt-parent = <&plic0>;
--
2.35.1

2022-03-28 22:34:11

by Zong Li

[permalink] [raw]
Subject: [PATCH v8 2/4] riscv: dts: Add dma-channels property and modify compatible

Add dma-channels property, then we can determine how many channels there
by device tree, in addition, we add the pdma versioning scheme for
compatible.

Signed-off-by: Zong Li <[email protected]>
Reviewed-by: Palmer Dabbelt <[email protected]>
Acked-by: Palmer Dabbelt <[email protected]>
Acked-by: Conor Dooley <[email protected]>
---
arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
index 3eef52b1a59b..6a3011180846 100644
--- a/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
+++ b/arch/riscv/boot/dts/sifive/fu540-c000.dtsi
@@ -168,11 +168,12 @@ uart0: serial@10010000 {
status = "disabled";
};
dma: dma@3000000 {
- compatible = "sifive,fu540-c000-pdma";
+ compatible = "sifive,fu540-c000-pdma", "sifive,pdma0";
reg = <0x0 0x3000000 0x0 0x8000>;
interrupt-parent = <&plic0>;
interrupts = <23>, <24>, <25>, <26>, <27>, <28>, <29>,
<30>;
+ dma-channels = <4>;
#dma-cells = <1>;
};
uart1: serial@10011000 {
--
2.35.1

2022-03-29 01:46:39

by Bin Meng

[permalink] [raw]
Subject: Re: [PATCH v8 1/4] dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and modify compatible

On Mon, Mar 28, 2022 at 7:56 PM Zong Li <[email protected]> wrote:
>
> Add dma-channels property, then we can determine how many channels there
> by device tree, rather than statically defining it in PDMA driver.
> In addition, we also modify the compatible for PDMA versioning scheme.
>
> Signed-off-by: Zong Li <[email protected]>
> Reviewed-by: Rob Herring <[email protected]>
> Suggested-by: Palmer Dabbelt <[email protected]>
> Reviewed-by: Palmer Dabbelt <[email protected]>
> Acked-by: Palmer Dabbelt <[email protected]>
> Acked-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++++++--
> 1 file changed, 17 insertions(+), 2 deletions(-)
>

Reviewed-by: Bin Meng <[email protected]>

2022-03-29 01:50:55

by Bin Meng

[permalink] [raw]
Subject: Re: [PATCH v8 2/4] riscv: dts: Add dma-channels property and modify compatible

On Mon, Mar 28, 2022 at 7:25 PM Zong Li <[email protected]> wrote:
>
> Add dma-channels property, then we can determine how many channels there
> by device tree, in addition, we add the pdma versioning scheme for
> compatible.
>
> Signed-off-by: Zong Li <[email protected]>
> Reviewed-by: Palmer Dabbelt <[email protected]>
> Acked-by: Palmer Dabbelt <[email protected]>
> Acked-by: Conor Dooley <[email protected]>
> ---
> arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <[email protected]>

2022-03-29 02:00:42

by Bin Meng

[permalink] [raw]
Subject: Re: [PATCH v8 3/4] riscv: dts: rename the node name of dma

On Tue, Mar 29, 2022 at 6:27 AM Zong Li <[email protected]> wrote:
>
> Rename the node name by the generic DMA naming
>
> Signed-off-by: Zong Li <[email protected]>
> CC: Vinod Koul <[email protected]>
> ---
> arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Reviewed-by: Bin Meng <[email protected]>

2022-03-31 02:27:03

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

Hi Vinod and Palmer,
This patchset got some reviewed-by and acked-by, if it is good to you
as well, are you willing to help me to pick them? Thanks.

On Mon, Mar 28, 2022 at 5:52 PM Zong Li <[email protected]> wrote:
>
> The PDMA driver currently assumes there are four channels by default, it
> might cause the error if there is actually less than four channels.
> Change that by getting number of channel dynamically from device tree.
> For backwards-compatible, it uses the default value (i.e. 4) when there
> is no 'dma-channels' information in dts.
>
> This patch set contains the dts and dt-bindings change.
>
> Changed in v8:
> - Rebase on master
> - Remove modification of microchip-mpfs.dtsi
> - Rename DMA node name of fu540-c000.dtsi
>
> Changed in v7:
> - Rebase on tag v5.17-rc7
> - Modify the subject of patch
>
> Changed in v6:
> - Rebase on tag v5.17-rc6
> - Change sf_pdma.chans[] to a flexible array member.
>
> Changed in v5:
> - Rebase on tag v5.17-rc3
> - Fix typo in dt-bindings and commit message
> - Add PDMA versioning scheme for compatible
>
> Changed in v4:
> - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
>
> Changed in v3:
> - Fix allocating wrong size
> - Return error if 'dma-channels' is larger than maximum
>
> Changed in v2:
> - Rebase on tag v5.16
> - Use 4 as default value of dma-channels
>
> Zong Li (4):
> dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
> modify compatible
> riscv: dts: Add dma-channels property and modify compatible
> riscv: dts: rename the node name of dma
> dmaengine: sf-pdma: Get number of channel by device tree
>
> .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
> arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
> drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
> drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
> 4 files changed, 38 insertions(+), 18 deletions(-)
>
> --
> 2.35.1
>

2022-03-31 05:15:06

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
> The PDMA driver currently assumes there are four channels by default, it
> might cause the error if there is actually less than four channels.
> Change that by getting number of channel dynamically from device tree.
> For backwards-compatible, it uses the default value (i.e. 4) when there
> is no 'dma-channels' information in dts.
>
> This patch set contains the dts and dt-bindings change.
>
> Changed in v8:
> - Rebase on master
> - Remove modification of microchip-mpfs.dtsi
> - Rename DMA node name of fu540-c000.dtsi
>
> Changed in v7:
> - Rebase on tag v5.17-rc7
> - Modify the subject of patch
>
> Changed in v6:
> - Rebase on tag v5.17-rc6
> - Change sf_pdma.chans[] to a flexible array member.
>
> Changed in v5:
> - Rebase on tag v5.17-rc3
> - Fix typo in dt-bindings and commit message
> - Add PDMA versioning scheme for compatible
>
> Changed in v4:
> - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
>
> Changed in v3:
> - Fix allocating wrong size
> - Return error if 'dma-channels' is larger than maximum
>
> Changed in v2:
> - Rebase on tag v5.16
> - Use 4 as default value of dma-channels
>
> Zong Li (4):
> dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
> modify compatible
> riscv: dts: Add dma-channels property and modify compatible
> riscv: dts: rename the node name of dma
> dmaengine: sf-pdma: Get number of channel by device tree
>
> .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
> arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
> drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
> drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
> 4 files changed, 38 insertions(+), 18 deletions(-)

Thanks, these are on for-next.

2022-03-31 05:47:26

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On 30-03-22, 20:15, Palmer Dabbelt wrote:
> On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
> > The PDMA driver currently assumes there are four channels by default, it
> > might cause the error if there is actually less than four channels.
> > Change that by getting number of channel dynamically from device tree.
> > For backwards-compatible, it uses the default value (i.e. 4) when there
> > is no 'dma-channels' information in dts.
> >
> > This patch set contains the dts and dt-bindings change.
> >
> > Changed in v8:
> > - Rebase on master
> > - Remove modification of microchip-mpfs.dtsi
> > - Rename DMA node name of fu540-c000.dtsi
> >
> > Changed in v7:
> > - Rebase on tag v5.17-rc7
> > - Modify the subject of patch
> >
> > Changed in v6:
> > - Rebase on tag v5.17-rc6
> > - Change sf_pdma.chans[] to a flexible array member.
> >
> > Changed in v5:
> > - Rebase on tag v5.17-rc3
> > - Fix typo in dt-bindings and commit message
> > - Add PDMA versioning scheme for compatible
> >
> > Changed in v4:
> > - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
> >
> > Changed in v3:
> > - Fix allocating wrong size
> > - Return error if 'dma-channels' is larger than maximum
> >
> > Changed in v2:
> > - Rebase on tag v5.16
> > - Use 4 as default value of dma-channels
> >
> > Zong Li (4):
> > dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
> > modify compatible
> > riscv: dts: Add dma-channels property and modify compatible
> > riscv: dts: rename the node name of dma
> > dmaengine: sf-pdma: Get number of channel by device tree
> >
> > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
> > arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
> > drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
> > drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
> > 4 files changed, 38 insertions(+), 18 deletions(-)
>
> Thanks, these are on for-next.

The drivers/dma/ should go thru dmaengine tree. During merge window I
dont apply the patches

--
~Vinod

2022-03-31 08:25:19

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Wed, 30 Mar 2022 22:21:56 PDT (-0700), [email protected] wrote:
> On 30-03-22, 20:15, Palmer Dabbelt wrote:
>> On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
>> > The PDMA driver currently assumes there are four channels by default, it
>> > might cause the error if there is actually less than four channels.
>> > Change that by getting number of channel dynamically from device tree.
>> > For backwards-compatible, it uses the default value (i.e. 4) when there
>> > is no 'dma-channels' information in dts.
>> >
>> > This patch set contains the dts and dt-bindings change.
>> >
>> > Changed in v8:
>> > - Rebase on master
>> > - Remove modification of microchip-mpfs.dtsi
>> > - Rename DMA node name of fu540-c000.dtsi
>> >
>> > Changed in v7:
>> > - Rebase on tag v5.17-rc7
>> > - Modify the subject of patch
>> >
>> > Changed in v6:
>> > - Rebase on tag v5.17-rc6
>> > - Change sf_pdma.chans[] to a flexible array member.
>> >
>> > Changed in v5:
>> > - Rebase on tag v5.17-rc3
>> > - Fix typo in dt-bindings and commit message
>> > - Add PDMA versioning scheme for compatible
>> >
>> > Changed in v4:
>> > - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
>> >
>> > Changed in v3:
>> > - Fix allocating wrong size
>> > - Return error if 'dma-channels' is larger than maximum
>> >
>> > Changed in v2:
>> > - Rebase on tag v5.16
>> > - Use 4 as default value of dma-channels
>> >
>> > Zong Li (4):
>> > dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
>> > modify compatible
>> > riscv: dts: Add dma-channels property and modify compatible
>> > riscv: dts: rename the node name of dma
>> > dmaengine: sf-pdma: Get number of channel by device tree
>> >
>> > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
>> > arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
>> > drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
>> > drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
>> > 4 files changed, 38 insertions(+), 18 deletions(-)
>>
>> Thanks, these are on for-next.
>
> The drivers/dma/ should go thru dmaengine tree. During merge window I
> dont apply the patches

OK, I can drop this from my tree if you'd like?

2022-04-01 11:17:30

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Wed, 30 Mar 2022 22:54:47 PDT (-0700), Palmer Dabbelt wrote:
> On Wed, 30 Mar 2022 22:21:56 PDT (-0700), [email protected] wrote:
>> On 30-03-22, 20:15, Palmer Dabbelt wrote:
>>> On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
>>> > The PDMA driver currently assumes there are four channels by default, it
>>> > might cause the error if there is actually less than four channels.
>>> > Change that by getting number of channel dynamically from device tree.
>>> > For backwards-compatible, it uses the default value (i.e. 4) when there
>>> > is no 'dma-channels' information in dts.
>>> >
>>> > This patch set contains the dts and dt-bindings change.
>>> >
>>> > Changed in v8:
>>> > - Rebase on master
>>> > - Remove modification of microchip-mpfs.dtsi
>>> > - Rename DMA node name of fu540-c000.dtsi
>>> >
>>> > Changed in v7:
>>> > - Rebase on tag v5.17-rc7
>>> > - Modify the subject of patch
>>> >
>>> > Changed in v6:
>>> > - Rebase on tag v5.17-rc6
>>> > - Change sf_pdma.chans[] to a flexible array member.
>>> >
>>> > Changed in v5:
>>> > - Rebase on tag v5.17-rc3
>>> > - Fix typo in dt-bindings and commit message
>>> > - Add PDMA versioning scheme for compatible
>>> >
>>> > Changed in v4:
>>> > - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
>>> >
>>> > Changed in v3:
>>> > - Fix allocating wrong size
>>> > - Return error if 'dma-channels' is larger than maximum
>>> >
>>> > Changed in v2:
>>> > - Rebase on tag v5.16
>>> > - Use 4 as default value of dma-channels
>>> >
>>> > Zong Li (4):
>>> > dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
>>> > modify compatible
>>> > riscv: dts: Add dma-channels property and modify compatible
>>> > riscv: dts: rename the node name of dma
>>> > dmaengine: sf-pdma: Get number of channel by device tree
>>> >
>>> > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
>>> > arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
>>> > drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
>>> > drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
>>> > 4 files changed, 38 insertions(+), 18 deletions(-)
>>>
>>> Thanks, these are on for-next.
>>
>> The drivers/dma/ should go thru dmaengine tree. During merge window I
>> dont apply the patches
>
> OK, I can drop this from my tree if you'd like?

Just to follow up from IRC: I'm dropping these from my tree.

2022-04-01 14:37:26

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Fri, Apr 1, 2022 at 6:42 AM Palmer Dabbelt <[email protected]> wrote:
>
> On Wed, 30 Mar 2022 22:54:47 PDT (-0700), Palmer Dabbelt wrote:
> > On Wed, 30 Mar 2022 22:21:56 PDT (-0700), [email protected] wrote:
> >> On 30-03-22, 20:15, Palmer Dabbelt wrote:
> >>> On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
> >>> > The PDMA driver currently assumes there are four channels by default, it
> >>> > might cause the error if there is actually less than four channels.
> >>> > Change that by getting number of channel dynamically from device tree.
> >>> > For backwards-compatible, it uses the default value (i.e. 4) when there
> >>> > is no 'dma-channels' information in dts.
> >>> >
> >>> > This patch set contains the dts and dt-bindings change.
> >>> >
> >>> > Changed in v8:
> >>> > - Rebase on master
> >>> > - Remove modification of microchip-mpfs.dtsi
> >>> > - Rename DMA node name of fu540-c000.dtsi
> >>> >
> >>> > Changed in v7:
> >>> > - Rebase on tag v5.17-rc7
> >>> > - Modify the subject of patch
> >>> >
> >>> > Changed in v6:
> >>> > - Rebase on tag v5.17-rc6
> >>> > - Change sf_pdma.chans[] to a flexible array member.
> >>> >
> >>> > Changed in v5:
> >>> > - Rebase on tag v5.17-rc3
> >>> > - Fix typo in dt-bindings and commit message
> >>> > - Add PDMA versioning scheme for compatible
> >>> >
> >>> > Changed in v4:
> >>> > - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
> >>> >
> >>> > Changed in v3:
> >>> > - Fix allocating wrong size
> >>> > - Return error if 'dma-channels' is larger than maximum
> >>> >
> >>> > Changed in v2:
> >>> > - Rebase on tag v5.16
> >>> > - Use 4 as default value of dma-channels
> >>> >
> >>> > Zong Li (4):
> >>> > dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
> >>> > modify compatible
> >>> > riscv: dts: Add dma-channels property and modify compatible
> >>> > riscv: dts: rename the node name of dma
> >>> > dmaengine: sf-pdma: Get number of channel by device tree
> >>> >
> >>> > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
> >>> > arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
> >>> > drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
> >>> > drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
> >>> > 4 files changed, 38 insertions(+), 18 deletions(-)
> >>>
> >>> Thanks, these are on for-next.
> >>
> >> The drivers/dma/ should go thru dmaengine tree. During merge window I
> >> dont apply the patches
> >
> > OK, I can drop this from my tree if you'd like?
>
> Just to follow up from IRC: I'm dropping these from my tree.

Hi Palmer and Vinod,
Many thanks for your help. As all you suggested, let's go this
patchset by the dmaengine tree. Thanks a lot!

2022-04-08 08:10:23

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Thu, Mar 31, 2022 at 1:22 PM Vinod Koul <[email protected]> wrote:
>
> On 30-03-22, 20:15, Palmer Dabbelt wrote:
> > On Mon, 28 Mar 2022 02:52:21 PDT (-0700), [email protected] wrote:
> > > The PDMA driver currently assumes there are four channels by default, it
> > > might cause the error if there is actually less than four channels.
> > > Change that by getting number of channel dynamically from device tree.
> > > For backwards-compatible, it uses the default value (i.e. 4) when there
> > > is no 'dma-channels' information in dts.
> > >
> > > This patch set contains the dts and dt-bindings change.
> > >
> > > Changed in v8:
> > > - Rebase on master
> > > - Remove modification of microchip-mpfs.dtsi
> > > - Rename DMA node name of fu540-c000.dtsi
> > >
> > > Changed in v7:
> > > - Rebase on tag v5.17-rc7
> > > - Modify the subject of patch
> > >
> > > Changed in v6:
> > > - Rebase on tag v5.17-rc6
> > > - Change sf_pdma.chans[] to a flexible array member.
> > >
> > > Changed in v5:
> > > - Rebase on tag v5.17-rc3
> > > - Fix typo in dt-bindings and commit message
> > > - Add PDMA versioning scheme for compatible
> > >
> > > Changed in v4:
> > > - Remove cflags of debug use reported-by: kernel test robot <[email protected]>
> > >
> > > Changed in v3:
> > > - Fix allocating wrong size
> > > - Return error if 'dma-channels' is larger than maximum
> > >
> > > Changed in v2:
> > > - Rebase on tag v5.16
> > > - Use 4 as default value of dma-channels
> > >
> > > Zong Li (4):
> > > dt-bindings: dma-engine: sifive,fu540: Add dma-channels property and
> > > modify compatible
> > > riscv: dts: Add dma-channels property and modify compatible
> > > riscv: dts: rename the node name of dma
> > > dmaengine: sf-pdma: Get number of channel by device tree
> > >
> > > .../bindings/dma/sifive,fu540-c000-pdma.yaml | 19 +++++++++++++--
> > > arch/riscv/boot/dts/sifive/fu540-c000.dtsi | 5 ++--
> > > drivers/dma/sf-pdma/sf-pdma.c | 24 ++++++++++++-------
> > > drivers/dma/sf-pdma/sf-pdma.h | 8 ++-----
> > > 4 files changed, 38 insertions(+), 18 deletions(-)
> >
> > Thanks, these are on for-next.
>
> The drivers/dma/ should go thru dmaengine tree. During merge window I
> dont apply the patches
>
> --
> ~Vinod

Hi Vinod,
Many thanks for considering this patchset :) Could I know if there is
an opportunity to pick this into the following few -rc kernels?

2022-04-11 09:37:46

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
>
> On 28-03-22, 17:52, Zong Li wrote:
> > The PDMA driver currently assumes there are four channels by default, it
> > might cause the error if there is actually less than four channels.
> > Change that by getting number of channel dynamically from device tree.
> > For backwards-compatible, it uses the default value (i.e. 4) when there
> > is no 'dma-channels' information in dts.
>
> Applied patch 1 & 4 to dmaengine-next, thanks

Hi Vinod,
Thanks for your help and review. For patch 2 and 3, does it mean that
we should go through the riscv tree?

>
> --
> ~Vinod

2022-04-12 19:42:05

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Mon, Apr 11, 2022 at 6:48 PM Vinod Koul <[email protected]> wrote:
>
> On 11-04-22, 10:51, Zong Li wrote:
> > On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
> > >
> > > On 28-03-22, 17:52, Zong Li wrote:
> > > > The PDMA driver currently assumes there are four channels by default, it
> > > > might cause the error if there is actually less than four channels.
> > > > Change that by getting number of channel dynamically from device tree.
> > > > For backwards-compatible, it uses the default value (i.e. 4) when there
> > > > is no 'dma-channels' information in dts.
> > >
> > > Applied patch 1 & 4 to dmaengine-next, thanks
> >
> > Hi Vinod,
> > Thanks for your help and review. For patch 2 and 3, does it mean that
> > we should go through the riscv tree?
>
> Yes
>

Hi Palmer,
Could you please help me to pick up the patch 2 and 3. Thanks :)

> --
> ~Vinod

2022-04-12 21:22:52

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On 28-03-22, 17:52, Zong Li wrote:
> The PDMA driver currently assumes there are four channels by default, it
> might cause the error if there is actually less than four channels.
> Change that by getting number of channel dynamically from device tree.
> For backwards-compatible, it uses the default value (i.e. 4) when there
> is no 'dma-channels' information in dts.

Applied patch 1 & 4 to dmaengine-next, thanks

--
~Vinod

2022-04-12 22:20:49

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On 11-04-22, 10:51, Zong Li wrote:
> On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
> >
> > On 28-03-22, 17:52, Zong Li wrote:
> > > The PDMA driver currently assumes there are four channels by default, it
> > > might cause the error if there is actually less than four channels.
> > > Change that by getting number of channel dynamically from device tree.
> > > For backwards-compatible, it uses the default value (i.e. 4) when there
> > > is no 'dma-channels' information in dts.
> >
> > Applied patch 1 & 4 to dmaengine-next, thanks
>
> Hi Vinod,
> Thanks for your help and review. For patch 2 and 3, does it mean that
> we should go through the riscv tree?

Yes

--
~Vinod

2022-04-21 01:09:12

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Mon, 11 Apr 2022 04:43:35 PDT (-0700), [email protected] wrote:
> On Mon, Apr 11, 2022 at 6:48 PM Vinod Koul <[email protected]> wrote:
>>
>> On 11-04-22, 10:51, Zong Li wrote:
>> > On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
>> > >
>> > > On 28-03-22, 17:52, Zong Li wrote:
>> > > > The PDMA driver currently assumes there are four channels by default, it
>> > > > might cause the error if there is actually less than four channels.
>> > > > Change that by getting number of channel dynamically from device tree.
>> > > > For backwards-compatible, it uses the default value (i.e. 4) when there
>> > > > is no 'dma-channels' information in dts.
>> > >
>> > > Applied patch 1 & 4 to dmaengine-next, thanks
>> >
>> > Hi Vinod,
>> > Thanks for your help and review. For patch 2 and 3, does it mean that
>> > we should go through the riscv tree?
>>
>> Yes
>>
>
> Hi Palmer,
> Could you please help me to pick up the patch 2 and 3. Thanks :)

Sorry about that, I forgot about this one. I just put them on for-next,
there was a minor merge conflict but it looks pretty simple.

>
>> --
>> ~Vinod

2022-04-21 19:20:27

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Tue, Apr 19, 2022 at 7:18 PM Palmer Dabbelt <[email protected]> wrote:
>
> On Mon, 11 Apr 2022 04:43:35 PDT (-0700), [email protected] wrote:
> > On Mon, Apr 11, 2022 at 6:48 PM Vinod Koul <[email protected]> wrote:
> >>
> >> On 11-04-22, 10:51, Zong Li wrote:
> >> > On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
> >> > >
> >> > > On 28-03-22, 17:52, Zong Li wrote:
> >> > > > The PDMA driver currently assumes there are four channels by default, it
> >> > > > might cause the error if there is actually less than four channels.
> >> > > > Change that by getting number of channel dynamically from device tree.
> >> > > > For backwards-compatible, it uses the default value (i.e. 4) when there
> >> > > > is no 'dma-channels' information in dts.
> >> > >
> >> > > Applied patch 1 & 4 to dmaengine-next, thanks
> >> >
> >> > Hi Vinod,
> >> > Thanks for your help and review. For patch 2 and 3, does it mean that
> >> > we should go through the riscv tree?
> >>
> >> Yes
> >>
> >
> > Hi Palmer,
> > Could you please help me to pick up the patch 2 and 3. Thanks :)
>
> Sorry about that, I forgot about this one. I just put them on for-next,
> there was a minor merge conflict but it looks pretty simple.

Looks like you applied patch 1 too which Vinod already applied to the
dmaengine tree. And you changed the 1st line removing the "# " before
the SPDX tag which results in:

make[1]: *** Deleting file
'Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts'
Traceback (most recent call last):
File "/usr/local/bin/dt-extract-example", line 52, in <module>
binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py",
line 434, in load
return constructor.get_single_data()
File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
line 119, in get_single_data
node = self.composer.get_single_node()
File "_ruamel_yaml.pyx", line 718, in _ruamel_yaml.CParser.get_single_node
ruamel.yaml.composer.ComposerError: expected a single document in the stream
in "<unicode string>", line 1, column 1
but found another document
in "<unicode string>", line 2, column 1
make[1]: *** [Documentation/devicetree/bindings/Makefile:26:
Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts]
Error 1
./Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml:1:1:
[error] missing document start "---" (document-start)


Rob

2022-04-22 18:34:20

by Zong Li

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Wed, Apr 20, 2022 at 10:26 PM Rob Herring <[email protected]> wrote:
>
> On Tue, Apr 19, 2022 at 7:18 PM Palmer Dabbelt <[email protected]> wrote:
> >
> > On Mon, 11 Apr 2022 04:43:35 PDT (-0700), [email protected] wrote:
> > > On Mon, Apr 11, 2022 at 6:48 PM Vinod Koul <[email protected]> wrote:
> > >>
> > >> On 11-04-22, 10:51, Zong Li wrote:
> > >> > On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
> > >> > >
> > >> > > On 28-03-22, 17:52, Zong Li wrote:
> > >> > > > The PDMA driver currently assumes there are four channels by default, it
> > >> > > > might cause the error if there is actually less than four channels.
> > >> > > > Change that by getting number of channel dynamically from device tree.
> > >> > > > For backwards-compatible, it uses the default value (i.e. 4) when there
> > >> > > > is no 'dma-channels' information in dts.
> > >> > >
> > >> > > Applied patch 1 & 4 to dmaengine-next, thanks
> > >> >
> > >> > Hi Vinod,
> > >> > Thanks for your help and review. For patch 2 and 3, does it mean that
> > >> > we should go through the riscv tree?
> > >>
> > >> Yes
> > >>
> > >
> > > Hi Palmer,
> > > Could you please help me to pick up the patch 2 and 3. Thanks :)
> >
> > Sorry about that, I forgot about this one. I just put them on for-next,
> > there was a minor merge conflict but it looks pretty simple.
>
> Looks like you applied patch 1 too which Vinod already applied to the
> dmaengine tree. And you changed the 1st line removing the "# " before
> the SPDX tag which results in:

Hi Palmer,
Many thanks for helping me to pick them into riscv-tree, It seems like
we need to pick patch 2 and 3 in riscv tree, instead of patch 1 and 2.
:)

>
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts'
> Traceback (most recent call last):
> File "/usr/local/bin/dt-extract-example", line 52, in <module>
> binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
> File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py",
> line 434, in load
> return constructor.get_single_data()
> File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 119, in get_single_data
> node = self.composer.get_single_node()
> File "_ruamel_yaml.pyx", line 718, in _ruamel_yaml.CParser.get_single_node
> ruamel.yaml.composer.ComposerError: expected a single document in the stream
> in "<unicode string>", line 1, column 1
> but found another document
> in "<unicode string>", line 2, column 1
> make[1]: *** [Documentation/devicetree/bindings/Makefile:26:
> Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts]
> Error 1
> ./Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml:1:1:
> [error] missing document start "---" (document-start)
>
>
> Rob

2022-04-22 18:41:37

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH v8 0/4] Determine the number of DMA channels by 'dma-channels' property

On Wed, 20 Apr 2022 07:25:53 PDT (-0700), [email protected] wrote:
> On Tue, Apr 19, 2022 at 7:18 PM Palmer Dabbelt <[email protected]> wrote:
>>
>> On Mon, 11 Apr 2022 04:43:35 PDT (-0700), [email protected] wrote:
>> > On Mon, Apr 11, 2022 at 6:48 PM Vinod Koul <[email protected]> wrote:
>> >>
>> >> On 11-04-22, 10:51, Zong Li wrote:
>> >> > On Fri, Apr 8, 2022 at 9:13 PM Vinod Koul <[email protected]> wrote:
>> >> > >
>> >> > > On 28-03-22, 17:52, Zong Li wrote:
>> >> > > > The PDMA driver currently assumes there are four channels by default, it
>> >> > > > might cause the error if there is actually less than four channels.
>> >> > > > Change that by getting number of channel dynamically from device tree.
>> >> > > > For backwards-compatible, it uses the default value (i.e. 4) when there
>> >> > > > is no 'dma-channels' information in dts.
>> >> > >
>> >> > > Applied patch 1 & 4 to dmaengine-next, thanks
>> >> >
>> >> > Hi Vinod,
>> >> > Thanks for your help and review. For patch 2 and 3, does it mean that
>> >> > we should go through the riscv tree?
>> >>
>> >> Yes
>> >>
>> >
>> > Hi Palmer,
>> > Could you please help me to pick up the patch 2 and 3. Thanks :)
>>
>> Sorry about that, I forgot about this one. I just put them on for-next,
>> there was a minor merge conflict but it looks pretty simple.
>
> Looks like you applied patch 1 too which Vinod already applied to the
> dmaengine tree. And you changed the 1st line removing the "# " before
> the SPDX tag which results in:
>
> make[1]: *** Deleting file
> 'Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts'
> Traceback (most recent call last):
> File "/usr/local/bin/dt-extract-example", line 52, in <module>
> binding = yaml.load(open(args.yamlfile, encoding='utf-8').read())
> File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/main.py",
> line 434, in load
> return constructor.get_single_data()
> File "/usr/local/lib/python3.8/dist-packages/ruamel/yaml/constructor.py",
> line 119, in get_single_data
> node = self.composer.get_single_node()
> File "_ruamel_yaml.pyx", line 718, in _ruamel_yaml.CParser.get_single_node
> ruamel.yaml.composer.ComposerError: expected a single document in the stream
> in "<unicode string>", line 1, column 1
> but found another document
> in "<unicode string>", line 2, column 1
> make[1]: *** [Documentation/devicetree/bindings/Makefile:26:
> Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.example.dts]
> Error 1
> ./Documentation/devicetree/bindings/dma/sifive,fu540-c000-pdma.yaml:1:1:
> [error] missing document start "---" (document-start)

Sorry about that, I cherry-picked them from my working repo which I
assumed was the same but I guess had some nastiness (including the patch
reordering). Then I also ran check in the wrong working repo, so I
didn't notice the mess.

This should all be fixed.