iommu/arm-smmu: Allow implementation specific write_s2cr
authorBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 19 Oct 2020 18:23:21 +0000 (11:23 -0700)
committerWill Deacon <will@kernel.org>
Thu, 29 Oct 2020 18:12:10 +0000 (18:12 +0000)
commit56b75b51ed6d5e7bffda59440404409bca2dff00
tree854c99426a880fe760fff24e109274978ccb9a69
parent3650b228f83adda7e5ee532e2b90429c03f7b9ec
iommu/arm-smmu: Allow implementation specific write_s2cr

The firmware found in some Qualcomm platforms intercepts writes to the
S2CR register in order to replace the BYPASS type with FAULT. Further
more it treats faults at this level as catastrophic and restarts the
device.

Add support for providing implementation specific versions of the S2CR
write function, to allow the Qualcomm driver to work around this
behavior.

Cc: <stable@vger.kernel.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Link: https://lore.kernel.org/r/20201019182323.3162386-2-bjorn.andersson@linaro.org
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu/arm-smmu.c
drivers/iommu/arm/arm-smmu/arm-smmu.h