• Robin Murphy's avatar
    dma-mapping: Generalise dma_32bit_limit flag · f07d141f
    Robin Murphy authored
    Whilst the notion of an upstream DMA restriction is most commonly seen
    in PCI host bridges saddled with a 32-bit native interface, a more
    general version of the same issue can exist on complex SoCs where a bus
    or point-to-point interconnect link from a device's DMA master interface
    to another component along the path to memory (often an IOMMU) may carry
    fewer address bits than the interfaces at both ends nominally support.
    In order to properly deal with this, the first step is to expand the
    dma_32bit_limit flag into an arbitrary mask.
    
    To minimise the impact on existing code, we'll make sure to only
    consider this new mask valid if set. That makes sense anyway, since a
    mask of zero would represent DMA not being wired up at all, and that
    would be better handled by not providing valid ops in the first place.
    Signed-off-by: default avatarRobin Murphy <robin.murphy@arm.com>
    Acked-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    f07d141f
direct.c 5.45 KB