iommu: exynos: add support for runtime_pm
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 23 Jan 2015 15:51:23 +0000 (16:51 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 13 Apr 2015 10:44:10 +0000 (12:44 +0200)
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 <m.szyprowski@samsung.com>
drivers/iommu/exynos-iommu.c

index 824670565ac0d0a8d848a4c1f79e4acbe53f16e5..c18d8b0ac06cfce56389cce30c2c88a5608c4abf 100644 (file)
@@ -695,6 +695,7 @@ static int exynos_iommu_attach_device(struct iommu_domain *domain,
                return -ENODEV;
 
        list_for_each_entry(data, &owner->clients, owner_node) {
+               pm_runtime_get_sync(data->sysmmu);
                ret = __sysmmu_enable(data, pagetable, domain);
                if (ret >= 0) {
                        data->master = dev;
@@ -736,6 +737,7 @@ static void exynos_iommu_detach_device(struct iommu_domain *domain,
                                data->master = NULL;
                                list_del_init(&data->domain_node);
                        }
+                       pm_runtime_put(data->sysmmu);
                        found = true;
                }
        }