From: Marek Szyprowski Date: Tue, 19 May 2015 13:20:34 +0000 (+0200) Subject: iommu/exynos: Add support for runtime_pm X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ce70ca562b8d17cd995e3a3a44ad23d97dfbb38e;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git iommu/exynos: Add support for runtime_pm This patch fixes support for runtime power management for SYSMMU controllers, so they are enabled when master device is attached. Signed-off-by: Marek Szyprowski Tested-by: Javier Martinez Canillas Signed-off-by: Joerg Roedel --- diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c index b7f679c4659c..c65826847819 100644 --- a/drivers/iommu/exynos-iommu.c +++ b/drivers/iommu/exynos-iommu.c @@ -715,6 +715,7 @@ static int exynos_iommu_attach_device(struct iommu_domain *iommu_domain, return -ENODEV; list_for_each_entry(data, &owner->controllers, owner_node) { + pm_runtime_get_sync(data->sysmmu); ret = __sysmmu_enable(data, pagetable, domain); if (ret >= 0) { data->master = dev; @@ -756,6 +757,7 @@ static void exynos_iommu_detach_device(struct iommu_domain *iommu_domain, data->master = NULL; list_del_init(&data->domain_node); } + pm_runtime_put(data->sysmmu); found = true; } }