iommu/rockchip: Control clocks needed to access the IOMMU
authorTomasz Figa <tfiga@chromium.org>
Fri, 23 Mar 2018 07:38:08 +0000 (15:38 +0800)
committerJoerg Roedel <jroedel@suse.de>
Thu, 29 Mar 2018 10:22:26 +0000 (12:22 +0200)
commitf2e3a5f557ad27f6a6f447717090a39cea238d6a
tree9566310cadbebebfe40ea424e3d0712a088a2009
parentbf2a5e717a47d042ca5f9f438cf186633f23033b
iommu/rockchip: Control clocks needed to access the IOMMU

Current code relies on master driver enabling necessary clocks before
IOMMU is accessed, however there are cases when the IOMMU should be
accessed while the master is not running yet, for example allocating
V4L2 videobuf2 buffers, which is done by the VB2 framework using DMA
mapping API and doesn't engage the master driver at all.

This patch fixes the problem by letting clocks needed for IOMMU
operation to be listed in Device Tree and making the driver enable them
for the time of accessing the hardware.

Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Acked-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/rockchip-iommu.c