iommu/arm-smmu-v3: Retire disable_bypass parameter
authorRobin Murphy <robin.murphy@arm.com>
Fri, 5 Apr 2024 16:52:07 +0000 (17:52 +0100)
committerWill Deacon <will@kernel.org>
Tue, 9 Apr 2024 10:23:30 +0000 (11:23 +0100)
commit734554fdfce6731b22f0777ec3f1e4a853354883
treeb037bbabb09143a686f33f7c40c5c1694e02c0e6
parent39cd87c4eb2b893354f3b850f916353f2658ae6f
iommu/arm-smmu-v3: Retire disable_bypass parameter

The disable_bypass parameter has been mostly meaningless for a long time
since the introduction of default domains. Its original intent is now
fulfilled by the controls users have over the default domain type, and
its remaining effect in the brief window between Stream Table
initialisation and default domain creation hardly seems worth the
complication. Furthermore, thanks to 2-level Stream Tables, disabling
disable_bypass (there's another reason not to like it right there) has
never guaranteed that any particular StreamID *will* bypass anyway - any
device which might actually care about that wants RMRs - so there's not
really much lost by taking away that option (which has already been
non-default for nearing 6 years now).

As part of this, also remove the weird behaviour where we "successfully"
probe and register a non-functional SMMU if the DT "#iommu-cells"
property is wrong. I have no memory of what possessed me to think that
was a good idea at the time, and by now I suspect it's likely to break
things worse than simply failing probe would.

Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Link: https://lore.kernel.org/r/ea3ac4cd595a81b5511729601b2f7d4668178438.1712335927.git.robin.murphy@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c