iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #74
authorLinu Cherian <linu.cherian@cavium.com>
Thu, 22 Jun 2017 12:05:37 +0000 (17:35 +0530)
committerWill Deacon <will.deacon@arm.com>
Fri, 23 Jun 2017 16:58:03 +0000 (17:58 +0100)
commite5b829de053d9994dfc8652ce558e90e3406c578
tree6215ecb21bf1ebad7ff0e5a123369d1cb69d764d
parent403e8c7c5bcaff3291a2c7012fe80f707a854d10
iommu/arm-smmu-v3: Add workaround for Cavium ThunderX2 erratum #74

Cavium ThunderX2 SMMU implementation doesn't support page 1 register space
and PAGE0_REGS_ONLY option is enabled as an errata workaround.
This option when turned on, replaces all page 1 offsets used for
EVTQ_PROD/CONS, PRIQ_PROD/CONS register access with page 0 offsets.

SMMU resource size checks are now based on SMMU option PAGE0_REGS_ONLY,
since resource size can be either 64k/128k.
For this, arm_smmu_device_dt_probe/acpi_probe has been moved before
platform_get_resource call, so that SMMU options are set beforehand.

Signed-off-by: Linu Cherian <linu.cherian@cavium.com>
Signed-off-by: Geetha Sowjanya <geethasowjanya.akula@cavium.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Documentation/arm64/silicon-errata.txt
Documentation/devicetree/bindings/iommu/arm,smmu-v3.txt
drivers/iommu/arm-smmu-v3.c