diff options
author | Paul Walmsley <paul@pwsan.com> | 2013-01-26 08:58:13 +0100 |
---|---|---|
committer | Paul Walmsley <paul@pwsan.com> | 2013-01-29 22:59:56 +0100 |
commit | 1cd96478cf1505a32861ffed8d8f1189d1b1b8ab (patch) | |
tree | d65ebdd4a5be3d688147b6acf3a2777fc31c9f13 /arch/arm/mach-omap2/omap-mpuss-lowpower.c | |
parent | ARM: OMAP3xxx: CPUIdle: simplify the PER next-state code (diff) | |
download | linux-1cd96478cf1505a32861ffed8d8f1189d1b1b8ab.tar.xz linux-1cd96478cf1505a32861ffed8d8f1189d1b1b8ab.zip |
ARM: OMAP3xxx: CPUIdle: optimize __omap3_enter_idle()
Avoid programming the MPU and CORE powerdomain next-power-state
registers if those powerdomains will never enter low-power states
(e.g., the state that people refer to as "C1").
To avoid making assumptions about CPUIdle states based on their order
in the list, use a flag to mark CPUIdle states that don't enter
powerdomain low-power states.
Avoid a previous-power-state register read on the MPU powerdomain
unless we know that the MPU was supposed to go OFF during the last
state transition. Previous-power-state register reads can be very
expensive, so it's worth avoiding these when possible.
Since the CORE_L3 clockdomain can't go inactive unless the MPU is active,
there's little point blocking autoidle on the CORE_L3 clockdomain in "C1"
state, since we've programmed the MPU clockdomain to stay active.
Remove the unnecessary code.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-omap2/omap-mpuss-lowpower.c')
0 files changed, 0 insertions, 0 deletions