2009-04-08 09:14:29

by Wolfgang Mües

[permalink] [raw]
Subject: [PATCH] mmc_spi: speedup for slow cards, less wear-out

From: Wolfgang Muees <[email protected]>

o Speedup for slow cards by transfering more data at once.
This patch also reduces the amount of wear-out of the flash
blocks because fewer partial blocks are written.

Signed-off-by: Wolfgang Muees <[email protected]>

---

diff -uprN 2_6_29_rc7_patch1253467/drivers/mmc/host/mmc_spi.c 2_6_29_rc7_patch_wearout_speedup/drivers/mmc/host/mmc_spi.c
--- 2_6_29_rc7_patch1253467/drivers/mmc/host/mmc_spi.c 2009-04-07 17:19:21.000000000 +0200
+++ 2_6_29_rc7_patch_wearout_speedup/drivers/mmc/host/mmc_spi.c 2009-04-08 11:11:20.000000000 +0200
@@ -97,6 +97,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

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

@@ -1366,6 +1374,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: [email protected]
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


2009-04-10 22:04:55

by Pierre Ossman

[permalink] [raw]
Subject: Re: [PATCH] mmc_spi: speedup for slow cards, less wear-out

On Wed, 8 Apr 2009 10:14:07 +0100
Wolfgang Mües <[email protected]> wrote:

> From: Wolfgang Muees <[email protected]>
>
> o Speedup for slow cards by transfering more data at once.
> This patch also reduces the amount of wear-out of the flash
> blocks because fewer partial blocks are written.
>
> Signed-off-by: Wolfgang Muees <[email protected]>
>

Looks ok. Queued.

Rgds
--
-- Pierre Ossman

WARNING: This correspondence is being monitored by the
Swedish government. Make sure your server uses encryption
for SMTP traffic and consider using PGP for end-to-end
encryption.


Attachments:
signature.asc (198.00 B)