iommu/rockchip: Perform a reset on shutdown
authorMarc Zyngier <marc.zyngier@arm.com>
Tue, 20 Feb 2018 20:25:04 +0000 (20:25 +0000)
committerJoerg Roedel <jroedel@suse.de>
Thu, 15 Mar 2018 14:11:56 +0000 (15:11 +0100)
commit1a4e90f25b2ceca3152efa6f7a9e0565c52e34c1
tree28cf9cbade8a45f9eb65841278a0e8b888d7c7da
parent0c8efd610b58cb23cefdfa12015799079aef94ae
iommu/rockchip: Perform a reset on shutdown

Trying to do a kexec whilst the iommus are still on is proving to be
a challenging exercise. It is terribly unsafe, as we're reusing the
memory allocated for the page tables, leading to a likely crash.

Let's implement a shutdown method that will at least try to stop
DMA from going crazy behind our back. Note that we need to be
extra cautious when doing so, as the IOMMU may not be clocked
if controlled by a another master, as typical on Rockchip system.

Suggested-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/rockchip-iommu.c