All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-11 14:34 ` Marek Szyprowski
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-samsung-soc, linux-arm-kernel, iommu
  Cc: Marek Szyprowski, Kyungmin Park, Kukjin Kim, KyongHo Cho

Hi!

These two patches fixes operation of the SYSMMU driver (v12 version [1])
with the new power domain driver based on generic power domains and
runtime pw, which has been merged to Linux kernel v3.4-rc1.

[1] https://lkml.org/lkml/2012/3/15/51

Best regards
Marek Szyprowski
Samsung Poland R&D Center


Patch summary:

Marek Szyprowski (2):
  iommu/exynos: fix runtime pm support
  ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver

 arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
 arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
 drivers/iommu/exynos-iommu.c      |   20 ++++++++++++++++++--
 3 files changed, 36 insertions(+), 3 deletions(-)

-- 
1.7.1.569.g6f426

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-11 14:34 ` Marek Szyprowski
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-arm-kernel

Hi!

These two patches fixes operation of the SYSMMU driver (v12 version [1])
with the new power domain driver based on generic power domains and
runtime pw, which has been merged to Linux kernel v3.4-rc1.

[1] https://lkml.org/lkml/2012/3/15/51

Best regards
Marek Szyprowski
Samsung Poland R&D Center


Patch summary:

Marek Szyprowski (2):
  iommu/exynos: fix runtime pm support
  ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver

 arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
 arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
 drivers/iommu/exynos-iommu.c      |   20 ++++++++++++++++++--
 3 files changed, 36 insertions(+), 3 deletions(-)

-- 
1.7.1.569.g6f426

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/2] iommu/exynos: fix runtime pm support
  2012-04-11 14:34 ` Marek Szyprowski
@ 2012-04-11 14:34   ` Marek Szyprowski
  -1 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-samsung-soc, linux-arm-kernel, iommu
  Cc: Marek Szyprowski, Kyungmin Park, Kukjin Kim, KyongHo Cho

Fix registration to runtime pw and add missing resume callback.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index b8daf7c..eef924d 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -651,8 +651,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
 
 	__set_fault_handler(data, &default_fault_handler);
 
-	if (dev->parent)
-		pm_runtime_enable(dev);
+	pm_runtime_enable(dev);
 
 	dev_dbg(dev, "(%s) Initialized\n", data->dbgname);
 	return 0;
@@ -674,11 +673,28 @@ err_alloc:
 	return ret;
 }
 
+static int exynos_pm_resume(struct device *dev)
+{
+	struct sysmmu_drvdata *data;
+
+	data = dev_get_drvdata(dev);
+
+	if (is_sysmmu_active(data))
+		__exynos_sysmmu_enable(data, data->pgtable, NULL);
+
+	return 0;
+}
+
+const struct dev_pm_ops exynos_pm_ops = {
+	.resume = &exynos_pm_resume,
+};
+
 static struct platform_driver exynos_sysmmu_driver = {
 	.probe		= exynos_sysmmu_probe,
 	.driver		= {
 		.owner		= THIS_MODULE,
 		.name		= "exynos-sysmmu",
+		.pm		= &exynos_pm_ops,
 	}
 };
 
-- 
1.7.1.569.g6f426

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 1/2] iommu/exynos: fix runtime pm support
@ 2012-04-11 14:34   ` Marek Szyprowski
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-arm-kernel

Fix registration to runtime pw and add missing resume callback.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index b8daf7c..eef924d 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -651,8 +651,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
 
 	__set_fault_handler(data, &default_fault_handler);
 
-	if (dev->parent)
-		pm_runtime_enable(dev);
+	pm_runtime_enable(dev);
 
 	dev_dbg(dev, "(%s) Initialized\n", data->dbgname);
 	return 0;
@@ -674,11 +673,28 @@ err_alloc:
 	return ret;
 }
 
+static int exynos_pm_resume(struct device *dev)
+{
+	struct sysmmu_drvdata *data;
+
+	data = dev_get_drvdata(dev);
+
+	if (is_sysmmu_active(data))
+		__exynos_sysmmu_enable(data, data->pgtable, NULL);
+
+	return 0;
+}
+
+const struct dev_pm_ops exynos_pm_ops = {
+	.resume = &exynos_pm_resume,
+};
+
 static struct platform_driver exynos_sysmmu_driver = {
 	.probe		= exynos_sysmmu_probe,
 	.driver		= {
 		.owner		= THIS_MODULE,
 		.name		= "exynos-sysmmu",
+		.pm		= &exynos_pm_ops,
 	}
 };
 
-- 
1.7.1.569.g6f426

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
  2012-04-11 14:34 ` Marek Szyprowski
