* fsldma seems to be buggy, noticed in loop mode
@ 2008-03-12 18:04 Sebastian Siewior
2008-03-13 7:03 ` Zhang Wei
0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Siewior @ 2008-03-12 18:04 UTC (permalink / raw)
To: linuxppc-embedded
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
|of-fsl-dma-channel e0021100.dma-channe: link descriptor df32a000 will be recycle.
|of-fsl-dma-channel e0021100.dma-channe: chan completed_cookie = 1
|of-fsl-dma-channel e0021100.dma-channe: chan completed_cookie = 1
done.
I have one list entry which is df32a000. According to the output that
single request gets started a couple of times what would explain why the
FIFO overruns.
Is it possible that the driver does not properly recognize that the
transfer is finished _and_ that is the last one in line? Enabling the
dma self test Kconfig option shows no error message but the number of
interrupts that have been generated differ from channel to channel,
from boot to boot.
btw: It is a MPC8544 DS with -rc5.
thanks,
Sebastian
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: fsldma seems to be buggy, noticed in loop mode
2008-03-12 18:04 fsldma seems to be buggy, noticed in loop mode Sebastian Siewior
@ 2008-03-13 7:03 ` Zhang Wei
2008-03-13 9:13 ` Sebastian Siewior
0 siblings, 1 reply; 6+ messages in thread
From: Zhang Wei @ 2008-03-13 7:03 UTC (permalink / raw)
To: Sebastian Siewior, linuxppc-embedded
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:linuxppc-embedded@ml.breakpoint.cc]=20
> Sent: Thursday, March 13, 2008 2:04 AM
> To: linuxppc-embedded@ozlabs.org
> 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
> 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: chan completed_cookie =3D 1
> |of-fsl-dma-channel e0021100.dma-channe: link descriptor=20
> df32a000 will be recycle.
> |of-fsl-dma-channel e0021100.dma-channe: chan completed_cookie =3D 1
> |of-fsl-dma-channel e0021100.dma-channe: chan completed_cookie =3D 1
>=20
> done.=20
> I have one list entry which is df32a000. According to the output that
> single request gets started a couple of times what would=20
> explain why the
> FIFO overruns.
> Is it possible that the driver does not properly recognize that the
> transfer is finished _and_ that is the last one in line? Enabling the
> dma self test Kconfig option shows no error message but the number of
> interrupts that have been generated differ from channel to channel,
> from boot to boot.
>=20
> btw: It is a MPC8544 DS with -rc5.
>=20
> thanks,
> Sebastian
>=20
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsldma seems to be buggy, noticed in loop mode
2008-03-13 7:03 ` Zhang Wei
@ 2008-03-13 9:13 ` Sebastian Siewior
2008-03-13 9:17 ` Zhang Wei
0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Siewior @ 2008-03-13 9:13 UTC (permalink / raw)
To: Zhang Wei; +Cc: linuxppc-embedded
* 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: fsldma seems to be buggy, noticed in loop mode
2008-03-13 9:13 ` Sebastian Siewior
@ 2008-03-13 9:17 ` Zhang Wei
2008-03-13 9:20 ` Sebastian Siewior
0 siblings, 1 reply; 6+ messages in thread
From: Zhang Wei @ 2008-03-13 9:17 UTC (permalink / raw)
To: Sebastian Siewior; +Cc: linuxppc-embedded
> -----Original Message-----
> From: Sebastian Siewior [mailto:linuxppc-embedded@ml.breakpoint.cc]=20
>=20
> * Zhang Wei | 2008-03-13 15:03:54 [+0800]:
>=20
> >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.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: fsldma seems to be buggy, noticed in loop mode
2008-03-13 9:17 ` Zhang Wei
@ 2008-03-13 9:20 ` Sebastian Siewior
2008-03-13 9:23 ` Zhang Wei
0 siblings, 1 reply; 6+ messages in thread
From: Sebastian Siewior @ 2008-03-13 9:20 UTC (permalink / raw)
To: Zhang Wei; +Cc: linuxppc-embedded
* 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: fsldma seems to be buggy, noticed in loop mode
2008-03-13 9:20 ` Sebastian Siewior
@ 2008-03-13 9:23 ` Zhang Wei
0 siblings, 0 replies; 6+ messages in thread
From: Zhang Wei @ 2008-03-13 9:23 UTC (permalink / raw)
To: Sebastian Siewior; +Cc: linuxppc-embedded
> -----Original Message-----
> From: Sebastian Siewior [mailto:linuxppc-embedded@ml.breakpoint.cc]=20
>=20
> * Zhang Wei | 2008-03-13 17:17:31 [+0800]:
>=20
> >Just after you reported. :)
> okey. Do you want me to add a tested by on lkml?
>=20
it's my pleasure!
Thanks!
Wei
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-03-13 9:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-12 18:04 fsldma seems to be buggy, noticed in loop mode Sebastian Siewior
2008-03-13 7:03 ` Zhang Wei
2008-03-13 9:13 ` Sebastian Siewior
2008-03-13 9:17 ` Zhang Wei
2008-03-13 9:20 ` Sebastian Siewior
2008-03-13 9:23 ` Zhang Wei
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox