• R
    iommu/io-pgtable-arm: Simplify PGD size handling · c79278c1
    Robin Murphy 提交于
    We use data->pgd_size directly for the one-off allocation and freeing of
    the top-level table, but otherwise it serves for ARM_LPAE_PGD_IDX() to
    repeatedly re-calculate the effective number of top-level address bits
    it represents. Flip this around so we store the form we most commonly
    need, and derive the lesser-used one instead. This cuts a whole bunch of
    code out of the map/unmap/iova_to_phys fast-paths.
    Signed-off-by: NRobin Murphy <robin.murphy@arm.com>
    Signed-off-by: NWill Deacon <will@kernel.org>
    c79278c1
io-pgtable-arm.c 33.7 KB