@ 2012-04-11 14:34     ` Marek Szyprowski
  -1 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: Kyungmin Park, Kukjin Kim, KyongHo Cho

SYSMMU platform devices must be registered before setting up power
domains to let power domain driver to correctly register also SYSMMU
controller devices. This patch also registers SYSMMU controller devices
to respective power domains.

Signed-off-by: Marek Szyprowski <m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
Acked-by: Kyungmin Park <kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
---
 arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
 arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
index c5b1ea3..3544638 100644
--- a/arch/arm/mach-exynos/dev-sysmmu.c
+++ b/arch/arm/mach-exynos/dev-sysmmu.c
@@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
 
 	return 0;
 }
-arch_initcall(init_sysmmu_platform_device);
+/*
+ * SYSMMU platform devices must be registered before power domains
+ * see pm_domain.c, which use arch_initcall()
+ */
+core_initcall(init_sysmmu_platform_device);
diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c
index 13b3068..51a028d 100644
--- a/arch/arm/mach-exynos/pm_domains.c
+++ b/arch/arm/mach-exynos/pm_domains.c
@@ -21,6 +21,7 @@
 #include <linux/of_address.h>
 
 #include <mach/regs-pmu.h>
+#include <mach/sysmmu.h>
 #include <plat/devs.h>
 
 /*
@@ -155,6 +156,18 @@ static __init int exynos4_pm_init_power_domain(void)
 		pm_genpd_init(&exynos4_pm_domains[idx]->pd, NULL,
 				exynos4_pm_domains[idx]->is_off);
 
+#ifdef CONFIG_EXYNOS_DEV_SYSMMU
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc0), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc1), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc2), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc3), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(jpeg), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(mfc_l), &exynos4_pd_mfc);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(mfc_r), &exynos4_pd_mfc);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimd0), &exynos4_pd_lcd0);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(rot), &exynos4_pd_lcd0);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(tv), &exynos4_pd_tv);
+#endif
 #ifdef CONFIG_S5P_DEV_FIMD0
 	exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0);
 #endif
-- 
1.7.1.569.g6f426

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
@ 2012-04-11 14:34     ` Marek Szyprowski
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-11 14:34 UTC (permalink / raw)
  To: linux-arm-kernel

SYSMMU platform devices must be registered before setting up power
domains to let power domain driver to correctly register also SYSMMU
controller devices. This patch also registers SYSMMU controller devices
to respective power domains.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
---
 arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
 arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
index c5b1ea3..3544638 100644
--- a/arch/arm/mach-exynos/dev-sysmmu.c
+++ b/arch/arm/mach-exynos/dev-sysmmu.c
@@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
 
 	return 0;
 }
-arch_initcall(init_sysmmu_platform_device);
+/*
+ * SYSMMU platform devices must be registered before power domains
+ * see pm_domain.c, which use arch_initcall()
+ */
+core_initcall(init_sysmmu_platform_device);
diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c
index 13b3068..51a028d 100644
--- a/arch/arm/mach-exynos/pm_domains.c
+++ b/arch/arm/mach-exynos/pm_domains.c
@@ -21,6 +21,7 @@
 #include <linux/of_address.h>
 
 #include <mach/regs-pmu.h>
