iommu/io-pgtable-arm-v7s: Use ias to check the valid iova in unmap
authorYong Wu <yong.wu@mediatek.com>
Mon, 11 Jan 2021 11:18:50 +0000 (19:18 +0800)
committerWill Deacon <will@kernel.org>
Mon, 1 Feb 2021 11:31:16 +0000 (11:31 +0000)
Use the ias for the valid iova checking in arm_v7s_unmap. This is a
preparing patch for supporting iova 34bit for MediaTek.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Link: https://lore.kernel.org/r/20210111111914.22211-10-yong.wu@mediatek.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/io-pgtable-arm-v7s.c

index 929cb15..03f3506 100644 (file)
@@ -711,7 +711,7 @@ static size_t arm_v7s_unmap(struct io_pgtable_ops *ops, unsigned long iova,
 {
        struct arm_v7s_io_pgtable *data = io_pgtable_ops_to_data(ops);
 
-       if (WARN_ON(upper_32_bits(iova)))
+       if (WARN_ON(iova >= (1ULL << data->iop.cfg.ias)))
                return 0;
 
        return __arm_v7s_unmap(data, gather, iova, size, 1, data->pgd);