Lines Matching +full:dma +full:- +full:coherent
1 /* SPDX-License-Identifier: GPL-2.0 */
24 * arm_dma_alloc - allocate consistent memory for DMA
25 * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
27 * @handle: bus-specific DMA address
30 * Allocate some memory for a device for performing DMA. This function
31 * allocates pages, and will return the CPU-viewed address, and sets @handle
32 * to be the device-viewed address.
38 * arm_dma_free - free memory allocated by arm_dma_alloc
39 * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
41 * @cpu_addr: CPU-view address returned from dma_alloc_coherent
42 * @handle: device-view address returned from dma_alloc_coherent
45 * Free (and unmap) a DMA buffer previously allocated by
55 * arm_dma_mmap - map a coherent DMA allocation into user space
56 * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices
58 * @cpu_addr: kernel CPU-view address returned from dma_alloc_coherent
59 * @handle: device-view address returned from dma_alloc_coherent
63 * Map a coherent DMA buffer previously allocated by dma_alloc_coherent
64 * into user space. The coherent DMA buffer must not be freed by the
72 * For SA-1111, IXP425, and ADI systems the dma-mapping functions are "magic"
73 * and utilize bounce buffers as needed to work around limited DMA windows.
75 * On the SA-1111, a bug limits DMA to only certain regions of RAM.
91 * This function should be called by low-level platform code to register
92 * a device as requireing DMA buffer bouncing. The function will allocate
93 * appropriate DMA pools for the device.
103 * This function should be called by low-level platform code when device