+#include <mach/sysmmu.h>
 #include <plat/devs.h>
 
 /*
@@ -155,6 +156,18 @@ static __init int exynos4_pm_init_power_domain(void)
 		pm_genpd_init(&exynos4_pm_domains[idx]->pd, NULL,
 				exynos4_pm_domains[idx]->is_off);
 
+#ifdef CONFIG_EXYNOS_DEV_SYSMMU
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc0), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc1), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc2), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimc3), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(jpeg), &exynos4_pd_cam);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(mfc_l), &exynos4_pd_mfc);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(mfc_r), &exynos4_pd_mfc);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(fimd0), &exynos4_pd_lcd0);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(rot), &exynos4_pd_lcd0);
+	exynos_pm_add_dev_to_genpd(&SYSMMU_PLATDEV(tv), &exynos4_pd_tv);
+#endif
 #ifdef CONFIG_S5P_DEV_FIMD0
 	exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0);
 #endif
-- 
1.7.1.569.g6f426

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] iommu/exynos: fix runtime pm support
  2012-04-11 14:34   ` Marek Szyprowski
@ 2012-04-11 15:18     ` Sergei Shtylyov
  -1 siblings, 0 replies; 26+ messages in thread
From: Sergei Shtylyov @ 2012-04-11 15:18 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, linux-arm-kernel, iommu, Kyungmin Park,
	Kukjin Kim, KyongHo Cho

Hello.

Marek Szyprowski wrote:

> Fix registration to runtime pw and add missing resume callback.

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
>  1 files changed, 18 insertions(+), 2 deletions(-)

> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index b8daf7c..eef924d 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
[...]
> @@ -674,11 +673,28 @@ err_alloc:
>  	return ret;
>  }
>  
> +static int exynos_pm_resume(struct device *dev)
> +{
> +	struct sysmmu_drvdata *data;
> +
> +	data = dev_get_drvdata(dev);

    Why not do it right in the initializer?

WBR, Sergei

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/2] iommu/exynos: fix runtime pm support
@ 2012-04-11 15:18     ` Sergei Shtylyov
  0 siblings, 0 replies; 26+ messages in thread
From: Sergei Shtylyov @ 2012-04-11 15:18 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

Marek Szyprowski wrote:

> Fix registration to runtime pw and add missing resume callback.

> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
>  1 files changed, 18 insertions(+), 2 deletions(-)

> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index b8daf7c..eef924d 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
[...]
> @@ -674,11 +673,28 @@ err_alloc:
>  	return ret;
>  }
>  
> +static int exynos_pm_resume(struct device *dev)
> +{
> +	struct sysmmu_drvdata *data;
> +
> +	data = dev_get_drvdata(dev);

    Why not do it right in the initializer?

WBR, Sergei

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-11 14:34 ` Marek Szyprowski
@ 2012-04-12  8:19   ` KyongHo Cho
  -1 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-12  8:19 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, linux-arm-kernel, iommu, Kyungmin Park, Kukjin Kim

On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> Hi!
>
> These two patches fixes operation of the SYSMMU driver (v12 version [1])
> with the new power domain driver based on generic power domains and
> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>
Thanks, Marek.

Your way of power gating is right
and I will look into the changed runtime PM scheme in Exynos tree.

> [1] https://lkml.org/lkml/2012/3/15/51

Regards,

KyongHo

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-12  8:19   ` KyongHo Cho
  0 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-12  8:19 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> Hi!
>
> These two patches fixes operation of the SYSMMU driver (v12 version [1])
> with the new power domain driver based on generic power domains and
> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>
Thanks, Marek.

Your way of power gating is right
and I will look into the changed runtime PM scheme in Exynos tree.

> [1] https://lkml.org/lkml/2012/3/15/51

Regards,

KyongHo

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-12  8:19   ` KyongHo Cho
@ 2012-04-14 15:51     ` Kukjin Kim
  -1 siblings, 0 replies; 26+ messages in thread
From: Kukjin Kim @ 2012-04-14 15:51 UTC (permalink / raw)
  To: KyongHo Cho
  Cc: Marek Szyprowski, linux-samsung-soc, linux-arm-kernel, iommu,
	Kyungmin Park, Kukjin Kim

On 04/12/12 01:19, KyongHo Cho wrote:
> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
> <m.szyprowski@samsung.com>  wrote:
>> Hi!
>>
>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>> with the new power domain driver based on generic power domains and
>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>
> Thanks, Marek.
>
> Your way of power gating is right
> and I will look into the changed runtime PM scheme in Exynos tree.
>
KyongHo,

Do you want to upstream this series with your previous sysmmu (cleanup 
and moving) patches?

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-14 15:51     ` Kukjin Kim
  0 siblings, 0 replies; 26+ messages in thread
From: Kukjin Kim @ 2012-04-14 15:51 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/12/12 01:19, KyongHo Cho wrote:
> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
> <m.szyprowski@samsung.com>  wrote:
>> Hi!
>>
>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>> with the new power domain driver based on generic power domains and
>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>
> Thanks, Marek.
>
> Your way of power gating is right
> and I will look into the changed runtime PM scheme in Exynos tree.
>
KyongHo,

Do you want to upstream this series with your previous sysmmu (cleanup 
and moving) patches?

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-14 15:51     ` Kukjin Kim
@ 2012-04-16  9:54       ` KyongHo Cho
  -1 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16  9:54 UTC (permalink / raw)
  To: Kukjin Kim; +Cc: Kyungmin Park, iommu, linux-samsung-soc, linux-arm-kernel

On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> On 04/12/12 01:19, KyongHo Cho wrote:
>>
>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>> <m.szyprowski@samsung.com>  wrote:
>>>
>>> Hi!
>>>
>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>> with the new power domain driver based on generic power domains and
>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>
>> Thanks, Marek.
>>
>> Your way of power gating is right
>> and I will look into the changed runtime PM scheme in Exynos tree.
>>
> KyongHo,
>
> Do you want to upstream this series with your previous sysmmu (cleanup and
> moving) patches?
>

Yes I hope so.
Marek's patch corrects run-time power management in Exynos4 with System MMU.

Thank you.

KyongHo

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-16  9:54       ` KyongHo Cho
  0 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16  9:54 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
> On 04/12/12 01:19, KyongHo Cho wrote:
>>
>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>> <m.szyprowski@samsung.com> ?wrote:
>>>
>>> Hi!
>>>
>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>> with the new power domain driver based on generic power domains and
>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>
>> Thanks, Marek.
>>
>> Your way of power gating is right
>> and I will look into the changed runtime PM scheme in Exynos tree.
>>
> KyongHo,
>
> Do you want to upstream this series with your previous sysmmu (cleanup and
> moving) patches?
>

Yes I hope so.
Marek's patch corrects run-time power management in Exynos4 with System MMU.

Thank you.

KyongHo

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-16  9:54       ` KyongHo Cho
@ 2012-04-16 10:01           ` Kyungmin Park
  -1 siblings, 0 replies; 26+ messages in thread
From: Kyungmin Park @ 2012-04-16 10:01 UTC (permalink / raw)
  To: KyongHo Cho
  Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Kukjin Kim,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 4/16/12, KyongHo Cho <pullip.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
> On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> wrote:
>> On 04/12/12 01:19, KyongHo Cho wrote:
>>>
>>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>>> <m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>  wrote:
>>>>
>>>> Hi!
>>>>
>>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>>> with the new power domain driver based on generic power domains and
>>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>>
>>> Thanks, Marek.
>>>
>>> Your way of power gating is right
>>> and I will look into the changed runtime PM scheme in Exynos tree.
>>>
>> KyongHo,
>>
>> Do you want to upstream this series with your previous sysmmu (cleanup and
>> moving) patches?
>>
>
> Yes I hope so.
> Marek's patch corrects run-time power management in Exynos4 with System MMU.

Hi,

Next time, if you give Acked-By or Reviewed_by, then it's more helpful
to determine to merge or not.

Thank you,
Kyungmin Park
>
> Thank you.
>
> KyongHo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-16 10:01           ` Kyungmin Park
  0 siblings, 0 replies; 26+ messages in thread
From: Kyungmin Park @ 2012-04-16 10:01 UTC (permalink / raw)
  To: linux-arm-kernel

On 4/16/12, KyongHo Cho <pullip.cho@samsung.com> wrote:
> On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>> On 04/12/12 01:19, KyongHo Cho wrote:
>>>
>>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>>> <m.szyprowski@samsung.com>  wrote:
>>>>
>>>> Hi!
>>>>
>>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>>> with the new power domain driver based on generic power domains and
>>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>>
>>> Thanks, Marek.
>>>
>>> Your way of power gating is right
>>> and I will look into the changed runtime PM scheme in Exynos tree.
>>>
>> KyongHo,
>>
>> Do you want to upstream this series with your previous sysmmu (cleanup and
>> moving) patches?
>>
>
> Yes I hope so.
> Marek's patch corrects run-time power management in Exynos4 with System MMU.

Hi,

Next time, if you give Acked-By or Reviewed_by, then it's more helpful
to determine to merge or not.

Thank you,
Kyungmin Park
>
> Thank you.
>
> KyongHo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
  2012-04-11 14:34     ` Marek Szyprowski
@ 2012-04-16 10:09       ` KyongHo Cho
  -1 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16 10:09 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: linux-samsung-soc, linux-arm-kernel, iommu, Kyungmin Park, Kukjin Kim

On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> SYSMMU platform devices must be registered before setting up power
> domains to let power domain driver to correctly register also SYSMMU
> controller devices. This patch also registers SYSMMU controller devices
> to respective power domains.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
>  arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
>  arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
>  2 files changed, 18 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
> index c5b1ea3..3544638 100644
> --- a/arch/arm/mach-exynos/dev-sysmmu.c
> +++ b/arch/arm/mach-exynos/dev-sysmmu.c
> @@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
>
>        return 0;
>  }
> -arch_initcall(init_sysmmu_platform_device);
> +/*
> + * SYSMMU platform devices must be registered before power domains
> + * see pm_domain.c, which use arch_initcall()
> + */
> +core_initcall(init_sysmmu_platform_device);
I don't understand why init_sysmmu_platform_device() must be called before
exynos4_pm_init_power_domain()?

