linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* DSS pwrdm usecount, disabling autodeps for DSS
@ 2012-03-09  0:42 Kevin Hilman
  2012-03-09 11:08 ` Grazvydas Ignotas
  2012-03-09 11:14 ` Tomi Valkeinen
  0 siblings, 2 replies; 7+ messages in thread
From: Kevin Hilman @ 2012-03-09  0:42 UTC (permalink / raw)
  To: Tomi Valkeinen; +Cc: linux-omap, Paul Walmsley

Hi Tomi,

A while ago you were asking about why DSS pwrdm counts were so high on
OMAP3, and why DSS was transitioning even though it was completely
unused. Paul and I just spent some a little time debugging this, and
narrowed it down to autodeps. (sorry it took so long, it finally
bothered me enough to actually look into it.)

The patch below fixes the problem at least when DSS is not loaded (DSS
just stays in retention), but I didn't try this with any active DSS
usage, or loading/unloding the DSS drivers.

Could you give the patch below a try on OMAP3 along with some active DSS
usage as well as unloading the modules after using.  Could you also
verify that suspend/resume continues to work for DSS?

Thanks,

Kevin

>From 42fc4f2acd9d6ba08992f8daa36297be384e76ef Mon Sep 17 00:00:00 2001
From: Kevin Hilman <khilman@ti.com>
Date: Thu, 8 Mar 2012 16:22:19 -0800
Subject: [PATCH] ARM: OMAP3: clockdomain: disable autodeps for DSS

Due to autodeps, the DSS powerdomain is transitioning with the MPU
powerdomain even when DSS is inactive.

autodeps are deprecated in favor of hwmod managing initiator
dependencies directly, and we're hoping to eventually remove them.

For starters, disable autodeps for DSS and see what happens...

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Kevin Hilman <khilman@ti.com>
---
 arch/arm/mach-omap2/clockdomains3xxx_data.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-omap2/clockdomains3xxx_data.c b/arch/arm/mach-omap2/clockdomains3xxx_data.c
index b84e138..ba0285f 100644
--- a/arch/arm/mach-omap2/clockdomains3xxx_data.c
+++ b/arch/arm/mach-omap2/clockdomains3xxx_data.c
@@ -254,7 +254,7 @@ static struct clockdomain core_l4_3xxx_clkdm = {
 static struct clockdomain dss_3xxx_clkdm = {
 	.name		= "dss_clkdm",
 	.pwrdm		= { .name = "dss_pwrdm" },
-	.flags		= CLKDM_CAN_HWSUP_SWSUP,
+	.flags		= CLKDM_CAN_HWSUP_SWSUP | CLKDM_NO_AUTODEPS,
 	.dep_bit	= OMAP3430_PM_WKDEP_MPU_EN_DSS_SHIFT,
 	.wkdep_srcs	= dss_wkdeps,
 	.sleepdep_srcs	= dss_sleepdeps,
-- 
1.7.9.2


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

end of thread, other threads:[~2012-03-12 16:24 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-09  0:42 DSS pwrdm usecount, disabling autodeps for DSS Kevin Hilman
2012-03-09 11:08 ` Grazvydas Ignotas
2012-03-09 11:14 ` Tomi Valkeinen
2012-03-09 17:57   ` Paul Walmsley
2012-03-12  9:00     ` Tomi Valkeinen
2012-03-12 16:24       ` Kevin Hilman
2012-03-09 18:17   ` Kevin Hilman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).