[PATCH 9/7] mmc_spi: speedup for slow cards

From: Wolfgang Mües
Date: Thu Mar 12 2009 - 10:45:40 EST


From: Wolfgang Muees <wolfgang.mues@xxxxxxxxxxxx>

o Speedup for slow cards by transfering more data at once.

Signed-off-by: Wolfgang Muees <wolfgang.mues@xxxxxxxxxxxx>

---

diff -uprN 2_6_29_rc7_patch8_documentation/drivers/mmc/host/mmc_spi.c 2_6_29_rc7_patch9_speedup/drivers/mmc/host/mmc_spi.c
--- 2_6_29_rc7_patch8_documentation/drivers/mmc/host/mmc_spi.c 2009-03-12 10:54:24.000000000 +0100
+++ 2_6_29_rc7_patch9_speedup/drivers/mmc/host/mmc_spi.c 2009-03-12 14:35:27.000000000 +0100
@@ -111,6 +111,14 @@
*/
#define r1b_timeout (HZ * 3)

+/* One of the critical speed parameters is the amount of data which may
+ * be transfered in one command. If this value is too low, the SD card
+ * controller has to do multiple partial block writes (argggh!). With
+ * today (2008) SD cards there is little speed gain if we transfer more
+ * than 64 KBytes at a time. So use this value until there is any indication
+ * that we should do more here.
+ */
+#define MMC_SPI_BLOCKSATONCE 128

/****************************************************************************/

@@ -1381,6 +1389,10 @@ static int mmc_spi_probe(struct spi_devi

mmc->ops = &mmc_spi_ops;
mmc->max_blk_size = MMC_SPI_BLOCKSIZE;
+ mmc->max_hw_segs = MMC_SPI_BLOCKSATONCE;
+ mmc->max_phys_segs = MMC_SPI_BLOCKSATONCE;
+ mmc->max_req_size = MMC_SPI_BLOCKSATONCE * MMC_SPI_BLOCKSIZE;
+ mmc->max_blk_count = MMC_SPI_BLOCKSATONCE;

mmc->caps = MMC_CAP_SPI;

---
regards

i. A. Wolfgang Mües
--
Auerswald GmbH & Co. KG
Hardware Development
Telefon: +49 (0)5306 9219 0
Telefax: +49 (0)5306 9219 94
E-Mail: Wolfgang.Mues@xxxxxxxxxxxx
Web: http://www.auerswald.de
 
--------------------------------------------------------------
Auerswald GmbH & Co. KG, Vor den Grashöfen 1, 38162 Cremlingen
Registriert beim AG Braunschweig HRA 13289
p.h.G Auerswald Geschäftsführungsges. mbH
Registriert beim AG Braunschweig HRB 7463
Geschäftsführer: Dipl-Ing. Gerhard Auerswald
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/