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

Reply via email to