• Home
  • Raw
  • Download

Lines Matching +full:scatter +full:- +full:gather

8 of the API (and actual examples), see Documentation/core-api/dma-api-howto.rst.
11 Part II describes extensions for supporting non-consistent memory
13 non-consistent platforms (this is usually only legacy platforms) you
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 ------------------------------------------
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
237 Part Id - Streaming DMA mappings
238 --------------------------------
264 physical memory. Since this API does not provide any scatter/gather
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
380 than <nents> passed in if some elements of the scatter/gather list are
412 accessed sg->address and sg->length as shown above.
420 Unmap the previously mapped scatter/gather list. All the parameters
421 must be the same as those and passed in to the scatter/gather mapping
449 Synchronise a single contiguous or scatter/gather mapping for the CPU
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 */
533 Part Ie - IOVA-based DMA mappings
534 ---------------------------------
555 Can be used by the driver to check if the IOVA-based API is used after a
575 Must be called to sync the IOMMU page tables for IOVA-range mapped by one or
578 For drivers that use a one-shot mapping, all ranges can be unmapped and the
605 Part II - Non-coherent DMA allocations
606 --------------------------------------
621 This routine allocates a region of <size> bytes of non-coherent memory. It
690 This routine allocates <size> bytes of non-coherent and possibly non-contiguous
696 indicated by sgt->nents, but it might have multiple CPU side segments as
697 indicated by sgt->orig_nents.
735 Once a non-contiguous allocation is mapped using this function, the
778 Part III - Debug drivers use of the DMA-API
779 -------------------------------------------
781 The DMA-API as described above has some constraints. DMA addresses must be
787 To debug drivers and find bugs in the usage of the DMA-API checking code can
790 debugging of DMA-API usage" option in your kernel configuration. Enabling this
798 WARNING: at /data2/repos/linux-2.6-iommu/lib/dma-debug.c:448
801 forcedeth 0000:00:08.0: DMA-API: device driver frees DMA memory with wrong
805 Pid: 0, comm: swapper Tainted: G W 2.6.28-dmatest-09289-g8bb99c0 #1
826 <EOI> <4>---[ end trace f6435a98e2a38c0e ]---
829 of the DMA-API call which caused this warning.
837 The debugfs directory for the DMA-API debugging code is called dma-api/. In
841 dma-api/all_errors This file contains a numeric value. If this
847 dma-api/disabled This read-only file contains the character 'Y'
852 dma-api/dump This read-only file contains current DMA
855 dma-api/error_count This file is read-only and shows the total
858 dma-api/num_errors The number in this file shows how many
864 dma-api/min_free_entries This read-only file can be read to get the
870 dma-api/num_free_entries The current number of free dma_debug_entries
873 dma-api/nr_total_entries The total number of dma_debug_entries in the
876 dma-api/driver_filter You can write a name of a driver into this file
885 'dma_debug=off' as a boot parameter. This will disable DMA-API debugging.
895 out of dma_debug_entries and was unable to allocate more on-demand. 65536
896 entries are preallocated at boot - if this is too low for you boot with
910 dma-debug interface debug_dma_mapping_error() to debug drivers that fail