remove block layer bounce buffering for MMC v2

From: Christoph Hellwig
Date: Tue Feb 12 2019 - 02:25:49 EST


Hi everyone,

this series converts the remaining MMC host drivers to properly kmap the
scatterlist entries it does PIO operations on, and then goes on to
remove the usage of block layer bounce buffering (which I plan to remove
eventually) from the MMC layer.

As a bonus I've converted various drivers to the proper scatterlist
helpers so that at least in theory they are ready for chained
scatterlists.

All the changes are compile tested only as I don't have any of the
hardware, so a careful review would be appreciated.

Changes since v1:
- fix a missing kunmap_atomic in mvsdio
- fix a stray whitespace in s3cmci
- add new sg_kmap_atomic and sg_kunmap_atomic helpers
- set the DMA and block layer dma boundary
- use pointer arithmetics to reduce the amount of changes in
various drivers