• M
    iommu/arm-smmu: add support for iova_to_phys through ATS1PR · 859a732e
    Mitchel Humpherys 提交于
    Currently, we provide the iommu_ops.iova_to_phys service by doing a
    table walk in software to translate IO virtual addresses to physical
    addresses. On SMMUs that support it, it can be useful to ask the SMMU
    itself to do the translation. This can be used to warm the TLBs for an
    SMMU. It can also be useful for testing and hardware validation.
    
    Since the address translation registers are optional on SMMUv2, only
    enable hardware translations when using SMMUv1 or when SMMU_IDR0.S1TS=1
    and SMMU_IDR0.ATOSNS=0, as described in the ARM SMMU v1-v2 spec.
    Signed-off-by: NMitchel Humpherys <mitchelh@codeaurora.org>
    [will: reworked on top of generic iopgtbl changes]
    Signed-off-by: NWill Deacon <will.deacon@arm.com>
    859a732e
arm-smmu.c 49.3 KB