Other devices also added by an arch_initcall() function which calls
mdesc->init_machine().
I also was unable to find any reason to add devices before registering
the devices
to pm domain.

Regards,

KyongHo.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
@ 2012-04-16 10:09       ` KyongHo Cho
  0 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16 10:09 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
<m.szyprowski@samsung.com> wrote:
> SYSMMU platform devices must be registered before setting up power
> domains to let power domain driver to correctly register also SYSMMU
> controller devices. This patch also registers SYSMMU controller devices
> to respective power domains.
>
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> ?arch/arm/mach-exynos/dev-sysmmu.c | ? ?6 +++++-
> ?arch/arm/mach-exynos/pm_domains.c | ? 13 +++++++++++++
> ?2 files changed, 18 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
> index c5b1ea3..3544638 100644
> --- a/arch/arm/mach-exynos/dev-sysmmu.c
> +++ b/arch/arm/mach-exynos/dev-sysmmu.c
> @@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
>
> ? ? ? ?return 0;
> ?}
> -arch_initcall(init_sysmmu_platform_device);
> +/*
> + * SYSMMU platform devices must be registered before power domains
> + * see pm_domain.c, which use arch_initcall()
> + */
> +core_initcall(init_sysmmu_platform_device);
I don't understand why init_sysmmu_platform_device() must be called before
exynos4_pm_init_power_domain()?

Other devices also added by an arch_initcall() function which calls
mdesc->init_machine().
I also was unable to find any reason to add devices before registering
the devices
to pm domain.

Regards,

KyongHo.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-16 10:01           ` Kyungmin Park
@ 2012-04-16 10:13             ` KyongHo Cho
  -1 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16 10:13 UTC (permalink / raw)
  To: Kyungmin Park; +Cc: linux-samsung-soc, iommu, Kukjin Kim, linux-arm-kernel

On Mon, Apr 16, 2012 at 7:01 PM, Kyungmin Park
<kyungmin.park@samsung.com> wrote:
> On 4/16/12, KyongHo Cho <pullip.cho@samsung.com> wrote:
>> On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>>> On 04/12/12 01:19, KyongHo Cho wrote:
>>>>
>>>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>>>> <m.szyprowski@samsung.com>  wrote:
>>>>>
>>>>> Hi!
>>>>>
>>>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>>>> with the new power domain driver based on generic power domains and
>>>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>>>
>>>> Thanks, Marek.
>>>>
>>>> Your way of power gating is right
>>>> and I will look into the changed runtime PM scheme in Exynos tree.
>>>>
>>> KyongHo,
>>>
>>> Do you want to upstream this series with your previous sysmmu (cleanup and
>>> moving) patches?
>>>
>>
>> Yes I hope so.
>> Marek's patch corrects run-time power management in Exynos4 with System MMU.
>
> Hi,
>
> Next time, if you give Acked-By or Reviewed_by, then it's more helpful
> to determine to merge or not.
>

I did not Ack it since he did not CC me.
But, as you mentioned, I need to add my Reviewed-by after reviewing it.

Thank you.

KyongHo.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-16 10:13             ` KyongHo Cho
  0 siblings, 0 replies; 26+ messages in thread
From: KyongHo Cho @ 2012-04-16 10:13 UTC (permalink / raw)
  To: linux-arm-kernel

On Mon, Apr 16, 2012 at 7:01 PM, Kyungmin Park
<kyungmin.park@samsung.com> wrote:
> On 4/16/12, KyongHo Cho <pullip.cho@samsung.com> wrote:
>> On Sun, Apr 15, 2012 at 12:51 AM, Kukjin Kim <kgene.kim@samsung.com> wrote:
>>> On 04/12/12 01:19, KyongHo Cho wrote:
>>>>
>>>> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
>>>> <m.szyprowski@samsung.com> ?wrote:
>>>>>
>>>>> Hi!
>>>>>
>>>>> These two patches fixes operation of the SYSMMU driver (v12 version [1])
>>>>> with the new power domain driver based on generic power domains and
>>>>> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>>>>>
>>>> Thanks, Marek.
>>>>
>>>> Your way of power gating is right
>>>> and I will look into the changed runtime PM scheme in Exynos tree.
>>>>
>>> KyongHo,
>>>
>>> Do you want to upstream this series with your previous sysmmu (cleanup and
>>> moving) patches?
>>>
>>
>> Yes I hope so.
>> Marek's patch corrects run-time power management in Exynos4 with System MMU.
>
> Hi,
>
> Next time, if you give Acked-By or Reviewed_by, then it's more helpful
> to determine to merge or not.
>

