• K
    OMAP3: PM: ensure IO wakeups are properly disabled · 58a5559e
    Kevin Hilman 提交于
    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>
    58a5559e
pm34xx.c 30.2 KB