diff options
author | Will Deacon <will.deacon@arm.com> | 2015-08-03 12:35:40 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-08-06 16:35:38 +0300 |
commit | 85430968ae72650a63f77f05a29d5c56e41581db (patch) | |
tree | e52a011283b970e5eb60eeea81e1955753fa2237 /drivers/iommu/arm-smmu-v3.c | |
parent | bae2c2d421cdea9dd8d62425eef99e389584cdb3 (diff) | |
download | linux-85430968ae72650a63f77f05a29d5c56e41581db.tar.xz |
iommu/arm-smmu: Treat unknown OAS as 48-bit
A late change to the SMMUv3 architecture ensures that the OAS field
will be monotonically increasing, so we can assume that an unknown OAS
is at least 48-bit and use that, rather than fail the device probe.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu-v3.c')
-rw-r--r-- | drivers/iommu/arm-smmu-v3.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 4f093373f4c3..e51646a3b973 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -2550,12 +2550,12 @@ static int arm_smmu_device_probe(struct arm_smmu_device *smmu) case IDR5_OAS_44_BIT: smmu->oas = 44; break; + default: + dev_info(smmu->dev, + "unknown output address size. Truncating to 48-bit\n"); + /* Fallthrough */ case IDR5_OAS_48_BIT: smmu->oas = 48; - break; - default: - dev_err(smmu->dev, "unknown output address size!\n"); - return -ENXIO; } /* Set the DMA mask for our table walker */ |