]>
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 | 15 | |
9a8fd558 | 16 | #include <linux/mm.h> |
8c7837c4 | 17 | #include <linux/scatterlist.h> |
9a8fd558 | 18 | |
35b16a9a MF |
19 | #define DMA_ERROR_CODE (~(dma_addr_t)0x0) |
20 | ||
c75959a6 | 21 | extern struct dma_map_ops xtensa_dma_map_ops; |
9a8fd558 | 22 | |
c75959a6 | 23 | static inline struct dma_map_ops *get_dma_ops(struct device *dev) |
9a8fd558 | 24 | { |
c75959a6 MF |
25 | if (dev && dev->archdata.dma_ops) |
26 | return dev->archdata.dma_ops; | |
27 | else | |
28 | return &xtensa_dma_map_ops; | |
9a8fd558 CZ |
29 | } |
30 | ||
c75959a6 MF |
31 | void dma_cache_sync(struct device *dev, void *vaddr, size_t size, |
32 | enum dma_data_direction direction); | |
e74993ae | 33 | |
4c3dab39 MF |
34 | static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr) |
35 | { | |
36 | return (dma_addr_t)paddr; | |
37 | } | |
38 | ||
39 | static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr) | |
40 | { | |
41 | return (phys_addr_t)daddr; | |
42 | } | |
43 | ||
9a8fd558 | 44 | #endif /* _XTENSA_DMA_MAPPING_H */ |