Lines Matching refs:be

21 A dma_addr_t can hold any valid DMA address for the platform.  It can be
23 a dma_addr_t directly because there may be translation between its physical
34 the processor can immediately be read by the processor or device
44 It also returns a <dma_handle> which may be cast to an unsigned integer the
48 Note: consistent memory can be expensive on some platforms, and the
49 minimum allocation length may be as big as a page, so you should
70 size and dma_handle must all be the same as those passed into
71 dma_alloc_coherent(). cpu_addr must be the virtual address returned by
75 may only be called with IRQs enabled.
88 for alignment, like queue heads needing to be aligned on N-byte boundaries.
96 for use with a given device. It must be called in a context which
102 in bytes, and must be a power of two). If your device has no boundary
136 dma_pool_destroy() frees the resources of the pool. It must be
189 Maps a piece of processor virtual memory so it can be accessed by the
192 The direction for both APIs may be converted freely by casting.
201 Notes: Not all memory regions in a machine can be mapped by this API.
202 Further, contiguous kernel virtual space may not be contiguous as
205 contiguous piece of memory. For this reason, memory to be mapped by
206 this API should be obtained from sources which guarantee it to be
209 Further, the DMA address of the memory must be within the
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
231 may not be known at compile time, the API will not enforce this
235 are guaranteed also to be cache line boundaries).
237 DMA_TO_DEVICE synchronisation must be done after the last modification
240 primitive should be treated as read-only by the device. If the device
241 may write to it at any point, it should be DMA_BIDIRECTIONAL (see
244 DMA_FROM_DEVICE synchronisation must be done before the driver
245 accesses data that may be changed by the device. This memory should
246 be treated as read-only by the driver. If the driver needs to write
247 to it at any point, it should be DMA_BIDIRECTIONAL (see below).
254 are flushed from the processor) and once before the data may be
263 must be identical to those passed in (and returned) by the mapping
286 could not be created and the driver should take appropriate action (e.g.
293 Returns: the number of DMA address segments mapped (this may be shorter
298 Please note that the sg cannot be mapped again if it has been mapped once.
320 into one (e.g. with an IOMMU, or if several pages just happen to be
324 Then you should loop count times (note: this can be less than nents times)
333 must be the same as those and passed in to the scatter/gather mapping
336 Note: <nents> must be the number you passed in, *not* the number of
353 and device. With the sync_sg API, all the parameters must be the same
362 - After writing values that will be written to the device using DMA
397 each attribute should be documented in Documentation/DMA-attributes.txt.
409 /* DMA_ATTR_FOO should be defined in linux/dma-attrs.h and
438 Warning: These pieces of the DMA API should not be used in the
443 processor and an I/O device, you should not be using this part of the
460 only use this API if you positively know your driver will be
469 be identical to those passed in (and returned by
481 into the width returned by this call. It will also always be a power
498 Declare region of memory to be handed out by dma_alloc_coherent() when
502 assigned (this will be ioremapped so the CPU can access the region).
504 device_addr is the DMA address the device needs to be programmed
505 with to actually address this memory (this will be handed out as the
508 size is the size of the area (must be multiples of PAGE_SIZE).
510 flags can be ORed together and are:
513 dma_alloc_coherent() be directly writable.
516 dma_alloc_coherent() be addressable using read()/write()/memcpy_toio() etc.
518 One or both of these flags must be present.
520 DMA_MEMORY_INCLUDES_CHILDREN - make the declared memory be allocated by
528 The return value will be either DMA_MEMORY_MAP or DMA_MEMORY_IO and
534 dma_alloc_coherent() may no longer be accessed directly, but instead
535 must be accessed using the correct bus functions. If your driver
540 memory may be declared per device.
564 size is the size (and should be a page-sized multiple).
566 The return value will be either a pointer to the processor virtual
573 The DMA-API as described above has some constraints. DMA addresses must be
580 be compiled into the kernel which will tell the developer about those
627 be disabled via debugfs. See the debugfs interface documentation below for
631 this directory the following files can currently be found:
648 warnings will be printed to the kernel log
650 one at system boot and be set by writing into
654 This read-only file can be read to get the
671 If you have this code compiled into your kernel it will be enabled by default.
680 driver afterwards. This filter can be disabled or changed later using debugfs.
696 leads up to the unmap. This interface can be called from dma_mapping_error()