[PATCHv2 2/4] mm: cma: Contiguous Memory Allocator added

Jonathan Corbet corbet at lwn.net
Tue Jul 27 08:58:42 EDT 2010


On Tue, 27 Jul 2010 14:45:58 +0200
Marek Szyprowski <m.szyprowski at samsung.com> wrote:

> > How does one obtain the CPU address of this memory in order for the CPU
> > to access it?  
> 
> Right, we did not cover such case. In CMA approach we tried to separate
> memory allocation from the memory mapping into user/kernel space. Mapping
> a buffer is much more complicated process that cannot be handled in a
> generic way, so we decided to leave this for the device drivers. Usually
> video processing devices also don't need in-kernel mapping for such
> buffers at all.

Still...that *is* why I suggested an interface which would return both
the DMA address and a kernel-space virtual address, just like the DMA
API does...  Either that, or just return the void * kernel address and
let drivers do the DMA mapping themselves.  Returning only the
dma_addr_t address will make the interface difficult to use in many
situations.

jon



More information about the linux-arm-kernel mailing list