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>
This commit is contained in:
@@ -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)
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user