[PATCH] arm: mmci: Add ARM variant with extended FIFO

Pawel Moll pawel.moll at arm.com
Wed Mar 16 12:53:02 EDT 2011


> > > New IO FPGA implementation for Versatile Express boards contain
> > > MMCI (PL180) cell with FIFO extended to 128 words (512 bytes).
> > > 
> > > Signed-off-by: Pawel Moll <pawel.moll at arm.com>
> > 
> > Tested-by: Matt Waddel <matt.waddel at linaro.org>
> > 
> > This patch improves MMC performance on my vexpress system. Also
> > fixes "mmcblk0: error -5 transferring data" errors.
> 
> You should use the patch I sent to do dynamic clocking if you're
> concerned about performance.  That patch improves performance by
> a factor of 8 compared to anything possible by increasing the FIFO
> depth.
> 
> I am very much of the opinion that deepening the FIFOs is just a
> sticky plaster over the problem - and I said as much when it was
> first proposed, pointing out that there's other better solutions.

# cat /sys/devices/mb\:mmci/id                             
01041180
# cat /sys/module/mmci/parameters/fmax                     
12000000                                                                        
# dd if=/dev/mmcblk0 of=/dev/null bs=128k count=100        
100+0 records in                                                                
100+0 records out                                                               
13107200 bytes (13 MB) copied, 9.04218 s, 1.4 MB/s

Of course without the proper error handling, as introduced by your
patch, one will face the same problems with interrupt latency as
previously. But the peak performance seems to noticeably better...

Regards

Paweł

PS. The FPGA with extended MMCI FIFO will be available on the next VE CD
update, which is going to be released next month.





More information about the linux-arm-kernel mailing list