[PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Tue Mar 16 13:25:13 EST 2010


On Tue, 16 Mar 2010 10:54:40 +0900
FUJITA Tomonori <fujita.tomonori at lab.ntt.co.jp> wrote:

> On Fri, 12 Mar 2010 20:12:39 +0100
> Albert Herranz <albert_herranz at yahoo.es> wrote:
> 
> > The current SWIOTLB code does not support NOT_COHERENT_CACHE platforms.
> > This patch adds support for NOT_COHERENT_CACHE platforms to SWIOTLB by
> > adding two platform specific functions swiotlb_dma_sync_page() and
> > swiotlb_dma_sync() which can be used to explicitly manage cache coherency.
> > 
> > On PowerPC these functions are mapped to their corresponding
> > __dma_sync_page() and __dma_sync() functions.
> > On other architectures using SWIOTLB these functions are optimized out.
> > 
> > This will be used later to support SWIOTLB on the Nintendo Wii video game
> > console.
> > 
> > CC: linuxppc-dev at lists.ozlabs.org
> > CC: linux-kernel at vger.kernel.org
> > CC: x86 at kernel.org
> > CC: linux-ia64 at vger.kernel.org
> > Signed-off-by: Albert Herranz <albert_herranz at yahoo.es>
> > ---
> >  arch/ia64/include/asm/swiotlb.h    |   10 ++++++++++
> >  arch/powerpc/include/asm/swiotlb.h |    3 +++
> >  arch/x86/include/asm/swiotlb.h     |   10 ++++++++++
> >  lib/swiotlb.c                      |   30 ++++++++++++++++++++++++------
> >  4 files changed, 47 insertions(+), 6 deletions(-)
> 
> Why can't you use dma_sync_single_* instead of inventing new
> swiotlb sync functions?

If we want to make swiotlb generic (make on any architectures), we
need to handle more cache issues here, I think. So it's better to have
more generic ways instead of adding hooks to some archs.


More information about the Linuxppc-dev mailing list