All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 024/114] arch/powerpc: add option to skip DMA sync as a part of mapping
@ 2016-12-14 23:05 akpm
  0 siblings, 0 replies; only message in thread
From: akpm @ 2016-12-14 23:05 UTC (permalink / raw)
  To: torvalds, mm-commits, akpm, alexander.h.duyck, mpe

From: Alexander Duyck <alexander.h.duyck@intel.com>
Subject: arch/powerpc: add option to skip DMA sync as a part of mapping

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.

Link: http://lkml.kernel.org/r/20161110113534.76501.86492.stgit@ahduyck-blue-test.jf.intel.com
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 arch/powerpc/kernel/dma.c |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff -puN arch/powerpc/kernel/dma.c~arch-powerpc-add-option-to-skip-dma-sync-as-a-part-of-mapping arch/powerpc/kernel/dma.c
--- a/arch/powerpc/kernel/dma.c~arch-powerpc-add-option-to-skip-dma-sync-as-a-part-of-mapping
+++ a/arch/powerpc/kernel/dma.c
@@ -203,6 +203,10 @@ static int dma_direct_map_sg(struct devi
 	for_each_sg(sgl, sg, nents, i) {
 		sg->dma_address = sg_phys(sg) + get_dma_offset(dev);
 		sg->dma_length = sg->length;
+
+		if (attrs & DMA_ATTR_SKIP_CPU_SYNC)
+			continue;
+
 		__dma_sync_page(sg_page(sg), sg->offset, sg->length, direction);
 	}
 
@@ -235,7 +239,10 @@ static inline dma_addr_t dma_direct_map_
 					     unsigned long attrs)
 {
 	BUG_ON(dir == DMA_NONE);
-	__dma_sync_page(page, offset, size, dir);
+
+	if (!(attrs & DMA_ATTR_SKIP_CPU_SYNC))
+		__dma_sync_page(page, offset, size, dir);
+
 	return page_to_phys(page) + offset + get_dma_offset(dev);
 }
 
_

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-12-14 23:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-14 23:05 [patch 024/114] arch/powerpc: add option to skip DMA sync as a part of mapping akpm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.