I did not Ack it since he did not CC me.
But, as you mentioned, I need to add my Reviewed-by after reviewing it.

Thank you.

KyongHo.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* RE: [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
  2012-04-16 10:09       ` KyongHo Cho
@ 2012-04-16 10:28         ` Marek Szyprowski
  -1 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-16 10:28 UTC (permalink / raw)
  To: 'KyongHo Cho'
  Cc: linux-samsung-soc, linux-arm-kernel, iommu,
	'Kyungmin Park', 'Kukjin Kim'

Hi,

On Monday, April 16, 2012 12:10 PM KyongHo Cho wrote:

> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
> > SYSMMU platform devices must be registered before setting up power
> > domains to let power domain driver to correctly register also SYSMMU
> > controller devices. This patch also registers SYSMMU controller devices
> > to respective power domains.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> >  arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
> >  arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
> >  2 files changed, 18 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
> > index c5b1ea3..3544638 100644
> > --- a/arch/arm/mach-exynos/dev-sysmmu.c
> > +++ b/arch/arm/mach-exynos/dev-sysmmu.c
> > @@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
> >
> >        return 0;
> >  }
> > -arch_initcall(init_sysmmu_platform_device);
> > +/*
> > + * SYSMMU platform devices must be registered before power domains
> > + * see pm_domain.c, which use arch_initcall()
> > + */
> > +core_initcall(init_sysmmu_platform_device);
> I don't understand why init_sysmmu_platform_device() must be called before
> exynos4_pm_init_power_domain()?
> 
> Other devices also added by an arch_initcall() function which calls
> mdesc->init_machine().
> I also was unable to find any reason to add devices before registering
> the devices to pm domain.

mdesc->init_machine is called before exynos4_pm_init_power_domain() from 
arch/arm/mach-exynos/pm_domain.c, although both are started from arch_initcall.
In this case the order of linking defines the order of calls.

exynos4_pm_init_power_domain() calls exynos_pm_add_dev_to_genpd() which in turn
checks for pdev->dev.bus. All devices which have not been registered yet on the
bus are simply skipped.

Best regards
-- 
Marek Szyprowski
Samsung Poland R&D Center

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
@ 2012-04-16 10:28         ` Marek Szyprowski
  0 siblings, 0 replies; 26+ messages in thread
From: Marek Szyprowski @ 2012-04-16 10:28 UTC (permalink / raw)
  To: linux-arm-kernel

Hi,

On Monday, April 16, 2012 12:10 PM KyongHo Cho wrote:

> On Wed, Apr 11, 2012 at 11:34 PM, Marek Szyprowski
> <m.szyprowski@samsung.com> wrote:
> > SYSMMU platform devices must be registered before setting up power
> > domains to let power domain driver to correctly register also SYSMMU
> > controller devices. This patch also registers SYSMMU controller devices
> > to respective power domains.
> >
> > Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> > Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
> > ---
> > ?arch/arm/mach-exynos/dev-sysmmu.c | ? ?6 +++++-
> > ?arch/arm/mach-exynos/pm_domains.c | ? 13 +++++++++++++
> > ?2 files changed, 18 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-exynos/dev-sysmmu.c b/arch/arm/mach-exynos/dev-sysmmu.c
> > index c5b1ea3..3544638 100644
> > --- a/arch/arm/mach-exynos/dev-sysmmu.c
> > +++ b/arch/arm/mach-exynos/dev-sysmmu.c
> > @@ -271,4 +271,8 @@ static int __init init_sysmmu_platform_device(void)
> >
> > ? ? ? ?return 0;
> > ?}
> > -arch_initcall(init_sysmmu_platform_device);
> > +/*
> > + * SYSMMU platform devices must be registered before power domains
> > + * see pm_domain.c, which use arch_initcall()
> > + */
> > +core_initcall(init_sysmmu_platform_device);
> I don't understand why init_sysmmu_platform_device() must be called before
> exynos4_pm_init_power_domain()?
> 
> Other devices also added by an arch_initcall() function which calls
> mdesc->init_machine().
> I also was unable to find any reason to add devices before registering
> the devices to pm domain.

mdesc->init_machine is called before exynos4_pm_init_power_domain() from 
arch/arm/mach-exynos/pm_domain.c, although both are started from arch_initcall.
In this case the order of linking defines the order of calls.

exynos4_pm_init_power_domain() calls exynos_pm_add_dev_to_genpd() which in turn
checks for pdev->dev.bus. All devices which have not been registered yet on the
bus are simply skipped.

Best regards
-- 
Marek Szyprowski
Samsung Poland R&D Center

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
  2012-04-11 14:34 ` Marek Szyprowski
