linux-stable/include/linux/mmc
Haibo Chen 348487cb28 mmc: sdhci: use pipeline mmc requests to improve performance
This patch is based on the patches by Per Forlin, Tony Lin and Ryan QIAN.

This patch complete the API 'post_req' and 'pre_req' in sdhci host side,

Test Env:
1. i.MX6Q-SABREAUTO board, CPU @ 996MHz, use ADMA in uSDHC controller.
2. Test command:
		$ echo 1 > /proc/sys/vm/drop_caches
	write to sd card:
		$ dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=2000 conv=fsync
	read the sd card:
		$ dd if=/dev/mmcblk0 of=/dev/null bs=1M count=2000

3. TOSHIBA 16GB SD3.0 card, running at 4 bit, SDR104 @ 198MHZ
	Performance with and without this patch:
      -------------------------------------------------
	  |                    | read speed | write speed |
	  |------------------------------------------------
	  | with this patch    | ~76.7 MB/s |  ~23.3 MB/s |
	  |------------------------------------------------
	  |without this patch  | ~60.5 MB/s |  ~22.5 MB/s |
	  -------------------------------------------------

4. SanDisk 8GB SD3.0 card, running at 4 bit, DDR50 @ 50MHZ
	Performance with and without this patch:
      -------------------------------------------------
	  |                    | read speed | write speed |
	  |------------------------------------------------
	  | with this patch    | ~40.5 MB/s |  ~15.6 MB/s |
	  |------------------------------------------------
	  |without this patch  | ~36.1 MB/s |  ~14.1 MB/s |
	  -------------------------------------------------

5. Kingston 8GB SD2.0 card, running at 4 bit, High-speed @ 50MHZ
	Performance with and without this patch:
      -------------------------------------------------
	  |                    | read speed | write speed |
	  |------------------------------------------------
	  | with this patch    | ~22.7 MB/s |  ~8.2 MB/s  |
	  |------------------------------------------------
	  |without this patch  | ~21.3 MB/s |  ~8.0 MB/s  |
	  -------------------------------------------------

6. About eMMC, Sandisk 8GB eMMC on i.MX6DL-sabresd board, CPU @ 792MHZ,
   eMMC running at 8 bit, DDR52 @ 52MHZ.
	Performance with and without this patch:
      -------------------------------------------------
	  |                    | read speed | write speed |
	  |------------------------------------------------
	  | with this patch    | ~37.3 MB/s |  ~10.5 MB/s |
	  |------------------------------------------------
	  |without this patch  | ~33.4 MB/s |  ~10.5 MB/s |
	  -------------------------------------------------

Signed-off-by: Haibo Chen <haibo.chen@freescale.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2015-01-19 09:56:25 +01:00
..
boot.h
card.h mmc: core: Report firmware version for eMMC 5.0 devices. 2014-11-10 12:40:36 +01:00
core.h mmc: core: Let mmc_send_tuning() to take struct mmc_host* as parameter 2014-12-08 09:11:04 +01:00
dw_mmc.h mmc: dw_mmc: Protect read-modify-write of INTMASK with a lock 2015-01-19 09:56:05 +01:00
host.h mmc: slot-gpio: Rework how to handle allocation of slot-gpio data 2015-01-19 09:56:18 +01:00
mmc.h mmc: core: Make tuning block patterns static 2015-01-19 09:56:24 +01:00
pm.h
sd.h
sdhci-pci-data.h
sdhci-spear.h mmc: sdhci-spear: remove support for power gpio 2014-03-04 16:28:44 -05:00
sdhci.h mmc: sdhci: use pipeline mmc requests to improve performance 2015-01-19 09:56:25 +01:00
sdio.h
sdio_func.h mmc: core: Don't export the to_sdio_driver macro 2014-11-10 12:40:32 +01:00
sdio_ids.h brcmfmac: add BCM4354 SDIO interface support 2014-03-17 13:44:14 -04:00
sh_mmcif.h mmc: sh_mmcif: revision-specific CLK_CTRL2 handling 2013-08-25 00:10:18 -04:00
sh_mobile_sdhi.h mmc: sh_mobile_sdhi: Remove .set_pwr() callback from platform data 2013-08-24 23:58:10 -04:00
slot-gpio.h mmc: slot-gpio: Remove option to explicitly free requested CD/WP GPIOs 2015-01-19 09:56:16 +01:00
tmio.h mmc: SDHI: add SoC specific workaround via HW version 2014-01-13 12:48:24 -05:00