Revision 5ea47691bd99e1100707ec63364aff72324e2af4 authored by Daniel Drake on 20 March 2019, 06:36:53 UTC, committed by Ulf Hansson on 21 March 2019, 10:19:06 UTC
Setting max_blk_count to 1 here was causing the mmc block layer to always use the MMC_READ_SINGLE_BLOCK command here, which the driver does not DMA-accelerate. Drop the max_blk_ settings here. The mmc host defaults suffice, along with the max_segs and max_seg_size settings, which I have now documented in more detail. Now each MMC command reads 4 512-byte blocks, using DMA instead of PIO. On my SD card, this increases read performance (measured with dd) from 167kb/sec to 4.6mb/sec. Link: http://lkml.kernel.org/r/CAD8Lp47L5T3jnAjBiPs1cQ+yFA3L6LJtgFvMETnBrY63-Zdi2g@mail.gmail.com Signed-off-by: Daniel Drake <drake@endlessm.com> Reviewed-by: Oleksij Rempel <linux@rempel-privat.de> Fixes: c5413ad815a6 ("mmc: add new Alcor Micro Cardreader SD/MMC driver") Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
1 parent 031d2cc
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 1.4 KB |
Makefile | -rw-r--r-- | 202 bytes |
dma-buf.c | -rw-r--r-- | 32.4 KB |
dma-fence-array.c | -rw-r--r-- | 5.4 KB |
dma-fence.c | -rw-r--r-- | 18.7 KB |
reservation.c | -rw-r--r-- | 14.3 KB |
seqno-fence.c | -rw-r--r-- | 2.2 KB |
sw_sync.c | -rw-r--r-- | 9.9 KB |
sync_debug.c | -rw-r--r-- | 5.5 KB |
sync_debug.h | -rw-r--r-- | 1.9 KB |
sync_file.c | -rw-r--r-- | 11.3 KB |
sync_trace.h | -rw-r--r-- | 774 bytes |
udmabuf.c | -rw-r--r-- | 6.5 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...