• Micky Ching's avatar
    mmc: rtsx: add support for pre_req and post_req · c42deffd
    Micky Ching authored
    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: default avatarMicky Ching <micky_ching@realsil.com.cn>
    Signed-off-by: default avatarChris Ball <chris@printf.net>
    c42deffd
rtsx_pci_sdmmc.c 38 KB