This patch truly enables CONFIG_MMC_BLOCK_BOUNCE feature by setting the hw/phys
segs to 1 without which the feature is not exploited as large/bounce buffers of
size 64KB are not used for any of read/write transaction. Without this patch,
smaller buffers are used whose sizes vary from 512 Bytes to 32KB. In my testing
with a SD Extreme III high speed 2GB SD card using FAT file system performance
improvement of about 10% for write and 40% for reads has been observed. Write
and Read speed without this patch was 5.2Mbytes/sec and 6.5Mbytes/sec
respectively whereas write and read performance with this patch has jumped to
5.9Mbytes/sec and 9MBytes/sec, respectively.
Signed-off-by: Purushotam Kumar <[EMAIL PROTECTED]>
---
Index: linux-davinci-2.6/drivers/mmc/host/davinci_mmc.c
===================================================================
--- linux-davinci-2.6.orig/drivers/mmc/host/davinci_mmc.c
+++ linux-davinci-2.6/drivers/mmc/host/davinci_mmc.c
@@ -1348,8 +1348,13 @@ static int davinci_mmcsd_probe(struct pl
#endif
mmc->ocr_avail = MMC_VDD_32_33;
+#ifdef CONFIG_MMC_BLOCK_BOUNCE
+ mmc->max_phys_segs = 1;
+ mmc->max_hw_segs = 1;
+#else
mmc->max_phys_segs = 2;
mmc->max_hw_segs = 2;
+#endif
mmc->max_blk_size = 4095; /* BLEN is 11 bits */
mmc->max_blk_count = 65535; /* NBLK is 16 bits */
mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count;
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source