[RFC 1/3 v3] mm: iommu: An API to unify IOMMU, CPU and device memory management

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Sun Jul 11 21:25:08 EDT 2010


On Thu, 08 Jul 2010 16:59:52 -0700
Zach Pfeffer <zpfeffer at codeaurora.org> wrote:

> The problem I'm trying to solve boils down to this: map a set of
> contiguous physical buffers to an aligned IOMMU address. I need to
> allocate the set of physical buffers in a particular way: use 1 MB
> contiguous physical memory, then 64 KB, then 4 KB, etc. and I need to
> align the IOMMU address in a particular way.

Sounds like the DMA API already supports what you want.

You can set segment_boundary_mask in struct device_dma_parameters if
you want to align the IOMMU address. See IOMMU implementations that
support dma_get_seg_boundary() properly.



More information about the linux-arm-kernel mailing list