[PATCH 1/1] ARM: EXYNOS: Add default latency values for Device and Power Domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Prasanna Kumar <prasanna.ps@xxxxxxxxxxx>

Power domain and device timing data are intialized with default
values to avoid dump of warnings from various power domains
during power gating.

Signed-off-by: Prasanna Kumar <prasanna.ps@xxxxxxxxxxx>
Signed-off-by: Prathyush K <prathyush.k@xxxxxxxxxxx>
Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxx>
---
 arch/arm/mach-exynos/pm_domains.c |   15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c
index 84e0483a0500..9bbb4ac23980 100644
--- a/arch/arm/mach-exynos/pm_domains.c
+++ b/arch/arm/mach-exynos/pm_domains.c
@@ -25,6 +25,10 @@
 #include <mach/regs-pmu.h>
 #include <plat/devs.h>
 
+#define DEFAULT_DEV_LATENCY_NS			1000000UL
+#define DEFAULT_PD_PWRON_LATENCY_NS		10000000UL
+#define DEFAULT_PD_PWROFF_LATENCY_NS		10000000UL
+
 /*
  * Exynos specific wrapper around the generic power domain
  */
@@ -36,6 +40,13 @@ struct exynos_pm_domain {
 	u32 enable;
 };
 
+static struct gpd_timing_data dev_latencies = {
+	.stop_latency_ns = DEFAULT_DEV_LATENCY_NS,
+	.start_latency_ns = DEFAULT_DEV_LATENCY_NS,
+	.save_state_latency_ns = DEFAULT_DEV_LATENCY_NS,
+	.restore_state_latency_ns = DEFAULT_DEV_LATENCY_NS,
+};
+
 static int exynos_pd_power(struct generic_pm_domain *domain, bool power_on)
 {
 	struct exynos_pm_domain *pd;
@@ -83,7 +94,7 @@ static void exynos_add_device_to_domain(struct exynos_pm_domain *pd,
 	dev_dbg(dev, "adding to power domain %s\n", pd->pd.name);
 
 	while (1) {
-		ret = pm_genpd_add_device(&pd->pd, dev);
+		ret = __pm_genpd_add_device(&pd->pd, dev, &dev_latencies);
 		if (ret != -EAGAIN)
 			break;
 		cond_resched();
@@ -173,6 +184,8 @@ static __init int exynos4_pm_init_power_domain(void)
 		pd->base = of_iomap(np, 0);
 		pd->pd.power_off = exynos_pd_power_off;
 		pd->pd.power_on = exynos_pd_power_on;
+		pd->pd.power_off_latency_ns = DEFAULT_PD_PWROFF_LATENCY_NS;
+		pd->pd.power_on_latency_ns = DEFAULT_PD_PWRON_LATENCY_NS;
 		pd->pd.of_node = np;
 
 		platform_set_drvdata(pdev, pd);
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux