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
115 address usable by the CPU, and the DMA address usable by the pool's
123 dma_pool_alloc(); the CPU (vaddr) and DMA addresses are what
134 Part Ic - DMA addressing limitations
140 Checks to see if the device can support DMA to the memory described by
154 streaming and coherent DMA mask parameters if it is.
188 Part Id - Streaming DMA mappings
196 device and returns the DMA address of the memory.
215 Further, the DMA address of the memory must be within the
217 addressable region for the device, i.e., if the DMA address of
218 the memory ANDed with the dma_mask is still equal to the DMA
219 address, then the device can perform DMA to the memory). To
222 the DMA address range of the allocation (e.g., on x86, GFP_DMA
223 guarantees to be within the first 16MB of available DMA addresses,
228 maps an I/O DMA address to a physical memory address). However, to be
291 DMA address with dma_mapping_error(). A non-zero return value means the mapping
293 reduce current DMA mapping usage or delay and try again later).
299 Returns: the number of DMA address segments mapped (this may be shorter
343 DMA address entries returned.
366 - Before reading values that have been written by DMA from the device
368 - After writing values that will be written to the device using DMA
399 struct dma_attrs encapsulates a set of "DMA attributes". For the
402 The interpretation of DMA attributes is architecture-specific, and
403 each attribute should be documented in Documentation/DMA-attributes.txt.
412 for DMA:
416 * documented in Documentation/DMA-attributes.txt */
444 Warning: These pieces of the DMA API should not be used in the
510 device_addr is the DMA address the device needs to be programmed
576 Part III - Debug drivers use of the DMA-API
579 The DMA-API as described above has some constraints. DMA addresses must be
585 To debug drivers and find bugs in the usage of the DMA-API checking code can
588 debugging of DMA-API usage" option in your kernel configuration. Enabling this
592 about what DMA memory was allocated for which device. If this code detects an
600 forcedeth 0000:00:08.0: DMA-API: device driver frees DMA memory with wrong
628 of the DMA-API call which caused this warning.
636 The debugfs directory for the DMA-API debugging code is called dma-api/. In
679 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
697 to check DMA mapping errors on addresses returned by dma_map_single() and
703 routines to enable DMA mapping error check debugging.