瀏覽代碼

ppc32: move some dma routines

Every other architecture define dma_cache_{inv,wback,wback_inv}
in asm/io.h and doing so brings us closer to ppc64.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Stephen Rothwell 19 年之前
父節點
當前提交
78baa2f8ad
共有 2 個文件被更改,包括 17 次插入10 次删除
  1. 0 10
      include/asm-ppc/dma-mapping.h
  2. 17 0
      include/asm-ppc/io.h

+ 0 - 10
include/asm-ppc/dma-mapping.h

@@ -24,22 +24,12 @@ extern void __dma_free_coherent(size_t size, void *vaddr);
 extern void __dma_sync(void *vaddr, size_t size, int direction);
 extern void __dma_sync(void *vaddr, size_t size, int direction);
 extern void __dma_sync_page(struct page *page, unsigned long offset,
 extern void __dma_sync_page(struct page *page, unsigned long offset,
 				 size_t size, int direction);
 				 size_t size, int direction);
-#define dma_cache_inv(_start,_size) \
-	invalidate_dcache_range(_start, (_start + _size))
-#define dma_cache_wback(_start,_size) \
-	clean_dcache_range(_start, (_start + _size))
-#define dma_cache_wback_inv(_start,_size) \
-	flush_dcache_range(_start, (_start + _size))
 
 
 #else /* ! CONFIG_NOT_COHERENT_CACHE */
 #else /* ! CONFIG_NOT_COHERENT_CACHE */
 /*
 /*
  * Cache coherent cores.
  * Cache coherent cores.
  */
  */
 
 
-#define dma_cache_inv(_start,_size)		do { } while (0)
-#define dma_cache_wback(_start,_size)		do { } while (0)
-#define dma_cache_wback_inv(_start,_size)	do { } while (0)
-
 #define __dma_alloc_coherent(gfp, size, handle)	NULL
 #define __dma_alloc_coherent(gfp, size, handle)	NULL
 #define __dma_free_coherent(size, addr)		do { } while (0)
 #define __dma_free_coherent(size, addr)		do { } while (0)
 #define __dma_sync(addr, size, rw)		do { } while (0)
 #define __dma_sync(addr, size, rw)		do { } while (0)

+ 17 - 0
include/asm-ppc/io.h

@@ -545,6 +545,23 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *);
 #include <asm/mpc8260_pci9.h>
 #include <asm/mpc8260_pci9.h>
 #endif
 #endif
 
 
+#ifdef CONFIG_NOT_COHERENT_CACHE
+
+#define dma_cache_inv(_start,_size) \
+	invalidate_dcache_range(_start, (_start + _size))
+#define dma_cache_wback(_start,_size) \
+	clean_dcache_range(_start, (_start + _size))
+#define dma_cache_wback_inv(_start,_size) \
+	flush_dcache_range(_start, (_start + _size))
+
+#else
+
+#define dma_cache_inv(_start,_size)		do { } while (0)
+#define dma_cache_wback(_start,_size)		do { } while (0)
+#define dma_cache_wback_inv(_start,_size)	do { } while (0)
+
+#endif
+
 /*
 /*
  * Convert a physical pointer to a virtual kernel pointer for /dev/mem
  * Convert a physical pointer to a virtual kernel pointer for /dev/mem
  * access
  * access