Skip to content
  • Eric Auger's avatar
    f14fb6c2
    dma: Introduce dma_aligned_pow2_mask() · f14fb6c2
    Eric Auger authored
    
    
    Currently get_naturally_aligned_size() is used by the intel iommu
    to compute the maximum invalidation range based on @size which is
    a power of 2 while being aligned with the @start address and less
    than the maximum range defined by @gaw.
    
    This helper is also useful for other iommu devices (virtio-iommu,
    SMMUv3) to make sure IOMMU UNMAP notifiers only are called with
    power of 2 range sizes.
    
    Let's move this latter into dma-helpers.c and rename it into
    dma_aligned_pow2_mask(). Also rewrite the helper so that it
    accomodates UINT64_MAX values for the size mask and max mask.
    It now returns a mask instead of a size. Change the caller.
    
    Signed-off-by: default avatarEric Auger <eric.auger@redhat.com>
    Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
    Message-id: 20210309102742.30442-3-eric.auger@redhat.com
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    f14fb6c2
    dma: Introduce dma_aligned_pow2_mask()
    Eric Auger authored
    
    
    Currently get_naturally_aligned_size() is used by the intel iommu
    to compute the maximum invalidation range based on @size which is
    a power of 2 while being aligned with the @start address and less
    than the maximum range defined by @gaw.
    
    This helper is also useful for other iommu devices (virtio-iommu,
    SMMUv3) to make sure IOMMU UNMAP notifiers only are called with
    power of 2 range sizes.
    
    Let's move this latter into dma-helpers.c and rename it into
    dma_aligned_pow2_mask(). Also rewrite the helper so that it
    accomodates UINT64_MAX values for the size mask and max mask.
    It now returns a mask instead of a size. Change the caller.
    
    Signed-off-by: default avatarEric Auger <eric.auger@redhat.com>
    Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
    Message-id: 20210309102742.30442-3-eric.auger@redhat.com
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading