On Wed, Jul 09, 2014 at 11:46:56PM +0100, Olof Johansson wrote: > On Wed, Jul 2, 2014 at 11:03 AM, Laura Abbott <lauraa@xxxxxxxxxxxxxx> 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 <lauraa@xxxxxxxxxxxxxx> > > 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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>