blob: 76e04e7feb844988c634203cf933d7305e7637a5 [file] [log] [blame]
Ralf Baechle9a88cbb2006-11-16 02:56:12 +00001/*
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#ifndef __ASM_MACH_GENERIC_DMA_COHERENCE_H
10#define __ASM_MACH_GENERIC_DMA_COHERENCE_H
11
12struct device;
13
Ralf Baechlea9b65902007-03-01 15:30:01 +000014static inline dma_addr_t plat_map_dma_mem(struct device *dev, void *addr,
15 size_t size)
Ralf Baechle9a88cbb2006-11-16 02:56:12 +000016{
17 return virt_to_phys(addr);
18}
19
Ralf Baechlea9b65902007-03-01 15:30:01 +000020static inline dma_addr_t plat_map_dma_mem_page(struct device *dev,
21 struct page *page)
Ralf Baechle9a88cbb2006-11-16 02:56:12 +000022{
23 return page_to_phys(page);
24}
25
Ralf Baechlea9b65902007-03-01 15:30:01 +000026static inline unsigned long plat_dma_addr_to_phys(dma_addr_t dma_addr)
Ralf Baechle9a88cbb2006-11-16 02:56:12 +000027{
28 return dma_addr;
29}
30
Ralf Baechlea9b65902007-03-01 15:30:01 +000031static inline void plat_unmap_dma_mem(dma_addr_t dma_addr)
Ralf Baechle9a88cbb2006-11-16 02:56:12 +000032{
33}
34
35static inline int plat_device_is_coherent(struct device *dev)
36{
37#ifdef CONFIG_DMA_COHERENT
38 return 1;
39#endif
40#ifdef CONFIG_DMA_NONCOHERENT
41 return 0;
42#endif
43}
44
45#endif /* __ASM_MACH_GENERIC_DMA_COHERENCE_H */