[RFC 3/3] mm: iommu: The Virtual Contiguous Memory Manager
FUJITA Tomonori
fujita.tomonori at lab.ntt.co.jp
Tue Jul 13 04:30:43 EDT 2010
On Tue, 13 Jul 2010 09:20:12 +0100
Alan Cox <alan at lxorguk.ukuu.org.uk> wrote:
> > Why video4linux can't use the DMA API? Doing DMA with vmalloc'ed
> > buffers is a thing that we should avoid (there are some exceptions
> > like xfs though).
>
> Vmalloc is about the only API for creating virtually linear memory areas.
> The video stuff really needs that to avoid lots of horrible special cases
> when doing buffer processing and the like.
>
> Pretty much each driver using it has a pair of functions 'rvmalloc' and
> 'rvfree' so given a proper "vmalloc_for_dma()" type interface can easily
> be switched
We already have helper functions for DMA with vmap pages,
flush_kernel_vmap_range and invalidate_kernel_vmap_range.
I think that the current DMA API with the above helper functions
should work well drivers that want virtually linear large memory areas
(such as xfs).
More information about the linux-arm-kernel
mailing list