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
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
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
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
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]>
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]>
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]>
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
>
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.
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
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?
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.
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!
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?
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
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
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
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
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
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
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
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.