linux/drivers/mmc/host
Guennadi Liakhovetski 7a7eb3286b mmc: sh-mmcif: properly handle MMC_WRITE_MULTIPLE_BLOCK completion IRQ
Upon completion of a MMC_WRITE_MULTIPLE_BLOCK command MMCIF issues an IRQ
with the DTRANE bit set and often with one or several of CMD12 bits set.
If those interrupts are not acknowledged, an additional interrupt can be
produced and will be delivered later, possibly, when the transaction has
already been completed. To prevent this from happening, CMD12 completion
interrupt sources have to be cleared too upon reception of an DTRANE IRQ.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Tested-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Chris Ball <cjb@laptop.org>
2012-10-03 10:05:27 -04:00
..
at91_mci.c ARM: at91: code removal of CAP9 SoC 2012-02-03 13:33:05 +01:00
at91_mci.h mmc: at91_mci: move register header from include/ to drivers/ 2011-07-21 10:35:08 -04:00
atmel-mci-regs.h mmc: atmel-mci: AP700x PDC is not connected to MCI 2012-10-03 10:05:23 -04:00
atmel-mci.c mmc: atmel-mci: AP700x PDC is not connected to MCI 2012-10-03 10:05:23 -04:00
au1xmmc.c MIPS: Alchemy: Au1300 SoC support 2011-12-07 22:02:05 +00:00
bfin_sdh.c mmc: bfin_sdh: Reset SD controller when resume from power saving mode. 2012-09-04 13:58:20 -04:00
cb710-mmc.c mmc: convert drivers/mmc/host/* to use module_platform_driver() 2012-01-11 23:58:42 -05: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: davinci_mmc: convert to DMA engine API 2012-09-19 16:29:44 +08:00
dw_mmc-exynos.c mmc: dw_mmc: add support for exynos specific implementation of dw-mshc 2012-10-03 10:05:20 -04:00
dw_mmc-pci.c mmc: dw_mmc: convert copy of struct device in struct dw_mci to a reference 2012-10-03 10:05:13 -04:00
dw_mmc-pltfm.c mmc: dw_mmc: add support for implementation specific callbacks 2012-10-03 10:05:19 -04:00
dw_mmc-pltfm.h mmc: dw_mmc: add support for implementation specific callbacks 2012-10-03 10:05:19 -04:00
dw_mmc.c mmc: Revert "mmc: dw_mmc: Add check for IDMAC configuration" 2012-10-03 10:05:25 -04:00
dw_mmc.h mmc: dw_mmc: add support for implementation specific callbacks 2012-10-03 10:05:19 -04:00
jz4740_mmc.c mmc: convert drivers/mmc/host/* to use module_platform_driver() 2012-01-11 23:58:42 -05:00
Kconfig mmc: dw_mmc: add support for exynos specific implementation of dw-mshc 2012-10-03 10:05:20 -04:00
Makefile mmc: dw_mmc: add support for exynos specific implementation of dw-mshc 2012-10-03 10:05:20 -04:00
mmc_spi.c mmc: mmc_spi: Use module_spi_driver 2012-09-04 13:58:29 -04:00
mmci.c mmc: mmci: use clk_prepare_enable and clk_disable_unprepare 2012-10-03 10:05:21 -04:00
mmci.h ARM: 7280/1: mmc: mmci: Cache MMCICLOCK and MMCIPOWER register 2012-02-02 17:02:15 +00:00
msm_sdcc.c mmc: remove the second argument of k[un]map_atomic() 2012-01-11 23:58:42 -05:00
msm_sdcc.h mmc: msm_sdcc: Use MCI_INT_MASK0 for PIO interrupts 2011-10-26 15:43:37 -04:00
mvsdio.c ARM: Orion: fix driver probe error handling with respect to clk 2012-07-25 17:06:21 +02:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: fix bug that may block a data transfer forever 2012-10-03 10:05:24 -04:00
mxs-mmc.c mmc: mxs-mmc: fix deadlock caused by recursion loop 2012-09-04 13:58:06 -04:00
of_mmc_spi.c mmc: of_mmc_spi: fix little endian support 2012-02-13 20:38:58 -05:00
omap_hsmmc.c mmc: omap_hsmmc: Pass on the suspend failure to the PM core 2012-10-03 10:05:23 -04:00
omap.c mmc: omap: fix mmc_omap_report_irq to use dev_dbg macros 2012-09-04 13:58:22 -04:00
pxamci.c mmc: pxa-mci: add DT bindings 2012-09-04 13:58:12 -04:00
pxamci.h
s3cmci.c mmc: s3cmci: Convert s3cmci driver to gpiolib API 2012-07-22 15:25:44 -04:00
s3cmci.h s3cmci: DMA fixes 2009-10-01 16:11:15 -07:00
sdhci-cns3xxx.c mmc: convert drivers/mmc/host/* to use module_platform_driver() 2012-01-11 23:58:42 -05:00
sdhci-dove.c mmc: sdhci-dove: DT support for sdhci-dove 2012-09-04 13:58:15 -04:00
sdhci-esdhc-imx.c mmc: esdhc: Fix DMA_MASK to not break mx25 DMA access 2012-07-22 16:42:30 -04:00
sdhci-esdhc.h mmc: sdhci-esdhc: break out early if clock is 0 2012-09-04 13:58:06 -04:00
sdhci-of-esdhc.c mmc: eSDHC: Add ADMA mode support 2012-09-04 13:58:12 -04:00
sdhci-of-hlwd.c mmc: convert drivers/mmc/host/* to use module_platform_driver() 2012-01-11 23:58:42 -05:00
sdhci-pci-data.c mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdhci-pci.c mmc: sdhci-pci: Use module_pci_driver 2012-09-04 13:58:29 -04:00
sdhci-pltfm.c mmc: dt: Consolidate DT bindings 2012-05-15 13:29:42 +02:00
sdhci-pltfm.h mmc: sdhci: remove "state" argument from sdhci_suspend_host 2011-12-19 15:50:11 -08:00
sdhci-pxav2.c mmc: sdhci-pxav2, sdhci-pxav3: use clk_prepare/unprepare APIs 2012-09-04 13:58:15 -04:00
sdhci-pxav3.c mmc: sdhci-pxav3: dt: Support "cd-gpios" property 2012-09-19 16:29:12 +08:00
sdhci-s3c.c mmc: sdhci-s3c: Fix crash on module insertion for second time 2012-10-03 10:05:27 -04:00
sdhci-spear.c Viresh has moved 2012-06-20 14:39:36 -07:00
sdhci-tegra.c mmc: tegra: convert to device tree support only 2012-09-04 13:58:26 -04:00
sdhci.c mmc: sdhci: Test cd-gpio instead of SDHCI presence when probing 2012-09-19 16:29:45 +08:00
sdhci.h mmc: sdhci: if MAX_CURRENT is 0, try getting current from regulator 2012-07-21 00:02:22 -04:00
sdricoh_cs.c mmc: Add module.h to drivers/mmc users assuming implicit presence. 2011-10-26 16:32:19 -04:00
sh_mmcif.c mmc: sh-mmcif: properly handle MMC_WRITE_MULTIPLE_BLOCK completion IRQ 2012-10-03 10:05:27 -04:00
sh_mobile_sdhi.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-07-24 17:12:54 -07:00
tifm_sd.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
tmio_mmc_dma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
tmio_mmc_pio.c mmc: tmio: use generic GPIO CD and WP handlers 2012-07-21 00:02:20 -04:00
tmio_mmc.c mmc: convert drivers/mmc/host/* to use module_platform_driver() 2012-01-11 23:58:42 -05:00
tmio_mmc.h mmc: tmio_mmc: remove unused sdio_irq_enabled flag 2012-03-27 12:20:17 -04:00
ushc.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08:00
via-sdmmc.c mmc: via-sdmmc: Use module_pci_driver 2012-09-04 13:58:30 -04:00
vub300.c mmc: vub300: add missing usb_free_urb 2012-09-04 13:58:16 -04:00
wbsd.c mmc: replace printk with appropriate display macro 2011-10-26 16:32:22 -04:00
wbsd.h