1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 2006 Ralf Baechle <ralf@linux-mips.org> 7 * 8 * 9 * Similar to mach-generic/dma-coherence.h except 10 * plat_device_is_coherent hard coded to return 1. 11 * 12 */ 13#ifndef __ASM_MACH_CAVIUM_OCTEON_DMA_COHERENCE_H 14#define __ASM_MACH_CAVIUM_OCTEON_DMA_COHERENCE_H 15 16#include <linux/bug.h> 17 18struct device; 19 20extern void octeon_pci_dma_init(void); 21 22static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr, 23 size_t size) 24{ 25 BUG(); 26 return 0; 27} 28 29static inline dma_addr_t plat_map_dma_mem_page(struct device *dev, 30 struct page *page) 31{ 32 BUG(); 33 return 0; 34} 35 36static inline unsigned long plat_dma_addr_to_phys(struct device *dev, 37 dma_addr_t dma_addr) 38{ 39 BUG(); 40 return 0; 41} 42 43static inline void plat_unmap_dma_mem(struct device *dev, dma_addr_t dma_addr, 44 size_t size, enum dma_data_direction direction) 45{ 46 BUG(); 47} 48 49static inline int plat_dma_supported(struct device *dev, u64 mask) 50{ 51 BUG(); 52 return 0; 53} 54 55static inline int plat_device_is_coherent(struct device *dev) 56{ 57 return 1; 58} 59 60static inline void plat_post_dma_flush(struct device *dev) 61{ 62} 63 64dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr); 65phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr); 66 67struct dma_map_ops; 68extern struct dma_map_ops *octeon_pci_dma_map_ops; 69extern char *octeon_swiotlb; 70 71#endif /* __ASM_MACH_CAVIUM_OCTEON_DMA_COHERENCE_H */ 72