forked from luck/tmp_suning_uos_patched
dma-mapping: move the dma_declare_coherent_memory documentation
dma_declare_coherent_memory should not be in a DMA API guide aimed at driver writers (that is consumers of the API). Move it to a comment near the function instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Robin Murphy <robin.murphy@arm.com>
This commit is contained in:
parent
545d29272f
commit
a92df4f62f
|
@ -586,30 +586,6 @@ the DMA_ATTR_NON_CONSISTENT flag starting at virtual address vaddr and
|
||||||
continuing on for size. Again, you *must* observe the cache line
|
continuing on for size. Again, you *must* observe the cache line
|
||||||
boundaries when doing this.
|
boundaries when doing this.
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
int
|
|
||||||
dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
|
|
||||||
dma_addr_t device_addr, size_t size);
|
|
||||||
|
|
||||||
Declare region of memory to be handed out by dma_alloc_coherent() when
|
|
||||||
it's asked for coherent memory for this device.
|
|
||||||
|
|
||||||
phys_addr is the CPU physical address to which the memory is currently
|
|
||||||
assigned (this will be ioremapped so the CPU can access the region).
|
|
||||||
|
|
||||||
device_addr is the DMA address the device needs to be programmed
|
|
||||||
with to actually address this memory (this will be handed out as the
|
|
||||||
dma_addr_t in dma_alloc_coherent()).
|
|
||||||
|
|
||||||
size is the size of the area (must be multiples of PAGE_SIZE).
|
|
||||||
|
|
||||||
As a simplification for the platforms, only *one* such region of
|
|
||||||
memory may be declared per device.
|
|
||||||
|
|
||||||
For reasons of efficiency, most platforms choose to track the declared
|
|
||||||
region only at the granularity of a page. For smaller allocations,
|
|
||||||
you should use the dma_pool() API.
|
|
||||||
|
|
||||||
Part III - Debug drivers use of the DMA-API
|
Part III - Debug drivers use of the DMA-API
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
|
|
|
@ -107,6 +107,23 @@ static int dma_assign_coherent_memory(struct device *dev,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Declare a region of memory to be handed out by dma_alloc_coherent() when it
|
||||||
|
* is asked for coherent memory for this device. This shall only be used
|
||||||
|
* from platform code, usually based on the device tree description.
|
||||||
|
*
|
||||||
|
* phys_addr is the CPU physical address to which the memory is currently
|
||||||
|
* assigned (this will be ioremapped so the CPU can access the region).
|
||||||
|
*
|
||||||
|
* device_addr is the DMA address the device needs to be programmed with to
|
||||||
|
* actually address this memory (this will be handed out as the dma_addr_t in
|
||||||
|
* dma_alloc_coherent()).
|
||||||
|
*
|
||||||
|
* size is the size of the area (must be a multiple of PAGE_SIZE).
|
||||||
|
*
|
||||||
|
* As a simplification for the platforms, only *one* such region of memory may
|
||||||
|
* be declared per device.
|
||||||
|
*/
|
||||||
int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
|
int dma_declare_coherent_memory(struct device *dev, phys_addr_t phys_addr,
|
||||||
dma_addr_t device_addr, size_t size)
|
dma_addr_t device_addr, size_t size)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user