From: Paul Walmsley Date: Sat, 26 Jan 2013 07:58:13 +0000 (-0700) Subject: ARM: OMAP3xxx: CPUIdle: optimize __omap3_enter_idle() X-Git-Tag: omap-for-v3.9/pm-signed^2~11 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1cd96478cf1505a32861ffed8d8f1189d1b1b8ab;p=pandora-kernel.git 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 Cc: Kevin Hilman --- Reading git-diff-tree failed