[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080922230435.GA20825@ovro.caltech.edu>
Date: Mon, 22 Sep 2008 16:04:35 -0700
From: Ira Snyder <iws@...o.caltech.edu>
To: Timur Tabi <timur@...escale.com>
Cc: Dan Williams <dan.j.williams@...el.com>,
linux-kernel@...r.kernel.org, maciej.sosnowski@...el.com,
leoli@...escale.com, zw@...kernel.org
Subject: Re: Problems with Freescale DMA driver
On Thu, Sep 18, 2008 at 05:02:51PM -0500, Timur Tabi wrote:
> Dan Williams wrote:
> > [adding Timur to the cc]
> >
> > On Mon, Aug 25, 2008 at 9:51 AM, Ira Snyder <iws@...o.caltech.edu> wrote:
> >> Hello LKML,
> >>
> >> I'm developing on a Freescale MPC8349EA MDS evaluation board. I'm
> >> currently testing the DMA controller. It uses the CONFIG_FSL_DMA driver.
> >>
> >> All tests were done with a recent git pull.
>
> I just posted two patches lkml that affect the FSL DMA driver:
>
> [PATCH v2] dmatest: properly handle duplicate DMA channels
> [PATCH] fsl-dma: allow Freescale Elo DMA driver to be compiled as a module
>
> Could you apply them both and re-run the tests?
>
I have tested today's git pull with your patches. I had to add the
cell-index property to each DMA channel in the dts for my board. I just
added them as 0, 1, 2, and 3 respectively.
When your patch makes it in, you should probably add the cell-index to
all of the dts files that are missing them.
I was still able to cause the "DMA Halt Timeout" error message (on
channel 0, just like in the previous report).
To cause this, I built a kernel with CONFIG_DMATEST=y and
CONFIG_NET_DMA=y. Then, I ran the following concurrently:
netperf -H localhost -l 600
netperf -H 192.168.17.65 -l 600
While they were running, I got the "DMA Halt Timeout" message 6 times.
Here is the output (all messages were the same):
of_platform e0008100.dma-channe: DMA halt timeout!
The following output leads me to believe that NET_DMA is using channel 0
only:
cat /sys/class/dma/*/memcpy_count
1278897
198585
198681
198591
I was not able to cause the DMA controller to copy bad data. Perhaps the
kernel just had a bug at the time. It was still relatively early on in
the development cycle.
> I will also try to duplicate this here on an 8360.
>
Thanks.
In a related note, I've been somewhat following the discussion on LKML
about creating an API for requesting a single DMA channel. This would be
great in a driver I've written for PCI communication over a backplane.
(I have a test board running in PCI Agent mode. It creates a virtual
ethernet interface that passes data over the PCI bus.)
Also, are there any plans to support the external start feature on the
83XX parts? (According to my datasheet, it is supported.) I will be
using this feature in a driver I will be starting fairly soon.
Thanks,
Ira
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists