The following four patches make the MMC/SD driver use EDMA reload slots to make it get good throughput without needing to enable CONFIG_MMC_BLOCK_BOUNCE:
- Allocate EDMA slots when NR_SG > 1 ... at a typical one page per scatterlist entry, NR_SG = 16 pages is 64 KB, the same as the biggest bounce buffer. - Clean up some fault handling problems. With this, I was often able to get 12 MByte/sec throughput on a DM6446 EVM ... but that's out-of-spec and would not even be reproducible on some days. - Some minor code shrinkage ... I happened to notice needless indirections, code became smaller/clearer. - Kick in NR_SG=16 and use those slots. There's no longer any reason to enable CONFIG_MMC_BLOCK_BOUNCE with DaVinci; it won't kick in. If you were using CONFIG_MMC_BLOCK_BOUNCE before, you won't notice much difference ... except that more CPU time is available for Real Work, and sometimes you might need fewer I/O requests to transfer the data. If you didn't configure that, you'll see a significant speedup. - Dave p.s. If you recall that an earlier patch ripped out some EDMA linkage support ... that was NR_SG=2 and didn't work very well (AFAICT). p.p.s. After these merge, I think it's time for this driver to go to mainline. So if anyone has other patches for this code, or comments, pile on soon!! _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
