Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 85430968 authored by Will Deacon's avatar Will Deacon
Browse files

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: default avatarWill Deacon <will.deacon@arm.com>
parent bae2c2d4
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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 */