fsldma seems to be buggy, noticed in loop mode

6 messages, 2 authors, 2008-03-13 · open the first message on its own page

fsldma seems to be buggy, noticed in loop mode

From: Sebastian Siewior <hidden>
Date: 2008-03-12 18:04:25

Hello,

I have a little kmod where I dma data from one place to another (can
post it if someone wants to see it). It works in general according to
memcmp :)

If I set the DAHE flag (DAHTS = 0, for one byte transfers) everything
seems to work as well (I see only the last byte which has the correct
value).
Now if I change the destination address to my FIFO I get the requested
transfer size plus some extra bytes. The extra bytes are looking like
exactly the same DMA transfer once again. Then my FIFO overruns.
Enabling some printks in the kernel gave me the following log:

|of-fsl-dma-channel e0021100.dma-channe: new link desc alloc df32a000
|of-fsl-dma-channel e0021100.dma-channe: --memcpy issue--
|of-fsl-dma-channel e0021100.dma-channe: Ch 0, LD 1f32a000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 0: 00050000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 1: 1f0be000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 2: 00050000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 3: 1f36c000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 4: 00000000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 5: 00000001
|of-fsl-dma-channel e0021100.dma-channe: LD offset 6: 00000100
|of-fsl-dma-channel e0021100.dma-channe: LD offset 7: 00000000
|of-fsl-dma-channel e0021100.dma-channe: ----------------
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: chan completed_cookie = 1

18 more lines

RE: fsldma seems to be buggy, noticed in loop mode

From: Zhang Wei <hidden>
Date: 2008-03-13 07:03:59

Hi, Sebastian

Could you please apply these two patches and test again?

http://lkml.org/lkml/2008/3/10/64
http://lkml.org/lkml/2008/3/13/36

Thanks!
Wei.
-----Original Message-----
From: Sebastian Siewior [mailto:<redacted>]=20
Sent: Thursday, March 13, 2008 2:04 AM
To: <redacted>
Cc: Zhang Wei
Subject: fsldma seems to be buggy, noticed in loop mode
=20
Hello,
=20
I have a little kmod where I dma data from one place to another (can
post it if someone wants to see it). It works in general according to
memcmp :)
=20
If I set the DAHE flag (DAHTS =3D 0, for one byte transfers) =
everything
seems to work as well (I see only the last byte which has the correct
value).
Now if I change the destination address to my FIFO I get the requested
transfer size plus some extra bytes. The extra bytes are looking like
exactly the same DMA transfer once again. Then my FIFO overruns.
Enabling some printks in the kernel gave me the following log:
=20
|of-fsl-dma-channel e0021100.dma-channe: new link desc alloc df32a000
|of-fsl-dma-channel e0021100.dma-channe: --memcpy issue--
|of-fsl-dma-channel e0021100.dma-channe: Ch 0, LD 1f32a000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 0: 00050000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 1: 1f0be000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 2: 00050000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 3: 1f36c000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 4: 00000000
|of-fsl-dma-channel e0021100.dma-channe: LD offset 5: 00000001
|of-fsl-dma-channel e0021100.dma-channe: LD offset 6: 00000100
|of-fsl-dma-channel e0021100.dma-channe: LD offset 7: 00000000
|of-fsl-dma-channel e0021100.dma-channe: ----------------
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20
from 0x000000001f32a000
|of-fsl-dma-channel e0021100.dma-channe: xfer LDs staring=20

27 more quoted lines

Re: fsldma seems to be buggy, noticed in loop mode

From: Sebastian Siewior <hidden>
Date: 2008-03-13 09:13:14

* Zhang Wei | 2008-03-13 15:03:54 [+0800]:
Could you please apply these two patches and test again?

http://lkml.org/lkml/2008/3/10/64
http://lkml.org/lkml/2008/3/13/36
Ui, that fast. Did you find this on your own or after me reporting that
bug?
It solves my FIFO problem, thanks.
Thanks!
Wei.
 Sebastian

RE: fsldma seems to be buggy, noticed in loop mode

From: Zhang Wei <hidden>
Date: 2008-03-13 09:17:39

-----Original Message-----
From: Sebastian Siewior [mailto:<redacted>]=20
=20
* Zhang Wei | 2008-03-13 15:03:54 [+0800]:
=20
quoted
Could you please apply these two patches and test again?

http://lkml.org/lkml/2008/3/10/64
http://lkml.org/lkml/2008/3/13/36
Ui, that fast. Did you find this on your own or after me=20
reporting that
bug?
It solves my FIFO problem, thanks.
=20
Just after you reported. :)

Cheers!
Wei.

Re: fsldma seems to be buggy, noticed in loop mode

From: Sebastian Siewior <hidden>
Date: 2008-03-13 09:20:13

* Zhang Wei | 2008-03-13 17:17:31 [+0800]:
Just after you reported. :)
okey. Do you want me to add a tested by on lkml?
Cheers!
Wei.
 Sebastian

RE: fsldma seems to be buggy, noticed in loop mode

From: Zhang Wei <hidden>
Date: 2008-03-13 09:23:24

-----Original Message-----
From: Sebastian Siewior [mailto:<redacted>]=20
=20
* Zhang Wei | 2008-03-13 17:17:31 [+0800]:
=20
quoted
Just after you reported. :)
okey. Do you want me to add a tested by on lkml?
=20
it's my pleasure!

Thanks!
Wei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help