Skip to content
Snippets Groups Projects
  • Andreas Kemnade's avatar
    20bb907f
    mfd: twl-core: Disable IRQ while suspended · 20bb907f
    Andreas Kemnade authored
    
    Since commit 6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device for suspend")
    on gta04 we have handle_twl4030_pih() called in situations where pm_runtime_get()
    in i2c-omap.c returns -EACCES.
    
    [   86.474365] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
    [   86.485473] printk: Suspending console(s) (use no_console_suspend to debug)
    [   86.555572] Disabling non-boot CPUs ...
    [   86.555664] Successfully put all powerdomains to target state
    [   86.563720] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563751] twl4030: I2C error -13 reading PIH ISR
    [   86.563812] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563812] twl4030: I2C error -13 reading PIH ISR
    [   86.563873] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563903] twl4030: I2C error -13 reading PIH ISR
    
    This happens when we wakeup via something behing twl4030 (powerbutton or rtc
    alarm). This goes on for minutes until the system is finally resumed.
    Disable the irq on suspend and enable it on resume to avoid
    having i2c access problems when the irq registers are checked.
    
    Fixes: 6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device for suspend")
    Signed-off-by: default avatarAndreas Kemnade <andreas@kemnade.info>
    Tested-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
    20bb907f
    History
    mfd: twl-core: Disable IRQ while suspended
    Andreas Kemnade authored
    
    Since commit 6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device for suspend")
    on gta04 we have handle_twl4030_pih() called in situations where pm_runtime_get()
    in i2c-omap.c returns -EACCES.
    
    [   86.474365] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
    [   86.485473] printk: Suspending console(s) (use no_console_suspend to debug)
    [   86.555572] Disabling non-boot CPUs ...
    [   86.555664] Successfully put all powerdomains to target state
    [   86.563720] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563751] twl4030: I2C error -13 reading PIH ISR
    [   86.563812] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563812] twl4030: I2C error -13 reading PIH ISR
    [   86.563873] twl: Read failed (mod 1, reg 0x01 count 1)
    [   86.563903] twl4030: I2C error -13 reading PIH ISR
    
    This happens when we wakeup via something behing twl4030 (powerbutton or rtc
    alarm). This goes on for minutes until the system is finally resumed.
    Disable the irq on suspend and enable it on resume to avoid
    having i2c access problems when the irq registers are checked.
    
    Fixes: 6e2bd956936 ("i2c: omap: Use noirq system sleep pm ops to idle device for suspend")
    Signed-off-by: default avatarAndreas Kemnade <andreas@kemnade.info>
    Tested-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.