1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #ifndef __ASM_NIOS2_DMA_MAPPING_H
| #define __ASM_NIOS2_DMA_MAPPING_H
|
| #include <memalign.h>
| #include <asm/io.h>
|
| /*
| * dma_alloc_coherent() return cache-line aligned allocation which is mapped
| * to uncached io region.
| */
| static inline void *dma_alloc_coherent(size_t len, unsigned long *handle)
| {
| unsigned long addr = (unsigned long)malloc_cache_aligned(len);
|
| if (!addr)
| return NULL;
|
| invalidate_dcache_range(addr, addr + len);
| if (handle)
| *handle = addr;
|
| return map_physmem(addr, len, MAP_NOCACHE);
| }
| #endif /* __ASM_NIOS2_DMA_MAPPING_H */
|
|