Commit | Line | Data |
---|---|---|
9a8fd558 | 1 | /* |
9a8fd558 CZ |
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) 2003 - 2005 Tensilica Inc. | |
c75959a6 | 7 | * Copyright (C) 2015 Cadence Design Systems Inc. |
9a8fd558 CZ |
8 | */ |
9 | ||
10 | #ifndef _XTENSA_DMA_MAPPING_H | |
11 | #define _XTENSA_DMA_MAPPING_H | |
12 | ||
9a8fd558 CZ |
13 | #include <asm/cache.h> |
14 | #include <asm/io.h> | |
c75959a6 MF |
15 | |
16 | #include <asm-generic/dma-coherent.h> | |
17 | ||
9a8fd558 | 18 | #include <linux/mm.h> |
8c7837c4 | 19 | #include <linux/scatterlist.h> |
9a8fd558 | 20 | |
35b16a9a MF |
21 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) |
22 | ||
c75959a6 | 23 | extern struct dma_map_ops xtensa_dma_map_ops; |
9a8fd558 | 24 | |
c75959a6 | 25 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) |
9a8fd558 | 26 | { |
c75959a6 MF |
27 | if (dev && dev->archdata.dma_ops) |
28 | return dev->archdata.dma_ops; | |
29 | else | |
30 | return &xtensa_dma_map_ops; | |
9a8fd558 CZ |
31 | } |
32 | ||
c75959a6 | 33 | #include <asm-generic/dma-mapping-common.h> |
9a8fd558 | 34 | |
c75959a6 MF |
35 | void dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
36 | enum dma_data_direction direction); | |
e74993ae | 37 | |
4c3dab39 MF |
38 | static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) |
39 | { | |
40 | return (dma_addr_t)paddr; | |
41 | } | |
42 | ||
43 | static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr) | |
44 | { | |
45 | return (phys_addr_t)daddr; | |
46 | } | |
47 | ||
9a8fd558 | 48 | #endif /* _XTENSA_DMA_MAPPING_H */ |