This change allows us to pass DMA_ATTR_SKIP_CPU_SYNC which allows us to
avoid invoking cache line invalidation if the driver will just handle it
via a sync_for_cpu or sync_for_device call.

Cc: Jonas Bonn <jo...@southpole.se>
Signed-off-by: Alexander Duyck <alexander.h.du...@intel.com>
---
 arch/openrisc/kernel/dma.c |    3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/openrisc/kernel/dma.c b/arch/openrisc/kernel/dma.c
index 140c991..906998b 100644
--- a/arch/openrisc/kernel/dma.c
+++ b/arch/openrisc/kernel/dma.c
@@ -141,6 +141,9 @@
        unsigned long cl;
        dma_addr_t addr = page_to_phys(page) + offset;
 
+       if (attrs & DMA_ATTR_SKIP_CPU_SYNC)
+               return addr;
+
        switch (dir) {
        case DMA_TO_DEVICE:
                /* Flush the dcache for the requested range */

Reply via email to