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 11*2f066935SKishon Vijay Abraham I #define dma_mapping_error(x, y) 0 12*2f066935SKishon Vijay Abraham I 13819833afSPeter Tyser enum dma_data_direction { 14819833afSPeter Tyser DMA_BIDIRECTIONAL = 0, 15819833afSPeter Tyser DMA_TO_DEVICE = 1, 16819833afSPeter Tyser DMA_FROM_DEVICE = 2, 17819833afSPeter Tyser }; 18819833afSPeter Tyser 19aecbf879SKishon Vijay Abraham I static inline void *dma_alloc_coherent(size_t len, unsigned long *handle) 20819833afSPeter Tyser { 21771f74c3SKuo-Jung Su *handle = (unsigned long)memalign(ARCH_DMA_MINALIGN, len); 22819833afSPeter Tyser return (void *)*handle; 23819833afSPeter Tyser } 24819833afSPeter Tyser 25*2f066935SKishon Vijay Abraham I static inline void dma_free_coherent(void *addr) 26*2f066935SKishon Vijay Abraham I { 27*2f066935SKishon Vijay Abraham I free(addr); 28*2f066935SKishon Vijay Abraham I } 29*2f066935SKishon Vijay Abraham I 30819833afSPeter Tyser static inline unsigned long dma_map_single(volatile void *vaddr, size_t len, 31819833afSPeter Tyser enum dma_data_direction dir) 32819833afSPeter Tyser { 33819833afSPeter Tyser return (unsigned long)vaddr; 34819833afSPeter Tyser } 35819833afSPeter Tyser 36819833afSPeter Tyser static inline void dma_unmap_single(volatile void *vaddr, size_t len, 37819833afSPeter Tyser unsigned long paddr) 38819833afSPeter Tyser { 39819833afSPeter Tyser } 40819833afSPeter Tyser 41819833afSPeter Tyser #endif /* __ASM_ARM_DMA_MAPPING_H */ 42