On Wed, Jul 09, 2014 at 11:46:56PM +0100, Olof Johansson wrote: > On Wed, Jul 2, 2014 at 11:03 AM, Laura Abbott <[email protected]> wrote: > > For architectures without coherent DMA, memory for DMA may > > need to be remapped with coherent attributes. Factor out > > the the remapping code from arm and put it in a > > common location to reduced code duplication. > > > > Signed-off-by: Laura Abbott <[email protected]> > > Hm. The switch from ioremap to map_vm_area() here seems to imply that > lib/ioremap can/should be reworked to use just wrap the vmalloc > functions too?
ioremap_page_range() does not require the allocation of a map page array and assumes that the mapped memory is physically contiguous. This would be more efficient than the vmap() implementation which is generic enough to allow non-contiguous memory allocations. At some point, we'll have to support SMMU on arm64 and we can have 4 combinations of coherency and IOMMU. When an IOMMU is present, we don't require physically contiguous memory but we may require non-cacheable mappings, in which case vmap comes in handy. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

