Thread (1 message) 1 message, 1 author, 2011-03-07
DORMANTno replies

[PATCH 1/2] OMAP3: cpuidle: prevent CORE power domain from going to RET or OFF when DSS is on

From: Kevin Hilman <hidden>
Date: 2011-03-07 19:06:03
Also in: linux-omap

[off-list ref] writes:

[...]
quoted
quoted
quoted
quoted
+	/* If DSS is active, prevent CORE RET/OFF */
+	dss_state = pwrdm_read_pwrst(dss_pd);
+	if (dss_state == PWRDM_POWER_ON &&
+	    core_next_state != PWRDM_POWER_ON)
+		core_next_state = PWRDM_POWER_INACTIVE;
+
Due to sleepdeps/autodeps, when this code runs, DSS powerdomain is
always on.  The result is that CORE is always set to INACTIVE.
Now I recall that someone was asking about a patch similar to this
earlier, and had the same issue with DSS sleepdep collision.
quoted
What is the reason for having the sleepdep for DSS powerdomain anyway?
At least I can't see any reason why the sleepdep for DSS should be
set. In my opinion it should be perfectly okay for DSS domain to idle
independently of MPU/CORE, as this is going to be better for power
consumption also.
Agreed, but currently the sleepdeps with MPU are automatically managed
(by clkdm autodeps and hwmod initiator deps.)  Until we have merged a
solution to more selectively enable sleepdeps (or remove them) $SUBJECT
patch cannot be merged.
Ok I thought this is the case... it would be possible to implement a
temporary/permanent solution that uses idle status check instead of
pwrdm state check, and prevent core idle if dss is not going to
idle. What is the current status with those idlest patches anyway?
Paul will have to answer that one.

Kevin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help