2019-07-02 12:14:15

by Krzysztof Kozłowski

[permalink] [raw]
Subject: [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi,

Bisect pointed commit:
commit 002905eca5bedab08bafd9e325bbbb41670c7712
Author: Peng Ma <[email protected]>
Date: Thu Jun 13 10:27:08 2019 +0000
dmaengine: fsl-edma: support little endian for edma driver

as a reason of NFSv4 root boot failures. Toradex Colibri VF50 (Cortex
A5) on Toradex Iris board.

The user-space starts but hangs - a lot of messages are missing or
seriously delayed.

Please revert the patch of fix it. If needed I can provide more
details about test system - let me know.

Full log attached.

Best regards,
Krzysztof


Attachments:
bootlog.txt (11.31 kB)

2019-07-02 12:18:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

... one more time, but from proper email address:

Hi,

Bisect pointed commit:
commit 002905eca5bedab08bafd9e325bbbb41670c7712
Author: Peng Ma <[email protected]>
Date: Thu Jun 13 10:27:08 2019 +0000
dmaengine: fsl-edma: support little endian for edma driver

as a reason of NFSv4 root boot failures. Toradex Colibri VF50 (Cortex
A5) on Toradex Iris board.

The user-space starts but hangs - a lot of messages are missing or
seriously delayed.

Please revert the patch of fix it. If needed I can provide more
details about test system - let me know.

Full log attached.

Best regards,
Krzysztof


Attachments:
bootlog.txt (11.31 kB)

2019-07-02 13:06:50

by Fabio Estevam

[permalink] [raw]
Subject: Re: [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi Krzysztof,

On Tue, Jul 2, 2019 at 9:13 AM Krzysztof Kozłowski
<[email protected]> wrote:
>
> Hi,
>
> Bisect pointed commit:
> commit 002905eca5bedab08bafd9e325bbbb41670c7712
> Author: Peng Ma <[email protected]>
> Date: Thu Jun 13 10:27:08 2019 +0000
> dmaengine: fsl-edma: support little endian for edma driver
>
> as a reason of NFSv4 root boot failures. Toradex Colibri VF50 (Cortex
> A5) on Toradex Iris board.
>
> The user-space starts but hangs - a lot of messages are missing or
> seriously delayed.
>
> Please revert the patch of fix it. If needed I can provide more
> details about test system - let me know.
>
> Full log attached.

Does this fix the problem?

--- a/arch/arm/boot/dts/vfxxx.dtsi
+++ b/arch/arm/boot/dts/vfxxx.dtsi
@@ -92,6 +92,7 @@
clock-names = "dmamux0", "dmamux1";
clocks = <&clks VF610_CLK_DMAMUX0>,
<&clks VF610_CLK_DMAMUX1>;
+ big-endian;
status = "disabled";
};

@@ -491,6 +492,7 @@
clock-names = "dmamux0", "dmamux1";
clocks = <&clks VF610_CLK_DMAMUX2>,
<&clks VF610_CLK_DMAMUX3>;
+ big-endian;
status = "disabled";
};

I am not saying this is the proper fix as we should not break old dtb's.

2019-07-02 13:12:12

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

On Tue, 2 Jul 2019 at 15:04, Fabio Estevam <[email protected]> wrote:
>
> Hi Krzysztof,
>
> On Tue, Jul 2, 2019 at 9:13 AM Krzysztof Kozłowski
> <[email protected]> wrote:
> >
> > Hi,
> >
> > Bisect pointed commit:
> > commit 002905eca5bedab08bafd9e325bbbb41670c7712
> > Author: Peng Ma <[email protected]>
> > Date: Thu Jun 13 10:27:08 2019 +0000
> > dmaengine: fsl-edma: support little endian for edma driver
> >
> > as a reason of NFSv4 root boot failures. Toradex Colibri VF50 (Cortex
> > A5) on Toradex Iris board.
> >
> > The user-space starts but hangs - a lot of messages are missing or
> > seriously delayed.
> >
> > Please revert the patch of fix it. If needed I can provide more
> > details about test system - let me know.
> >
> > Full log attached.
>
> Does this fix the problem?
>
> --- a/arch/arm/boot/dts/vfxxx.dtsi
> +++ b/arch/arm/boot/dts/vfxxx.dtsi
> @@ -92,6 +92,7 @@
> clock-names = "dmamux0", "dmamux1";
> clocks = <&clks VF610_CLK_DMAMUX0>,
> <&clks VF610_CLK_DMAMUX1>;
> + big-endian;
> status = "disabled";
> };
>
> @@ -491,6 +492,7 @@
> clock-names = "dmamux0", "dmamux1";
> clocks = <&clks VF610_CLK_DMAMUX2>,
> <&clks VF610_CLK_DMAMUX3>;
> + big-endian;
> status = "disabled";
> };
>
> I am not saying this is the proper fix as we should not break old dtb's.