@ 2012-04-16 13:35     ` Subash Patel
  -1 siblings, 0 replies; 26+ messages in thread
From: Subash Patel @ 2012-04-16 13:35 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: Kukjin Kim, Kyungmin Park,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, KyongHo Cho,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Hello Marek,

I have tested these patches on origen 3.4-rc2 with sysmmu_v12, and they 
work great ! Thank you for sharing them.

Regards,
Subash

On 04/11/2012 08:04 PM, Marek Szyprowski wrote:
> Hi!
>
> These two patches fixes operation of the SYSMMU driver (v12 version [1])
> with the new power domain driver based on generic power domains and
> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>
> [1] https://lkml.org/lkml/2012/3/15/51
>
> Best regards
> Marek Szyprowski
> Samsung Poland R&D Center
>
>
> Patch summary:
>
> Marek Szyprowski (2):
>    iommu/exynos: fix runtime pm support
>    ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
>
>   arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
>   arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
>   drivers/iommu/exynos-iommu.c      |   20 ++++++++++++++++++--
>   3 files changed, 36 insertions(+), 3 deletions(-)
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains
@ 2012-04-16 13:35     ` Subash Patel
  0 siblings, 0 replies; 26+ messages in thread
From: Subash Patel @ 2012-04-16 13:35 UTC (permalink / raw)
  To: linux-arm-kernel

Hello Marek,

I have tested these patches on origen 3.4-rc2 with sysmmu_v12, and they 
work great ! Thank you for sharing them.

Regards,
Subash

On 04/11/2012 08:04 PM, Marek Szyprowski wrote:
> Hi!
>
> These two patches fixes operation of the SYSMMU driver (v12 version [1])
> with the new power domain driver based on generic power domains and
> runtime pw, which has been merged to Linux kernel v3.4-rc1.
>
> [1] https://lkml.org/lkml/2012/3/15/51
>
> Best regards
> Marek Szyprowski
> Samsung Poland R&D Center
>
>
> Patch summary:
>
> Marek Szyprowski (2):
>    iommu/exynos: fix runtime pm support
>    ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver
>
>   arch/arm/mach-exynos/dev-sysmmu.c |    6 +++++-
>   arch/arm/mach-exynos/pm_domains.c |   13 +++++++++++++
>   drivers/iommu/exynos-iommu.c      |   20 ++++++++++++++++++--
>   3 files changed, 36 insertions(+), 3 deletions(-)
>

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] iommu/exynos: fix runtime pm support
  2012-04-11 14:34   ` Marek Szyprowski
@ 2012-05-11 21:31       ` Kukjin Kim
  -1 siblings, 0 replies; 26+ messages in thread
From: Kukjin Kim @ 2012-05-11 21:31 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: Kukjin Kim, Kyungmin Park,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, KyongHo Cho,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 04/11/12 23:34, Marek Szyprowski wrote:
> Fix registration to runtime pw and add missing resume callback.
>
> Signed-off-by: Marek Szyprowski<m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> Acked-by: Kyungmin Park<kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
> ---
>   drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
>   1 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index b8daf7c..eef924d 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -651,8 +651,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
>
>   	__set_fault_handler(data,&default_fault_handler);
>
> -	if (dev->parent)
> -		pm_runtime_enable(dev);
> +	pm_runtime_enable(dev);
>
>   	dev_dbg(dev, "(%s) Initialized\n", data->dbgname);
>   	return 0;
> @@ -674,11 +673,28 @@ err_alloc:
>   	return ret;
>   }
>
> +static int exynos_pm_resume(struct device *dev)
> +{
> +	struct sysmmu_drvdata *data;
> +
> +	data = dev_get_drvdata(dev);
> +
> +	if (is_sysmmu_active(data))
> +		__exynos_sysmmu_enable(data, data->pgtable, NULL);
> +
> +	return 0;
> +}
> +
> +const struct dev_pm_ops exynos_pm_ops = {
> +	.resume =&exynos_pm_resume,
> +};
> +
>   static struct platform_driver exynos_sysmmu_driver = {
>   	.probe		= exynos_sysmmu_probe,
>   	.driver		= {
>   		.owner		= THIS_MODULE,
>   		.name		= "exynos-sysmmu",
> +		.pm		=&exynos_pm_ops,
>   	}
>   };
>

