From: Greg Ungerer <[email protected]>

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 <[email protected]>
---
 arch/m68k/kernel/dma.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/arch/m68k/kernel/dma.c b/arch/m68k/kernel/dma.c
index 27b5821..e546a55 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;
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to