Does s3cmci driver support DMA data transfer?

Harald Welte laforge at
Fri Jan 11 22:42:42 CET 2008

On Wed, Jan 09, 2008 at 10:16:01PM +0800, Lonsn wrote:
> Hi:
> I'm now using s3cmci patch( and it works well. The SD card write speed is about 26Mbits/s(S3C2440A 400MHz, Sandisk UltraIII 2GB sd card).
> But the CPU load is too heavy(80%). So I want to let s3cmci driver work in DMA mode. I changed host->dodma = 1;

> But it doesn't work and the driver cann't detect the sd card. Does
> anyone use the s3cmci driver in DMA mode successfully?

I don't think anyone has used it with DMA in a long time (probably no
later than 2.6.14 or even 2.6.10).  There have been DMA API changes that
might not be reflected in the driver.

I strongly recommend you use the driver that is present in the 2.6.24.x
branch of the openmoko svn (which is also what has been submitted to
linux-arm-kernel some weeks back).

> Another question: Can sd card work speed be more than 25MHz? As I
> know, the maximum sdi clock of S3C2440A is 33MHz(APB clock=67MHz,
> prescaler value=1) and UltraIII sd card can support 40MHz
> frequency(20MBytes/s). If we can let s3cmci driver works in 33MHz
> modes, maybe the sd card IO performance could be increased a lot. But
> the sdi clock works only 22.5MHz(prescaler value=2) mode now.

I don't think anyone has tried this yet.

- Harald Welte <laforge at>         
Software for the world's first truly open Free Software mobile phone

More information about the openmoko-kernel mailing list