iommu/arm-smmu-v3: Work around MMU-600 erratum 1076982
MMU-600 versions prior to r1p0 fail to correctly generate a WFE wakeup event when the command queue transitions fom full to non-full. We can easily work around this by simply hiding the SEV capability such that we fall back to polling for space in the queue - since MMU-600 implements MSIs we wouldn't expect to need SEV for sync completion either, so this should have little to no impact. Signed-off-by:Robin Murphy <robin.murphy@arm.com> Reviewed-by:
Nicolin Chen <nicolinc@nvidia.com> Tested-by:
Nicolin Chen <nicolinc@nvidia.com> Link: https://lore.kernel.org/r/08adbe3d01024d8382a478325f73b56851f76e49.1683731256.git.robin.murphy@arm.com Signed-off-by:
Will Deacon <will@kernel.org>
Showing
- Documentation/arm64/silicon-errata.rst 2 additions, 0 deletionsDocumentation/arm64/silicon-errata.rst
- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c 29 additions, 0 deletionsdrivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h 6 additions, 0 deletionsdrivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h
Please register or sign in to comment