[PATCH v6 12/25] iommu: exynos: add support for runtime_pm
Cho KyongHo
pullip.cho at samsung.com
Sun May 10 06:38:11 PDT 2015
On Mon, 04 May 2015 10:16:07 +0200 Marek Szyprowski <m.szyprowski at samsung.com> wrote:
> This patch fixes support for runtime power management for SYSMMU
> controllers, so they are enabled when master device is attached.
>
You should later think that this style of runtime PM support
will increase the leakage current because some devices may
enable System MMUs during they are not working.
If a device driver of a master device attaches its iommu domain
in probe, its local power will be never gated.
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>
> ---
> drivers/iommu/exynos-iommu.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index 598660c87410..734107ec78fa 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -702,6 +702,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;
> @@ -743,6 +744,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;
> }
> }
> --
> 1.9.2
>
--
samsung.com <pullip.cho at samsung.com>
More information about the linux-arm-kernel
mailing list