Lines Matching refs:DMA

1                Dynamic DMA mapping using the generic device
6 This document describes the DMA API. For a more gentle introduction
7 of the API (and actual examples), see Documentation/DMA-API-HOWTO.txt.
21 A dma_addr_t can hold any valid DMA address for the platform. It can be
22 given to a device to use as a DMA source or target. A CPU cannot reference
24 address space and the DMA address space.
26 Part Ia - Using large DMA-coherent buffers
45 same width as the bus and given to the device as the DMA address base of
78 Part Ib - Using small DMA-coherent buffers
83 Many drivers need lots of small DMA-coherent memory regions for DMA
85 or more using dma_alloc_coherent(), you can use DMA pools. These work
86 much like a struct kmem_cache, except that they use the DMA-coherent allocator,
95 dma_pool_create() initializes a pool of DMA-coherent buffers
122 address usable by the CPU, and the DMA address usable by the pool's
130 dma_pool_alloc(); the CPU (vaddr) and DMA addresses are what
141 Part Ic - DMA addressing limitations
148 streaming and coherent DMA mask parameters if it is.
182 Part Id - Streaming DMA mappings
190 device and returns the DMA address of the memory.
209 Further, the DMA address of the memory must be within the
211 addressable region for the device, i.e., if the DMA address of
212 the memory ANDed with the dma_mask is still equal to the DMA
213 address, then the device can perform DMA to the memory). To
216 the DMA address range of the allocation (e.g., on x86, GFP_DMA
217 guarantees to be within the first 16MB of available DMA addresses,
222 maps an I/O DMA address to a physical memory address). However, to be
285 DMA address with dma_mapping_error(). A non-zero return value means the mapping
287 reduce current DMA mapping usage or delay and try again later).
293 Returns: the number of DMA address segments mapped (this may be shorter
337 DMA address entries returned.
360 - Before reading values that have been written by DMA from the device
362 - After writing values that will be written to the device using DMA
393 struct dma_attrs encapsulates a set of "DMA attributes". For the
396 The interpretation of DMA attributes is architecture-specific, and
397 each attribute should be documented in Documentation/DMA-attributes.txt.
406 for DMA:
410 * documented in Documentation/DMA-attributes.txt */
438 Warning: These pieces of the DMA API should not be used in the
504 device_addr is the DMA address the device needs to be programmed
570 Part III - Debug drivers use of the DMA-API
573 The DMA-API as described above has some constraints. DMA addresses must be
579 To debug drivers and find bugs in the usage of the DMA-API checking code can
582 debugging of DMA-API usage" option in your kernel configuration. Enabling this
586 about what DMA memory was allocated for which device. If this code detects an
594 forcedeth 0000:00:08.0: DMA-API: device driver frees DMA memory with wrong
622 of the DMA-API call which caused this warning.
630 The debugfs directory for the DMA-API debugging code is called dma-api/. In
673 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
691 to check DMA mapping errors on addresses returned by dma_map_single() and
697 routines to enable DMA mapping error check debugging.