diff options
author | Will Deacon <will.deacon@arm.com> | 2014-03-13 11:46:57 +0000 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2014-05-02 16:49:31 +0100 |
commit | c44308413b92a555d1501a6c0db9489e288bb81b (patch) | |
tree | e5a41ace20b4c77f60519dfd515674ff3b3bd68c /drivers/iommu/arm-smmu.c | |
parent | d1db0eea852497762cab43b905b879dfcd3b8987 (diff) | |
download | talos-op-linux-c44308413b92a555d1501a6c0db9489e288bb81b.tar.gz talos-op-linux-c44308413b92a555d1501a6c0db9489e288bb81b.zip |
iommu/arm-smmu: allow 42-bit stage-1 output size with 64K pages
The output size of stage-1 is currently limited by the input size of
stage-2, which is further limited by VA_BITS since we make use of the
standard pgd_alloc functions for creating page tables.
This patch ensures that we use VA_BITS instead of a hardcoded '39'
for the stage-1 output size limit.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
-rw-r--r-- | drivers/iommu/arm-smmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 647c3c7fd742..afcb0e3492cf 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -1804,7 +1804,7 @@ static int arm_smmu_device_cfg_probe(struct arm_smmu_device *smmu) * allocation (PTRS_PER_PGD). */ #ifdef CONFIG_64BIT - smmu->s1_output_size = min(39UL, size); + smmu->s1_output_size = min((unsigned long)VA_BITS, size); #else smmu->s1_output_size = min(32UL, size); #endif |