From: Paul Walmsley Date: Sat, 26 Jan 2013 07:58:13 +0000 (-0700) Subject: ARM: OMAP3xxx: CPUIdle: optimize __omap3_enter_idle() X-Git-Tag: sz_161~38 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=a438b5a2cec75996da7628a089b15902b9f54bb8 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. [notasas@gmail.com: 3.2 backport] Signed-off-by: Paul Walmsley Cc: Kevin Hilman Conflicts: arch/arm/mach-omap2/cpuidle34xx.c --- Reading git-diff-tree failed