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

Kevin Hilman khilman at ti.com
Fri Mar 4 11:56:07 EST 2011


Hi Tero,

<Tero.Kristo at nokia.com> writes:

[...]

>>>
>>> +	/* 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.

>
> 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.

Kevin



More information about the linux-arm-kernel mailing list