git: sdhci - Implement ADMA2 transfer support. Keep SDMA support for now.
ivadasz at crater.dragonflybsd.org
Sun May 14 10:03:09 PDT 2017
Author: Imre VadÃ¡sz <imre at vdsz.com>
Date: Sat Jan 7 22:44:07 2017 +0100
sdhci - Implement ADMA2 transfer support. Keep SDMA support for now.
* Using ADMA2 transfers, only generates 1 or 2 interrupts for each
bio transfer, whereas the existing SDMA code was only transferring
in 4K blocks (with a completion interrupt for each 4K block).
* Since support for UHS high-speed modes is still missing this might
only give a small performance increase in many cases.
With very aggressive CPU C-state power-management and/or very slow
CPUs, this can improve performance a lot however. e.g. on an Atom
x5-Z8300 at 480MHz using deepest mwait c-state setting:
- eMMC read speed: ca. 17 MiB/s --> 30 MiB/s
- SD-card read speed: ca. 11MiB/s --> 18MiB/s
Summary of changes:
sys/dev/disk/sdhci/sdhci.c | 239 ++++++++++++++++++++++++++++++++++++++++-----
sys/dev/disk/sdhci/sdhci.h | 15 ++-
2 files changed, 227 insertions(+), 27 deletions(-)
DragonFly BSD source repository
More information about the Commits