• Andreas Herrmann's avatar
    arm: dma-mapping: Add support to extend DMA IOMMU mappings · 4d852ef8
    Andreas Herrmann authored
    Instead of using just one bitmap to keep track of IO virtual addresses
    (handed out for IOMMU use) introduce an array of bitmaps. This allows
    us to extend existing mappings when running out of iova space in the
    initial mapping etc.
    
    If there is not enough space in the mapping to service an IO virtual
    address allocation request, __alloc_iova() tries to extend the mapping
    -- by allocating another bitmap -- and makes another allocation
    attempt using the freshly allocated bitmap.
    
    This allows arm iommu drivers to start with a decent initial size when
    an dma_iommu_mapping is created and still to avoid running out of IO
    virtual addresses for the mapping.
    Signed-off-by: default avatarAndreas Herrmann <andreas.herrmann@calxeda.com>
    [mszyprow: removed extensions parameter to arm_iommu_create_mapping()
     function, which will be modified in the next patch anyway, also some
     debug messages about extending bitmap]
    Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    4d852ef8
dma-iommu.h 1006 Bytes