1819833afSPeter Tyser /* 2819833afSPeter Tyser * (C) Copyright 2007 3c9e798d3SStelian Pop * Stelian Pop <stelian@popies.net> 4819833afSPeter Tyser * Lead Tech Design <www.leadtechdesign.com> 5819833afSPeter Tyser * 61a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 7819833afSPeter Tyser */ 8819833afSPeter Tyser #ifndef __ASM_ARM_DMA_MAPPING_H 9819833afSPeter Tyser #define __ASM_ARM_DMA_MAPPING_H 10819833afSPeter Tyser 11819833afSPeter Tyser enum dma_data_direction { 12819833afSPeter Tyser DMA_BIDIRECTIONAL = 0, 13819833afSPeter Tyser DMA_TO_DEVICE = 1, 14819833afSPeter Tyser DMA_FROM_DEVICE = 2, 15819833afSPeter Tyser }; 16819833afSPeter Tyser 17*aecbf879SKishon Vijay Abraham I static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) 18819833afSPeter Tyser { 19771f74c3SKuo-Jung Su *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); 20819833afSPeter Tyser return (void *)*handle; 21819833afSPeter Tyser } 22819833afSPeter Tyser 23819833afSPeter Tyser static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, 24819833afSPeter Tyser enum dma_data_direction dir) 25819833afSPeter Tyser { 26819833afSPeter Tyser return (unsigned long)vaddr; 27819833afSPeter Tyser } 28819833afSPeter Tyser 29819833afSPeter Tyser static inline void dma_unmap_single(volatile void *vaddr, size_t len, 30819833afSPeter Tyser unsigned long paddr) 31819833afSPeter Tyser { 32819833afSPeter Tyser } 33819833afSPeter Tyser 34819833afSPeter Tyser #endif /* __ASM_ARM_DMA_MAPPING_H */ 35