Prev: [PATCH 1/3] vfs: O_* bit numbers uniqueness check
Next: ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe
From: FUJITA Tomonori on 15 Mar 2010 22:00 On Fri, 12 Mar 2010 20:12:39 +0100 Albert Herranz <albert_herranz(a)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(a)lists.ozlabs.org > CC: linux-kernel(a)vger.kernel.org > CC: x86(a)kernel.org > CC: linux-ia64(a)vger.kernel.org > Signed-off-by: Albert Herranz <albert_herranz(a)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? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: FUJITA Tomonori on 15 Mar 2010 22:30 On Tue, 16 Mar 2010 10:54:40 +0900 FUJITA Tomonori <fujita.tomonori(a)lab.ntt.co.jp> wrote: > On Fri, 12 Mar 2010 20:12:39 +0100 > Albert Herranz <albert_herranz(a)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(a)lists.ozlabs.org > > CC: linux-kernel(a)vger.kernel.org > > CC: x86(a)kernel.org > > CC: linux-ia64(a)vger.kernel.org > > Signed-off-by: Albert Herranz <albert_herranz(a)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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Albert Herranz on 16 Mar 2010 02:20
FUJITA Tomonori wrote: > On Fri, 12 Mar 2010 20:12:39 +0100 > Albert Herranz <albert_herranz(a)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(a)lists.ozlabs.org >> CC: linux-kernel(a)vger.kernel.org >> CC: x86(a)kernel.org >> CC: linux-ia64(a)vger.kernel.org >> Signed-off-by: Albert Herranz <albert_herranz(a)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? > At least on PowerPC, the DMA ops are per-device hooks. We attach the swiotlb DMA ops functions to those hooks when we are using swiotlb. So calling dma_sync_single_*() would end up calling swiotlb_sync_single_*() which is not what we want. Thanks, Albert -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |