On Thu, Jul 16, 2020 at 05:16:19PM -0700, Bjorn Andersson wrote:
With many Qualcomm platforms not having functional S2CR BYPASS a
temporary IOMMU domain, without translation, needs to be allocated in
order to allow these memory transactions.
Unfortunately the boot loader uses the first few context banks, so
rather than overwriting a active bank the last context bank is used and
streams are diverted here during initialization.
This also performs the readback of SMR registers for the Qualcomm
platform, to trigger the mechanism.
This is based on prior work by Thierry Reding and Laurentiu Tudor.
Tested-by: John Stultz <redacted>
Tested-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Bjorn Andersson <redacted>
---
Changes since v1:
- Rebased to avoid conflict
- Picked up tested-by
drivers/iommu/arm-smmu-qcom.c | 11 +++++
drivers/iommu/arm-smmu.c | 79 +++++++++++++++++++++++++++++++++--
Perhaps the CB allocator callback can help to reduce the changes to the core
driver here. What do you think?
Will
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel