linux/drivers/mmc/host
Micky Ching c42deffd5b mmc: rtsx: add support for pre_req and post_req
Add support for non-blocking request, pre_req() runs dma_map_sg() and
post_req() runs dma_unmap_sg(). This patch can increase card read/write
speed, especially for high speed card and slow CPU(for some embedded
platform).

Users can get a great benefit from this patch. if CPU frequency is 800MHz,
SDR104 or DDR50 card read/write speed may increase more than 15%.

test results:
intel i3(800MHz - 2.3GHz), SD card clock 208MHz

performance mode(2.3GHz):
Before:
dd if=/dev/mmcblk0p1 of=/dev/null bs=64k count=1024
67108864 bytes (67 MB) copied, 1.18191 s, 56.8 MB/s
After:
 dd if=/dev/mmcblk0p1 of=/dev/null bs=64k count=1024
67108864 bytes (67 MB) copied, 1.09276 s, 61.4 MB/s

powersave mode(800MHz):
Before:
dd if=/dev/mmcblk0p1 of=/dev/null bs=64k count=1024
67108864 bytes (67 MB) copied, 1.29569 s, 51.8 MB/s
After:
dd if=/dev/mmcblk0p1 of=/dev/null bs=64k count=1024
67108864 bytes (67 MB) copied, 1.11218 s, 60.3 MB/s

Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Signed-off-by: Chris Ball <chris@printf.net>
2014-02-22 13:34:20 -05:00
..
android-goldfish.c mmc: remove unnecessary platform_set_drvdata() 2013-05-26 14:23:23 -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: add vmmc-supply support 2014-01-13 13:03:40 -05:00
au1xmmc.c mmc: au1xmmc: Move away from using deprecated APIs 2013-10-30 20:26:35 -04:00
bfin_sdh.c mmc: bfin_sdh: Move away from using deprecated APIs 2013-10-30 20:26:36 -04:00
cb710-mmc.c mmc: cb710: Move away from using deprecated APIs 2013-10-30 20:26:37 -04:00
cb710-mmc.h mmc: host: use platform_{get,set}_drvdata() 2013-06-27 11:13:02 -04:00
davinci_mmc.c mmc: davinci_mmc: Move away from using deprecated APIs 2013-10-30 20:26:38 -04:00
dw_mmc-exynos.c mmc: dw_mmc: exynos: Revert the sdr_timing assignment 2013-11-08 14:27:39 -05:00
dw_mmc-k3.c mmc: dw_mmc: k3: remove clk_table 2014-01-17 17:59:17 -05:00
dw_mmc-pci.c mmc: dw_mmc-pci: enable bus-mastering mode 2013-08-25 00:10:12 -04:00
dw_mmc-pltfm.c mmc: dw_mmc: move the platform specific init call 2013-09-25 21:32:40 -04:00
dw_mmc-pltfm.h mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
dw_mmc-socfpga.c mmc: dw_mmc-socfpga: Staticize dw_mci_socfpga_probe 2013-09-25 21:57:35 -04:00
dw_mmc.c mmc: dw_mmc: fix dw_mci_get_cd 2014-01-17 09:21:38 -05:00
dw_mmc.h mmc: dw_mmc: control card read threshold 2013-09-25 21:34:39 -04:00
jz4740_mmc.c mmc: jz4740: Move away from using deprecated APIs 2013-10-30 20:26:40 -04:00
Kconfig MMC highlights for 3.14: 2014-01-26 11:00:41 -08:00
Makefile mmc: arasan: Add driver for Arasan SDHCI 2014-01-13 12:48:34 -05:00
mmc_spi.c mmc: mmc_spi: Remove platform data .get_cd() and .get_ro() callbacks 2013-08-24 23:58:06 -04:00
mmci.c ARM: 7906/1: mmc: mmci: Remove unnecessary amba_set_drvdata() 2013-12-29 12:32:36 +00:00
mmci.h ARM: 7831/1: mmc: mmci: Adapt to new pinctrl handling 2013-09-19 20:12:23 +01:00
msm_sdcc.c mmc: msm_sdcc: Move away from using deprecated APIs 2013-10-30 20:26:41 -04:00
msm_sdcc.h
mvsdio.c MMC highlights for 3.13: 2013-11-18 14:47:30 -08:00
mvsdio.h
mxcmmc.c mmc: mxcmmc: Move away from using deprecated APIs 2013-10-30 20:28:26 -04:00
mxs-mmc.c mmc: mxs: use mmc_of_parse to parse devicetree properties 2014-01-13 12:48:21 -05:00
of_mmc_spi.c mmc: mmc_spi: Support CD/RO GPIOs 2013-08-24 23:45:22 -04:00
omap_hsmmc.c mmc: omap: Remove redundant suspend and resume callbacks 2013-10-30 20:28:24 -04:00
omap.c mmc: omap: Add erase capability 2014-02-22 13:17:42 -05:00
pxamci.c mmc: pxamci: Remove redundant suspend and resume callbacks 2013-10-30 20:28:29 -04:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx: add support for pre_req and post_req 2014-02-22 13:34:20 -05:00
s3cmci.c ARM: s3c24xx: explicit dependency on <plat/gpio-cfg.h> 2014-01-14 15:24:54 +01:00
s3cmci.h
sdhci-acpi.c MMC highlights for 3.14: 2014-01-26 11:00:41 -08:00
sdhci-bcm2835.c mmc: sdhci-bcm2835: Use sdhci_pltfm_unregister instead of open coded 2013-09-25 22:05:57 -04:00
sdhci-bcm-kona.c mmc: sdhci-bcm-kona: Use sdhci_pltfm_unregister instead of open coded 2013-09-25 22:05:26 -04:00
sdhci-cns3xxx.c mmc: sdhci: Add size for caller in init+register 2013-05-31 11:59:29 -04:00
sdhci-dove.c mmc: sdhci: Add size for caller in init+register 2013-05-31 11:59:29 -04:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: fix warning during module remove function 2014-01-13 14:02:39 -05:00
sdhci-esdhc.h mmc: sdhci-esdhc: move common esdhc_set_clock to platform driver 2013-09-26 07:57:12 -04:00
sdhci-of-arasan.c mmc: arasan: Add driver for Arasan SDHCI 2014-01-13 12:48:34 -05:00
sdhci-of-esdhc.c mmc: sdhci-esdhc-imx: set actual_clock in clock setting 2013-09-27 10:31:48 -04:00
sdhci-of-hlwd.c mmc: sdhci: Add size for caller in init+register 2013-05-31 11:59:29 -04:00
sdhci-pci-data.c
sdhci-pci-o2micro.c mmc: sdhci-pci: add support of O2Micro/BayHubTech SD hosts 2014-01-13 12:48:32 -05:00
sdhci-pci-o2micro.h mmc: sdhci-pci: add support of O2Micro/BayHubTech SD hosts 2014-01-13 12:48:32 -05:00
sdhci-pci.c mmc: sdhci: add support for realtek rts5250 2014-02-22 13:19:40 -05:00
sdhci-pci.h mmc: sdhci-pci: Fix BYT sd card getting stuck in runtime suspend 2014-01-20 10:31:08 -05:00
sdhci-pltfm.c mmc: sdhci-pltfm: export pltfm suspend/resume api 2014-01-13 12:48:06 -05:00
sdhci-pltfm.h mmc: sdhci-pltfm: export pltfm suspend/resume api 2014-01-13 12:48:06 -05:00
sdhci-pxav2.c mmc: sdhci: Add size for caller in init+register 2013-05-31 11:59:29 -04:00
sdhci-pxav3.c mmc: slot-gpio: Add debouncing capability to mmc_gpio_request_cd() 2013-08-24 23:45:09 -04:00
sdhci-s3c-regs.h mmc: sdhci-s3c: remove platform dependencies 2013-04-19 13:51:23 +02:00
sdhci-s3c.c mmc: sdhci-s3c: initialize host->quirks2 for using quirks2 2013-08-29 21:19:13 -04:00
sdhci-sirf.c mmc: slot-gpio: Add debouncing capability to mmc_gpio_request_cd() 2013-08-24 23:45:09 -04:00
sdhci-spear.c mmc: remove unnecessary platform_set_drvdata() 2013-05-26 14:23:23 -04:00
sdhci-tegra.c mmc: tegra: add support for Tegra124 2014-01-13 12:48:27 -05:00
sdhci.c mmc: sdhci: add support for realtek rts5250 2014-02-22 13:19:40 -05:00
sdhci.h mmc: sdhci: allow platform access of sdhci_send_command 2013-09-26 07:53:39 -04:00
sdricoh_cs.c mmc: sdricoh_cs: Move away from using deprecated APIs 2013-10-30 20:28:32 -04:00
sh_mmcif.c mmc: sh_mmcif: Fix compilation warning on 64-bit platforms 2014-01-13 12:48:26 -05:00
sh_mobile_sdhi.c mmc: sdhi: update sh_mobile_sdhi_of_data for r8a7791 2014-02-22 13:06:23 -05:00
tifm_sd.c mmc: tifm_sd: Move away from using deprecated APIs 2013-10-30 20:28:23 -04:00
tmio_mmc_dma.c mmc: tmio: bus_shift become tmio_mmc_data member 2014-01-13 12:48:23 -05:00
tmio_mmc_pio.c mmc: tmio: Adapt to proper PM configs for exported functions 2014-02-13 22:58:09 -05:00
tmio_mmc.c mmc: tmio_mmc: Convert from legacy to modern PM ops 2014-02-13 22:58:01 -05:00
tmio_mmc.h mmc: tmio: Adapt to proper PM configs for exported functions 2014-02-13 22:58:09 -05:00
ushc.c
via-sdmmc.c mmc: via-sdmmc: Move away from using deprecated APIs 2013-10-30 20:28:36 -04:00
vub300.c mmc: vub300: Move away from using deprecated APIs 2013-10-30 20:26:43 -04:00
wbsd.c mmc: wbsd: Silence compiler warning 2013-11-08 14:32:03 -05:00
wbsd.h
wmt-sdmmc.c mmc: wmt-sdmmc: Move away from using deprecated APIs 2013-10-30 20:28:27 -04:00