Lines Matching +full:part +full:- +full:number
8 of the API (and actual examples), see Documentation/core-api/dma-api-howto.rst.
10 This API is split into two pieces. Part I describes the basic API.
11 Part II describes extensions for supporting non-consistent memory
13 non-consistent platforms (this is usually only legacy platforms) you
14 should only use the API described in part I.
16 Part I - dma_API
17 ----------------
19 To get the dma_API, you must #include <linux/dma-mapping.h>. This
27 Part Ia - Using large DMA-coherent buffers
28 ------------------------------------------
76 Part Ib - Using small DMA-coherent buffers
77 ------------------------------------------
79 To get this part of the dma_API, you must #include <linux/dmapool.h>
81 Many drivers need lots of small DMA-coherent memory regions for DMA
84 much like a struct kmem_cache, except that they use the DMA-coherent allocator,
86 for alignment, like queue heads needing to be aligned on N-byte boundaries.
95 dma_pool_create() initializes a pool of DMA-coherent buffers
150 Part Ic - DMA addressing limitations
151 ------------------------------------
215 addition, for high-rate short-lived streaming mappings, the upfront time
216 spent on the mapping may account for an appreciable part of the total
237 Part Id - Streaming DMA mappings
238 --------------------------------
265 capability, it will fail if the user tries to map a non-physically
276 the driver may specify various platform-dependent flags to restrict
303 primitive should be treated as read-only by the device. If the device
309 be treated as read-only by the driver. If the driver needs to write
369 the returned DMA address with dma_mapping_error(). A non-zero return value
379 Returns: the number of DMA address segments mapped (this may be shorter
403 where nents is the number of entries in the sglist.
407 physically contiguous) and returns the actual number of sg entries it
412 accessed sg->address and sg->length as shown above.
424 Note: <nents> must be the number you passed in, *not* the number of
460 - Before reading values that have been written by DMA from the device
462 - After writing values that will be written to the device using DMA
464 - before *and* after handing memory to the device if the memory is
495 The interpretation of DMA attributes is architecture-specific, and
497 Documentation/core-api/dma-attributes.rst.
508 #include <linux/dma-mapping.h>
509 /* DMA_ATTR_FOO should be defined in linux/dma-mapping.h and
510 * documented in Documentation/core-api/dma-attributes.rst */
534 Part II - Non-coherent DMA allocations
535 --------------------------------------
542 an I/O device, you should not be using this part of the API.
550 This routine allocates a region of <size> bytes of non-coherent memory. It
619 This routine allocates <size> bytes of non-coherent and possibly non-contiguous
625 indicated by sgt->nents, but it might have multiple CPU side segments as
626 indicated by sgt->orig_nents.
664 Once a non-contiguous allocation is mapped using this function, the
701 This API may return a number *larger* than the actual cache
707 Part III - Debug drivers use of the DMA-API
708 -------------------------------------------
710 The DMA-API as described above has some constraints. DMA addresses must be
716 To debug drivers and find bugs in the usage of the DMA-API checking code can
719 debugging of DMA-API usage" option in your kernel configuration. Enabling this
727 WARNING: at /data2/repos/linux-2.6-iommu/lib/dma-debug.c:448
730 forcedeth 0000:00:08.0: DMA-API: device driver frees DMA memory with wrong
734 Pid: 0, comm: swapper Tainted: G W 2.6.28-dmatest-09289-g8bb99c0 #1
755 <EOI> <4>---[ end trace f6435a98e2a38c0e ]---
758 of the DMA-API call which caused this warning.
766 The debugfs directory for the DMA-API debugging code is called dma-api/. In
770 dma-api/all_errors This file contains a numeric value. If this
776 dma-api/disabled This read-only file contains the character 'Y'
781 dma-api/dump This read-only file contains current DMA
784 dma-api/error_count This file is read-only and shows the total
787 dma-api/num_errors The number in this file shows how many
789 before it stops. This number is initialized to
793 dma-api/min_free_entries This read-only file can be read to get the
794 minimum number of free dma_debug_entries the
799 dma-api/num_free_entries The current number of free dma_debug_entries
802 dma-api/nr_total_entries The total number of dma_debug_entries in the
805 dma-api/driver_filter You can write a name of a driver into this file
814 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
824 out of dma_debug_entries and was unable to allocate more on-demand. 65536
825 entries are preallocated at boot - if this is too low for you boot with
827 that the code allocates entries in batches, so the exact number of
828 preallocated entries may be greater than the actual number requested. The
839 dma-debug interface debug_dma_mapping_error() to debug drivers that fail