mmc: rtsx: add support for async request
authorMicky Ching <micky_ching@realsil.com.cn>
Fri, 6 Jun 2014 07:05:45 +0000 (15:05 +0800)
committerLee Jones <lee.jones@linaro.org>
Wed, 9 Jul 2014 13:17:15 +0000 (14:17 +0100)
commit6291e7153a173f85bbdb13bf0c72fa11b5d74bc0
treea7978fb796293d5d9a98c1d76d65936987f27567
parent8cd118308a8649c649533a0133af0ce731d223bb
mmc: rtsx: add support for async request

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 speed CPU.

Test on intel i3(800MHz - 2.3GHz) performance mode(2.3GHz), SD card
clock 208MHz

run dd if=/dev/mmcblk0 of=/dev/null bs=64k count=1024
before:
67108864 bytes (67 MB) copied, 0.85427 s, 78.6 MB/s
after:
67108864 bytes (67 MB) copied, 0.74799 s, 89.7 MB/s

Signed-off-by: Micky Ching <micky_ching@realsil.com.cn>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mmc/host/rtsx_pci_sdmmc.c