summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Ungerer <gerg@uclinux.org>2012-07-10 13:50:58 +1000
committerGreg Ungerer <gerg@uclinux.org>2012-07-17 15:49:40 +1000
commitd2661c621525956dfdd1e66e1e4fd94b7e4b6ed5 (patch)
tree5095f10493de7a3f0bd605b0ca7694a63a2b915e
parentf3ff6432dde9c0800754f1f144f6e864ac228214 (diff)
downloadblackbird-op-linux-d2661c621525956dfdd1e66e1e4fd94b7e4b6ed5.tar.gz
blackbird-op-linux-d2661c621525956dfdd1e66e1e4fd94b7e4b6ed5.zip
m68k: add support for DMA_BIDIRECTIONAL in dma support functions
The dma cache support functions do not currently support the direction flag DMA_BIDIRECTIONAL. If a driver passes this direction to dma_map_single or friends you will get console output like this: dma_sync_single_for_device: unsupported dir 0 For example when using the Intel e100 ethernet driver on a ColdFire platform with PCI bus. You will get a stream of these messages coming out. Modify the dma cache support code adding support for DMA_BIDIRECTIONAL. It is actioned by doing a cache push operation. Signed-off-by: Greg Ungerer <gerg@uclinux.org>
-rw-r--r--arch/m68k/kernel/dma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/m68k/kernel/dma.c b/arch/m68k/kernel/dma.c
index 27b5821f9712..e546a5534dd4 100644
--- a/arch/m68k/kernel/dma.c
+++ b/arch/m68k/kernel/dma.c
@@ -105,6 +105,7 @@ void dma_sync_single_for_device(struct device *dev, dma_addr_t handle,
size_t size, enum dma_data_direction dir)
{
switch (dir) {
+ case DMA_BIDIRECTIONAL:
case DMA_TO_DEVICE:
cache_push(handle, size);
break;
OpenPOWER on IntegriCloud