iommu/rockchip: Add missing set_platform_dma_ops callback
authorSteven Price <steven.price@arm.com>
Fri, 31 Mar 2023 09:51:54 +0000 (10:51 +0100)
committerJoerg Roedel <jroedel@suse.de>
Thu, 13 Apr 2023 09:50:45 +0000 (11:50 +0200)
commit25c2325575cc7f960c9f81f2b77606478f6b911f
tree855b1e0b41e18601d585a1a77d706a49fb47dba4
parente8d018dd0257f744ca50a729e3d042cf2ec9da65
iommu/rockchip: Add missing set_platform_dma_ops callback

Similar to exynos, we need a set_platform_dma_ops() callback for proper
operation on ARM 32 bit after recent changes in the IOMMU framework
(detach ops removal). But also the use of a NULL domain is confusing.

Rework the code to add support for IOMMU_DOMAIN_IDENTITY and a singleton
rk_identity_domain which is assigned to domain when using an identity
mapping rather than "detaching". This makes the code easier to reason about.

Signed-off-by: Steven Price <steven.price@arm.com>
Acked-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20230331095154.2671129-1-steven.price@arm.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/rockchip-iommu.c