diff options
author | Guennadi Liakhovetski <g.liakhovetski@gmx.de> | 2010-12-22 12:02:15 +0100 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-01-08 23:52:29 -0500 |
commit | 93173054f2979de41b1912b19f0b57edfb35fcdc (patch) | |
tree | 14c2872048dde7e15d386f1211836c86b1b6c69f /include/linux/mfd | |
parent | e0bc6ff8b8d5c066d978d23e690d5599db4cb2b3 (diff) | |
download | linux-93173054f2979de41b1912b19f0b57edfb35fcdc.tar.gz linux-93173054f2979de41b1912b19f0b57edfb35fcdc.tar.bz2 linux-93173054f2979de41b1912b19f0b57edfb35fcdc.zip |
mmc: tmio_mmc: implement a bounce buffer for unaligned DMA
For example, with SDIO WLAN cards, some transfers happen with buffers at
odd addresses, whereas the SH-Mobile DMA engine requires even addresses
for SDHI. This patch extends the tmio driver with a bounce buffer, that
is used for single entry scatter-gather lists both for sending and
receiving. If we ever encounter unaligned transfers with multi-element
sg lists, this patch will have to be extended. For now it just falls
back to PIO in this and other unsupported cases.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include/linux/mfd')
-rw-r--r-- | include/linux/mfd/tmio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mfd/tmio.h b/include/linux/mfd/tmio.h index 085f041197dc..dbfc053b1f95 100644 --- a/include/linux/mfd/tmio.h +++ b/include/linux/mfd/tmio.h @@ -66,6 +66,7 @@ void tmio_core_mmc_clk_div(void __iomem *cnf, int shift, int state); struct tmio_mmc_dma { void *chan_priv_tx; void *chan_priv_rx; + int alignment_shift; }; /* |