Move to the common streaming DMA ops in order to get rid of
the direct usage of the ARM MMU functions for the cache
maintenance.

Signed-off-by: Lucas Stach <[email protected]>
---
 arch/arm/mach-bcm2835/mbox.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/arm/mach-bcm2835/mbox.c b/arch/arm/mach-bcm2835/mbox.c
index 1a80771..9d69bc8 100644
--- a/arch/arm/mach-bcm2835/mbox.c
+++ b/arch/arm/mach-bcm2835/mbox.c
@@ -7,9 +7,9 @@
  */
 
 #include <asm/io.h>
-#include <asm/mmu.h>
 #include <common.h>
 #include <clock.h>
+#include <dma.h>
 
 #include <mach/mbox.h>
 
@@ -55,7 +55,8 @@ static int bcm2835_mbox_call_raw(u32 chan, struct 
bcm2835_mbox_hdr *buffer,
        /* Send the request */
        val = BCM2835_MBOX_PACK(chan, send);
        debug("mbox: TX raw: 0x%08x\n", val);
-       dma_flush_range(send, send + buffer->buf_size);
+       dma_sync_single_for_device((unsigned long)send, buffer->buf_size,
+                                  DMA_BIDIRECTIONAL);
        writel(val, &regs->write);
 
        /* Wait for the response */
@@ -72,7 +73,8 @@ static int bcm2835_mbox_call_raw(u32 chan, struct 
bcm2835_mbox_hdr *buffer,
        /* Read the response */
        val = readl(&regs->read);
        debug("mbox: RX raw: 0x%08x\n", val);
-       dma_inv_range(send, send + buffer->buf_size);
+       dma_sync_single_for_cpu((unsigned long)send, buffer->buf_size,
+                               DMA_BIDIRECTIONAL);
 
        /* Validate the response */
        if (BCM2835_MBOX_UNPACK_CHAN(val) != chan) {
-- 
2.1.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to