Joerg,

This patch is needed to correct run-time pm for EXYNOS SoCs with System 
MMU after KyongHo's iommu/exynos patch. So if you're ok on this, let me 
apply this in samsung tree.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/2] iommu/exynos: fix runtime pm support
@ 2012-05-11 21:31       ` Kukjin Kim
  0 siblings, 0 replies; 26+ messages in thread
From: Kukjin Kim @ 2012-05-11 21:31 UTC (permalink / raw)
  To: linux-arm-kernel

On 04/11/12 23:34, Marek Szyprowski wrote:
> Fix registration to runtime pw and add missing resume callback.
>
> Signed-off-by: Marek Szyprowski<m.szyprowski@samsung.com>
> Acked-by: Kyungmin Park<kyungmin.park@samsung.com>
> ---
>   drivers/iommu/exynos-iommu.c |   20 ++++++++++++++++++--
>   1 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
> index b8daf7c..eef924d 100644
> --- a/drivers/iommu/exynos-iommu.c
> +++ b/drivers/iommu/exynos-iommu.c
> @@ -651,8 +651,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
>
>   	__set_fault_handler(data,&default_fault_handler);
>
> -	if (dev->parent)
> -		pm_runtime_enable(dev);
> +	pm_runtime_enable(dev);
>
>   	dev_dbg(dev, "(%s) Initialized\n", data->dbgname);
>   	return 0;
> @@ -674,11 +673,28 @@ err_alloc:
>   	return ret;
>   }
>
> +static int exynos_pm_resume(struct device *dev)
> +{
> +	struct sysmmu_drvdata *data;
> +
> +	data = dev_get_drvdata(dev);
> +
> +	if (is_sysmmu_active(data))
> +		__exynos_sysmmu_enable(data, data->pgtable, NULL);
> +
> +	return 0;
> +}
> +
> +const struct dev_pm_ops exynos_pm_ops = {
> +	.resume =&exynos_pm_resume,
> +};
> +
>   static struct platform_driver exynos_sysmmu_driver = {
>   	.probe		= exynos_sysmmu_probe,
>   	.driver		= {
>   		.owner		= THIS_MODULE,
>   		.name		= "exynos-sysmmu",
> +		.pm		=&exynos_pm_ops,
>   	}
>   };
>

Joerg,

This patch is needed to correct run-time pm for EXYNOS SoCs with System 
MMU after KyongHo's iommu/exynos patch. So if you're ok on this, let me 
apply this in samsung tree.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2012-05-11 21:31 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-11 14:34 [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains Marek Szyprowski
2012-04-11 14:34 ` Marek Szyprowski
2012-04-11 14:34 ` [PATCH 1/2] iommu/exynos: fix runtime pm support Marek Szyprowski
2012-04-11 14:34   ` Marek Szyprowski
2012-04-11 15:18   ` Sergei Shtylyov
2012-04-11 15:18     ` Sergei Shtylyov
     [not found]   ` <1334154871-4756-2-git-send-email-m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-05-11 21:31     ` Kukjin Kim
2012-05-11 21:31       ` Kukjin Kim
2012-04-12  8:19 ` [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains KyongHo Cho
2012-04-12  8:19   ` KyongHo Cho
2012-04-14 15:51   ` Kukjin Kim
2012-04-14 15:51     ` Kukjin Kim
2012-04-16  9:54     ` KyongHo Cho
2012-04-16  9:54       ` KyongHo Cho
     [not found]       ` <CAHQjnOOws9imNo-S4prfHdqXjghotFaw_tqi81jNzHVPn8dXLg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-04-16 10:01         ` Kyungmin Park
2012-04-16 10:01           ` Kyungmin Park
2012-04-16 10:13           ` KyongHo Cho
2012-04-16 10:13             ` KyongHo Cho
     [not found] ` <1334154871-4756-1-git-send-email-m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2012-04-11 14:34   ` [PATCH 2/2] ARM: Exynos4: update SYSMMU setup code for gen_pd power domain driver Marek Szyprowski
2012-04-11 14:34     ` Marek Szyprowski
2012-04-16 10:09     ` KyongHo Cho
2012-04-16 10:09       ` KyongHo Cho
2012-04-16 10:28       ` Marek Szyprowski
2012-04-16 10:28         ` Marek Szyprowski
2012-04-16 13:35   ` [PATCH 0/2] Exynos: fix SYSMMU driver to work with power domains Subash Patel
2012-04-16 13:35     ` Subash Patel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.