linux/drivers/mmc/host
San Mehat 56a8b5b8ae mmc: msm_sdcc: Reduce command timeouts and improve reliability.
Based on an original patch by Brent DeGraaf:

"Previous versions of the SD driver were beset with excessive command
timeouts. These timeouts were silent by default, but happened
frequently, especially during heavy system activity and concurrent
access of two or more SD devices. Worst case, these timeouts would
occasionally hit at the end of a successful write, resulting in false
failures that could adversely affect journaling file systems if timing
was unfortunate. This update tightens the association and timing between
dma transfers and the commands that trigger them by utilizing a new api
implemented in the datamover.  In addition, it also fixes a dma cache
coherency issue that was exposed during testing of this fix that
occasionally resulted in card corruption.  Processing of results in the
interrupt status routine was modified to process command results prior to
data because overwritten command results were observed during testing
since the data section can result in command issuances of its own.
This change also eliminates the software command timeout, relying entirely
on the hardware version, since the software timeout was found to cause
problems of its own after extensive testing (having hardware timer and
software timers addressing the same issue was found to cause a race
condition under heavy system load)."

This change originally added PROG_DONE handling, which has been split out
into a separate patch. Also on our platform, the data mover driver maintains
coherency to ensure API reliability, so the above mentioned cache corruption
issue was not an issue for us.

Signed-off-by: San Mehat <san@google.com>
Cc: Brian Swetland <swetland@google.com>

Change-Id: Ifbf17cfafb858106d73bf49af52b5161a265a484
Signed-off-by: San Mehat <san@google.com>
Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-03-18 13:16:09 -07:00
..
Kconfig sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
Makefile sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
at91_mci.c mmc: at91_mci: Don't include asm/mach/mmc.h 2009-10-22 08:22:25 +09:00
atmel-mci-regs.h atmel-mci: add MCI2 register definitions 2009-06-13 22:43:01 +02:00
atmel-mci.c mmc: atmel-mci: new MCI2 module support in atmel-mci driver 2009-12-15 08:53:35 -08:00
au1xmmc.c
bfin_sdh.c mmc: Blackfin SD Host Controller Driver 2009-12-15 08:53:35 -08:00
cb710-mmc.c cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG 2009-07-31 12:28:46 +02:00
cb710-mmc.h
davinci_mmc.c davinci: mmc: add cpufreq support 2009-12-15 08:53:34 -08:00
imxmmc.c imxmmc: Remove unnecessary semicolons 2009-07-31 12:28:46 +02:00
imxmmc.h
mmc_spi.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
mmci.c ARM: 5785/1: Use ST vendor enum instead of numeral 2009-11-24 10:06:26 +00:00
mmci.h ARM: 5721/1: MMCI enable the use of a regulator 2009-09-22 20:49:05 +01:00
msm_sdcc.c mmc: msm_sdcc: Reduce command timeouts and improve reliability. 2010-03-18 13:16:09 -07:00
msm_sdcc.h mmc: msm_sdcc: Reduce command timeouts and improve reliability. 2010-03-18 13:16:09 -07:00
mvsdio.c mvsdio: fix handling of partial word at the end of PIO transfer 2009-07-20 16:46:34 -07:00
mvsdio.h
mxcmmc.c mxcmmc: fix error path in mxcmci_probe 2009-12-15 08:53:34 -08:00
of_mmc_spi.c mmc: fix missing module license declaration in of_mmc_spi.c 2009-11-04 22:43:35 -07:00
omap.c mmci-omap: remove bogus check for host->iclk 2009-12-15 08:53:34 -08:00
omap_hsmmc.c Merge branch '7xx-iosplit-plat' with omap-fixes 2009-11-10 18:10:34 -08:00
pxamci.c const: constify remaining dev_pm_ops 2009-12-15 08:53:25 -08:00
pxamci.h
ricoh_mmc.c
s3cmci.c s3cmci: convert missed s3c2410_gpio calls to gpiolib calls 2009-12-15 08:53:35 -08:00
s3cmci.h s3cmci: DMA fixes 2009-10-01 16:11:15 -07:00
sdhci-of-core.c sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-of-esdhc.c sdhci-of: reorganize driver to support additional hardware 2009-12-17 15:45:31 -08:00
sdhci-of-hlwd.c sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-of.h sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-pci.c sdhci: add support for the SysKonnect CardBus2SDIO adapter 2009-12-15 08:53:34 -08:00
sdhci-pltfm.c
sdhci-s3c.c sdhci: Add SDHCI_QUIRK_NO_MULTIBLOCK quirk 2009-06-21 21:00:58 +02:00
sdhci.c sdhci: increase timeout for internal clock stabilization. 2009-09-23 07:39:40 -07:00
sdhci.h sdhci: protect header file against multi inclusion 2009-12-17 15:45:31 -08:00
sdricoh_cs.c
tifm_sd.c
tmio_mmc.c mmc: let tmio-mmc use dev_name() with request_irq() 2009-12-15 08:53:35 -08:00
tmio_mmc.h tmio_mmc: add bus_shift support 2009-06-13 22:43:00 +02:00
via-sdmmc.c mmc: Add new via-sdmmc host controller driver 2009-06-21 21:00:59 +02:00
wbsd.c
wbsd.h