summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/omap-mpuss-lowpower.c
diff options
context:
space:
mode:
authorPaul Walmsley <paul@pwsan.com>2013-01-26 08:58:13 +0100
committerPaul Walmsley <paul@pwsan.com>2013-01-29 22:59:56 +0100
commit1cd96478cf1505a32861ffed8d8f1189d1b1b8ab (patch)
treed65ebdd4a5be3d688147b6acf3a2777fc31c9f13 /arch/arm/mach-omap2/omap-mpuss-lowpower.c
parentARM: OMAP3xxx: CPUIdle: simplify the PER next-state code (diff)
downloadlinux-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