1/* 2 * Copyright (C) 2006 Ralf Baechle <ralf@linux-mips.org> 3 * Copyright (C) 2009 Broadcom Corporation 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 */ 14 15#ifndef __ASM_MACH_BMIPS_DMA_COHERENCE_H 16#define __ASM_MACH_BMIPS_DMA_COHERENCE_H 17 18#include <asm/bmips.h> 19#include <asm/cpu-type.h> 20#include <asm/cpu.h> 21 22struct device; 23 24extern dma_addr_t plat_map_dma_mem(struct device *dev, void *addr, size_t size); 25extern dma_addr_t plat_map_dma_mem_page(struct device *dev, struct page *page); 26extern unsigned long plat_dma_addr_to_phys(struct device *dev, 27 dma_addr_t dma_addr); 28 29static inline void plat_unmap_dma_mem(struct device *dev, dma_addr_t dma_addr, 30 size_t size, enum dma_data_direction direction) 31{ 32} 33 34static inline int plat_dma_supported(struct device *dev, u64 mask) 35{ 36 /* 37 * we fall back to GFP_DMA when the mask isn't all 1s, 38 * so we can't guarantee allocations that must be 39 * within a tighter range than GFP_DMA.. 40 */ 41 if (mask < DMA_BIT_MASK(24)) 42 return 0; 43 44 return 1; 45} 46 47static inline int plat_device_is_coherent(struct device *dev) 48{ 49 return 0; 50} 51 52#define plat_post_dma_flush bmips_post_dma_flush 53 54#endif /* __ASM_MACH_BMIPS_DMA_COHERENCE_H */ 55