Generic IOMMU APIs
Generic IOMMU APIs
Generic IOMMU APIs
This document describes the DMA API. For a more gentle introduction
of the API (and actual examples), see Documentation/DMA-API-HOWTO.txt.
This API is split into two pieces. Part I describes the basic API.
Part II describes extensions for supporting non-consistent memory
machines. Unless you know that your driver absolutely has to support
non-consistent platforms (this is usually only legacy platforms) you
should only use the API described in part I.
Part I - dma_API
----------------
A dma_addr_t can hold any valid DMA address for the platform. It can be
given to a device to use as a DMA source or target. A CPU cannot reference
a dma_addr_t directly because there may be translation between its physical
address space and the DMA address space.
::
>-------void *
>-------dma_alloc_coherent(struct device *dev, size_t size,
>------->------->------- dma_addr_t *dma_handle, gfp_t flag)