linux_dsm_epyc7002/drivers/mmc/host
Sahitya Tummala b08bb35d1a mmc: msm_sdcc: Reset SDCC in case of data transfer errors
SDCC uses an asynchronous FIFOs for data synchronization (one for TX
and one for RX).  For any error when DPSM (Data path state machine) is
involved the transfer is terminated with the remaining data stuck inside
FIFOs. Reset the controller in case of data errors to ensure that
any left over data in FIFOs is flushed out and DPSM is in good state.

The following problems are observed without this reset functionality -

1. After the card is removed in an unsafe way (removed when there
is an on going data transfer), the card will not be detected upon
its next insertion.  This is because the controller wouldn't respond
to few initialization commands.

2. When an error occurs for a data transfer in non-DMA mode, sometimes
we get spurious PIO interrupt after the request is processed.

Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: David Brown <davidb@codeaurora.org>
2010-12-20 12:28:31 -08:00
..
at91_mci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
atmel-mci-regs.h atmel-mci: add MCI2 register definitions 2009-06-13 22:43:01 +02:00
atmel-mci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
au1xmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
bfin_sdh.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
cb710-mmc.c mmc: cb710: remove debugging printk (info duplicated from mmc-core) 2010-10-23 21:11:21 +08:00
cb710-mmc.h mmc: Driver for CB710/720 memory card reader (MMC part) 2009-06-13 22:42:58 +02:00
davinci_mmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
imxmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
imxmmc.h imxmmc: use readl/writel 2008-12-16 14:58:17 +01:00
jz4740_mmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2010-10-28 09:33:42 -07:00
Makefile mmc: add new sdhci-pxa driver for Marvell SoCs 2010-10-25 09:29:07 +08:00
mmc_spi.c mmc_spi: Recover from CRC errors for r/w operation over SPI. 2010-10-23 21:11:22 +08:00
mmci.c mmc: Move regulator handling closer to core 2010-10-23 21:11:16 +08:00
mmci.h ARM: 6437/2: mmci: add some register defines for ST Micro variants 2010-10-11 22:54:34 +01:00
msm_sdcc.c mmc: msm_sdcc: Reset SDCC in case of data transfer errors 2010-12-20 12:28:31 -08:00
msm_sdcc.h mmc: msm_sdcc: Add prog done interrupt support 2010-12-20 12:28:30 -08:00
mvsdio.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
mvsdio.h mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mxcmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
of_mmc_spi.c of: Always use 'struct device.of_node' to get device node pointer. 2010-05-18 16:10:44 -06:00
omap_hsmmc.c mfd: Adding twl6030 mmc card detect support for MMC1 2010-10-29 00:29:59 +02:00
omap.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
pxamci.c mmc: Move regulator handling closer to core 2010-10-23 21:11:16 +08:00
pxamci.h [ARM] pxa: mmc: add 1st host controller support for pxa3xx 2008-01-26 15:07:53 +00:00
s3cmci.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
s3cmci.h s3cmci: DMA fixes 2009-10-01 16:11:15 -07:00
sdhci-cns3xxx.c mmc: sdhci-pltfm: move .h file into appropriate subdir 2010-10-23 21:11:21 +08:00
sdhci-esdhc-imx.c mmc: sdhci-pltfm: add -pltfm driver for imx35/51 2010-10-23 21:11:22 +08:00
sdhci-esdhc.h mmc: sdhci-of-esdhc: factor out common stuff 2010-10-23 21:11:22 +08:00
sdhci-of-core.c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2010-08-12 09:11:31 -07:00
sdhci-of-esdhc.c mmc: sdhci-of-esdhc: factor out common stuff 2010-10-23 21:11:22 +08:00
sdhci-of-hlwd.c sdhci: build fix: rename SDHCI I/O accessor functions 2010-05-27 09:12:40 -07:00
sdhci-of.h sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-pci.c mmc: sdhci: Add Moorestown device support 2010-10-23 21:11:19 +08:00
sdhci-pltfm.c mmc: sdhci-pltfm: add -pltfm driver for imx35/51 2010-10-23 21:11:22 +08:00
sdhci-pltfm.h mmc: sdhci-pltfm: add -pltfm driver for imx35/51 2010-10-23 21:11:22 +08:00
sdhci-pxa.c mmc: add new sdhci-pxa driver for Marvell SoCs 2010-10-25 09:29:07 +08:00
sdhci-s3c.c mmc: sdhci-s3c: fix NULL ptr access in sdhci_s3c_remove 2010-09-26 16:27:05 -04:00
sdhci-spear.c sdhci-spear: ST SPEAr based SDHCI controller glue 2010-05-27 09:12:40 -07:00
sdhci.c mmc: sdhci: introduce get_ro private write-protect hook 2010-10-23 21:11:21 +08:00
sdhci.h mmc: sdhci: introduce get_ro private write-protect hook 2010-10-23 21:11:21 +08:00
sdricoh_cs.c pcmcia: move driver name to struct pcmcia_driver 2010-09-29 17:20:24 +02:00
sh_mmcif.c mmc: Allow the platform to specify the sh_mmcif get_cd handler 2010-10-29 00:29:13 +02:00
tifm_sd.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
tmio_mmc.c mmc: Allow 2 byte requests in 4-bit mode for tmio_mmc 2010-10-29 00:29:16 +02:00
tmio_mmc.h mmc: fix the use of kunmap_atomic() in tmio_mmc.h 2010-09-09 18:57:23 -07:00
ushc.c mmc: USB SD Host Controller (USHC) driver 2010-10-23 21:11:11 +08:00
via-sdmmc.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
wbsd.c mmc: Remove distinction between hw and phys segments 2010-10-23 21:11:11 +08:00
wbsd.h mmc: update header file paths 2007-07-26 01:53:31 +02:00