android_kernel_motorola_sm6225/drivers/mmc/host
Adrian Hunter 4a694dc915 omap_hsmmc: Fix response type for busy after response
Some MMC commands result in the card becoming busy after
the response is received.  This needs to be specified
for the omap_hsmmc host controller, which is what this
patch does.  However, the effect is that some commands
with no data will cause a Transfer Complete (TC) interrupt
in addition to the Command Complete (CC) interrupt.
In order to deal with that, the irq handler has needed
a few changes also.

The benefit of this change is that the omap_hsmmc host
controller driver now waits for the TC interrupt while
the card is busy, so the mmc_block driver needs to poll
the card status just once instead of repeatedly.
i.e. the net result is more sleep and less cpu.

The command sequence for open-ended multi-block write
with DMA is now:

	Issue write command CMD25
	Receive CC interrupt
	Data is sent
	Receive TC interrupt (DMA is done)
	Issue stop command CMD12
	Receive CC interrupt
	Card is busy
	Receive TC interrupt
	Card is now ready for next transfer

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
2009-03-24 21:30:04 +01:00
..
at91_mci.c mmc: at91_mci: reorder timer setup and mmc_add_host() call 2008-11-30 23:52:44 +01:00
atmel-mci-regs.h atmel-mci: Platform code for supporting multiple mmc slots 2008-10-05 20:39:21 +02:00
atmel-mci.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 21:29:57 +01:00
au1xmmc.c au1xmmc: raise segment size limit. 2008-08-01 19:04:26 +02:00
imxmmc.c imxmmc: use readl/writel 2008-12-16 14:58:17 +01:00
imxmmc.h imxmmc: use readl/writel 2008-12-16 14:58:17 +01:00
Kconfig mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
Makefile mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mmc_spi.c mmc_spi: wait more bytes for card response 2009-03-24 21:30:02 +01:00
mmci.c mmci: Add support for ST Micro derivate 2009-02-02 20:57:06 +01:00
mmci.h mmci: Add support for ST Micro derivate 2009-02-02 20:57:06 +01:00
mvsdio.c mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mvsdio.h mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mxcmmc.c mmc: Add a MX2/MX3 specific SDHC driver 2009-02-02 20:57:05 +01:00
of_mmc_spi.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 21:29:57 +01:00
omap.c omap mmc: Add low-level initialization for hsmmc controller 2008-12-10 17:37:17 -08:00
omap_hsmmc.c omap_hsmmc: Fix response type for busy after response 2009-03-24 21:30:04 +01:00
pxamci.c pxamci: enable DMA for write ops after CMD/RESP 2009-02-02 20:57:07 +01:00
pxamci.h [ARM] pxa: mmc: add 1st host controller support for pxa3xx 2008-01-26 15:07:53 +00:00
ricoh_mmc.c ricoh_mmc: Use suspend_late/resume_early 2009-02-02 20:57:06 +01:00
s3cmci.c mmc: s3cmci: fix s3c2410_dma_config() arguments. 2009-03-12 16:20:24 -07:00
s3cmci.h s3cmci: Support transfers which are not multiple of 32 bits. 2008-10-15 18:05:14 +02:00
sdhci-pci.c sdhci: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip 2009-03-02 21:48:20 +01:00
sdhci.c sdhci: Add quirk for controllers with no end-of-busy IRQ 2009-03-02 21:46:35 +01:00
sdhci.h sdhci: Add quirk for controllers with no end-of-busy IRQ 2009-03-02 21:46:35 +01:00
sdricoh_cs.c Merge branch 'master' of ../mmc 2008-12-31 19:56:05 +01:00
tifm_sd.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
tmio_mmc.c tmio_mmc: Fix use after free in remove() 2009-03-24 21:30:03 +01:00
tmio_mmc.h MMC: tmio_mmc.h: fix build problem 2009-03-24 21:30:03 +01:00
wbsd.c mmc: remove multiwrite capability 2008-07-15 14:14:49 +02:00
wbsd.h mmc: update header file paths 2007-07-26 01:53:31 +02:00