OMAP3: PM: CPUidle: only scale voltage for deeper C-states
commit6e9c80494f778a5a7c08e25be63d4e2cec9047e2
authorRajendra Nayak <rnayak@ti.com>
Tue, 16 Jun 2009 11:52:32 +0000 (16 17:22 +0530)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 23 Oct 2009 18:21:51 +0000 (23 11:21 -0700)
tree3b699842a1a38b9b1fca3a60898cf385ba2873d5
parent161f8d30b1b34c96ab9297bb558070851736ee9a
OMAP3: PM: CPUidle: only scale voltage for deeper C-states

Enable auto voltage scaling only for the last 3 C states.

 C5 - MPU CSWR + Core CSWR - AUTO RET enabled
 C6 - MPU OFF + Core CSWR - AUTO RET enabled
 C7 - MPU OFF + Core OFF - AUTO OFF enabled.

For the rest of the Lower C states the decision of not enabling AUTO
RET/OFF was to keep the latency for such states down.

Especially with SR enabled having AUTO RET/OFF enabled for say a MPU
RET/CORE inactive state would mean a 2 level voltage change. First to
scale from SR autocompensated level to the actual OPP voltage level
(That's done when you disable SR) and then from the there to the AUTO
RET level.  So say you hit MPU RET/CORE inactive state at OPP3 (1.2v)
which has a SR autocompensated voltage to 1.08v, then you would scale
from 1.08->1.2->0.975.  That might be too much of additional latency
to incure in case of a MPU RET/CORE inactive state.

Signed-off-by: Rajendra Nayak <rnayak@ti.com>
arch/arm/mach-omap2/pm34xx.c