OMAP3: PM: ensure IO wakeups are properly disabled
Commit 5a5f561e (convert OMAP3 PRCM macros to the _SHIFT/_MASK suffixes) mistakenly removed the check for PER when disabling the IO chain. During idle, if the PER powerdomain transitions into a lower state and CORE does not, the IO pad wakeups are not being disabled in the idle path after they are enabled. This can happen with the lower C-states when using CPUidle for example. This patch ensures that the check for disabling IO wakeups also checks for PER transitions, matching the check done to enable IO wakeups. Found when debugging PM/CPUidle related problems reported by Ameya Palande <ameya.palande@nokia.com>. Problems were triggered particularily on boards with UART2 consoles (n900, Overo) since UART2 is in the PER powerdomain. Tested on l-o master (omap3_defonfig + CONFIG_CPU_IDLE=y) as well as with current PM branch. Boards tested: n900, Overo, omap3evm. Cc: Paul Walmsley <paul@pwsan.com> Cc: Ameya Palande <ameya.palande@nokia.com> Tested-by: NJarkko Nikula <jhnikula@gmail.com> Signed-off-by: NKevin Hilman <khilman@deeprootsystems.com> [tony@atomide.com: updated description to clarify the transistion] Signed-off-by: NTony Lindgren <tony@atomide.com>
Showing
想要评论请 注册 或 登录