Hi,

No, unfortunately it does not help.

Best regards,
Krzysztof

2019-07-02 14:19:21

by Fabio Estevam

[permalink] [raw]
Subject: Re: [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

On Tue, Jul 2, 2019 at 10:11 AM Krzysztof Kozlowski <[email protected]> wrote:

> No, unfortunately it does not help.

Just looked at "dmaengine: fsl-edma: support little endian for edma
driver" more closely and this one assumes that there wasn't
little-endian support originally, which is incorrect.

Vybryd, i.MX7ULP uses edma in little-endian mode, so I think that we
should revert it.

Thanks

2019-07-04 02:12:26

by Peng Ma

[permalink] [raw]
Subject: RE: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi Krzysztof,

I am sorry, It is my mistake to forget about VF50 used EDMA IP with little endian.
The Register(CHCFG0 - CHCFG15) of our platform designed as follows:
*-------------------------------------------------------------------------------*
| Offset | Big endian Register| Little endian Register|
|---------------------|--------------------------|-----------------------------|
| 0x0 | CHCFG0 | CHCFG3 |
|---------------------|--------------------------|-----------------------------|
| 0x1 | CHCFG1 | CHCFG2 |
|---------------------|--------------------------|-----------------------------|
| 0x2 | CHCFG2 | CHCFG1 |
|---------------------|--------------------------|-----------------------------|
| 0x3 | CHCFG3 | CHCFG0 |
|---------------------|--------------------------|-----------------------------|
| ... | ...... | ...... |
|---------------------|--------------------------|-----------------------------|
| 0xC | CHCFG12 | CHCFG15 |
|---------------------|--------------------------|-----------------------------|
| 0xD | CHCFG13 | CHCFG14 |
|---------------------|--------------------------|-----------------------------|
| 0xE | CHCFG14 | CHCFG13 |
|---------------------|--------------------------|-----------------------------|
| 0xF | CHCFG15 | CHCFG12 |
*-------------------------------------------------------------------------------*

So we need this patch, I make some changes,Please help me to test attatchment on VF50 board,
Thanks.

Best Regards,
Peng
>-----Original Message-----
>From: Krzysztof Kozłowski <[email protected]>
>Sent: 2019年7月2日 20:13
>To: Peng Ma <[email protected]>; Vinod Koul <[email protected]>;
>[email protected]; [email protected]
>Subject: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine:
>fsl-edma: support little endian for edma driver"
>
>Caution: EXT Email
>
>Hi,
>
>Bisect pointed commit:
>commit 002905eca5bedab08bafd9e325bbbb41670c7712
>Author: Peng Ma <[email protected]>
>Date: Thu Jun 13 10:27:08 2019 +0000
> dmaengine: fsl-edma: support little endian for edma driver
>
>as a reason of NFSv4 root boot failures. Toradex Colibri VF50 (Cortex
>A5) on Toradex Iris board.
>
>The user-space starts but hangs - a lot of messages are missing or seriously
>delayed.
>
>Please revert the patch of fix it. If needed I can provide more details about test
>system - let me know.
>
>Full log attached.
>
>Best regards,
>Krzysztof


Attachments:
0001-dmaengine-fsl-edma-support-little-endian-for-edma-dr.patch (2.99 kB)
0001-dmaengine-fsl-edma-support-little-endian-for-edma-dr.patch

2019-07-04 12:08:01

by Fabio Estevam

[permalink] [raw]
Subject: Re: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi Peng,

On Wed, Jul 3, 2019 at 11:10 PM Peng Ma <[email protected]> wrote:

> So we need this patch, I make some changes,Please help me to test attatchment on VF50 board,

You need to change the Subject to something like:

Subject: [PATCH] dmaengine: fsl-edma: Add support for LS1028A

Also, in the commit log, please change "Our platforms" to "LS1028A"

Please remove this part: "Current eDMA driver does not support Little endian"

,which is not correct.

2019-07-04 12:59:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

On Thu, 4 Jul 2019 at 04:10, Peng Ma <[email protected]> wrote:
>
> Hi Krzysztof,
>
> I am sorry, It is my mistake to forget about VF50 used EDMA IP with little endian.
> The Register(CHCFG0 - CHCFG15) of our platform designed as follows:
> *-------------------------------------------------------------------------------*
> | Offset | Big endian Register| Little endian Register|
> |---------------------|--------------------------|-----------------------------|
> | 0x0 | CHCFG0 | CHCFG3 |
> |---------------------|--------------------------|-----------------------------|
> | 0x1 | CHCFG1 | CHCFG2 |
> |---------------------|--------------------------|-----------------------------|
> | 0x2 | CHCFG2 | CHCFG1 |
> |---------------------|--------------------------|-----------------------------|
> | 0x3 | CHCFG3 | CHCFG0 |
> |---------------------|--------------------------|-----------------------------|
> | ... | ...... | ...... |
> |---------------------|--------------------------|-----------------------------|
> | 0xC | CHCFG12 | CHCFG15 |
> |---------------------|--------------------------|-----------------------------|
> | 0xD | CHCFG13 | CHCFG14 |
> |---------------------|--------------------------|-----------------------------|
> | 0xE | CHCFG14 | CHCFG13 |
> |---------------------|--------------------------|-----------------------------|
> | 0xF | CHCFG15 | CHCFG12 |
> *-------------------------------------------------------------------------------*
>
> So we need this patch, I make some changes,Please help me to test attatchment on VF50 board,
> Thanks.

With the patch VF50 boots fine.

BTW, Colibri VF50 nicely boots from network almost out of the box so
it is easy to add it to automated tests for simple boot tests. This
way you do not have to manually test it on such platform...

Best regards,
Krzysztof

2019-07-05 02:08:17

by Peng Ma

[permalink] [raw]
Subject: RE: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi Krzysztof,

Got it. Thanks for your help

Best Regards,
Peng
>-----Original Message-----
>From: Krzysztof Kozlowski <[email protected]>
>Sent: 2019年7月4日 20:57
>To: Peng Ma <[email protected]>
>Cc: Vinod Koul <[email protected]>; [email protected];
>[email protected]; Fabio Estevam <[email protected]>; Leo
>Li <[email protected]>; Andy Tang <[email protected]>
>Subject: Re: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine:
>fsl-edma: support little endian for edma driver"
>
>Caution: EXT Email
>
>On Thu, 4 Jul 2019 at 04:10, Peng Ma <[email protected]> wrote:
>>
>> Hi Krzysztof,
>>
>> I am sorry, It is my mistake to forget about VF50 used EDMA IP with little
>endian.
>> The Register(CHCFG0 - CHCFG15) of our platform designed as follows:
>> *---------------------------------------------------------------------
>> ----------*
>> | Offset | Big endian Register| Little endian Register|
>> |---------------------|--------------------------|-----------------------------|
>> | 0x0 | CHCFG0 | CHCFG3 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0x1 | CHCFG1 | CHCFG2 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0x2 | CHCFG2 | CHCFG1 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0x3 | CHCFG3 | CHCFG0 |
>> |---------------------|--------------------------|-----------------------------|
>> | ... | ...... | ...... |
>> |---------------------|--------------------------|-----------------------------|
>> | 0xC | CHCFG12 | CHCFG15 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0xD | CHCFG13 | CHCFG14 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0xE | CHCFG14 | CHCFG13 |
>> |---------------------|--------------------------|-----------------------------|
>> | 0xF | CHCFG15 | CHCFG12 |
>> *---------------------------------------------------------------------
>> ----------*
>>
>> So we need this patch, I make some changes,Please help me to test
>> attatchment on VF50 board, Thanks.
>
>With the patch VF50 boots fine.
>
>BTW, Colibri VF50 nicely boots from network almost out of the box so it is easy
>to add it to automated tests for simple boot tests. This way you do not have to
>manually test it on such platform...
>
>Best regards,
>Krzysztof

2019-07-05 02:09:31

by Peng Ma

[permalink] [raw]
Subject: RE: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine: fsl-edma: support little endian for edma driver"

Hi Fabio,

Thanks very much for your suggestion, I will do some changes then to
Send upstream review.

Best Regards,
Peng
>-----Original Message-----
>From: Fabio Estevam <[email protected]>
>Sent: 2019年7月4日 20:07
>To: Peng Ma <[email protected]>
>Cc: Krzysztof Kozłowski <[email protected]>; Vinod Koul
><[email protected]>; [email protected];
>[email protected]; Fabio Estevam <[email protected]>; Leo
>Li <[email protected]>; Andy Tang <[email protected]>
>Subject: Re: [EXT] [BUG BISECT] Net boot fails on VF50 after "dmaengine:
>fsl-edma: support little endian for edma driver"
>
>Caution: EXT Email
>
>Hi Peng,
>
>On Wed, Jul 3, 2019 at 11:10 PM Peng Ma <[email protected]> wrote:
>
>> So we need this patch, I make some changes,Please help me to test
>attatchment on VF50 board,
>
>You need to change the Subject to something like:
>
>Subject: [PATCH] dmaengine: fsl-edma: Add support for LS1028A
>
>Also, in the commit log, please change "Our platforms" to "LS1028A"
>
>Please remove this part: "Current eDMA driver does not support Little endian"
>
>,which is not correct.