]> asedeno.scripts.mit.edu Git - linux.git/commit
mmc: alcor: enable DMA transfer of large buffers
authorDaniel Drake <drake@endlessm.com>
Mon, 1 Apr 2019 05:42:15 +0000 (13:42 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 15 Apr 2019 09:55:54 +0000 (11:55 +0200)
commitc278150e0d2a4ac0551f86c9db042665ad51c1e4
tree832f161506fb840e67b10eda51b1a255b89cffb8
parente374e87538f4c7cd364bce6b9048ad5829ccc604
mmc: alcor: enable DMA transfer of large buffers

DMA on this hardware is limited to dealing with a single page at a
time. Previously, the driver was set up accordingly to request single-page
DMA buffers, however that had the effect of generating a large number
of small MMC requests for data I/O.

Improve the driver to accept scatter-gather DMA buffers of larger sizes.
Iterate through those buffers a page at a time.

Testing with dd, this increases write performance from 2mb/sec to
10mb/sec, and increases read performance from 4mb/sec to 14mb/sec.

Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/alcor.c