On Thu, 21 Feb 2019 13:26:03 -0800 Tony Lindgren <tony@xxxxxxxxxxx> wrote: > * Andreas Kemnade <andreas@xxxxxxxxxxxx> [190221 21:05]: > > this one breaks my system: gta04 (dm3730 + twl4030) > > loaded a minimal set of things: > > > > root@(none):/# rtcwake -s 10 -m mem > > rtcwake: wakeup from "mem" using /dev/rtc0 at Sat Jan 1 00:04:01 2000 > > [ 50.857360] PM: suspend entry (deep) > > [ 50.861480] PM: Syncing filesystems ... done. > > [ 50.881561] Freezing user space processes ... (elapsed 0.003 seconds) done. > > [ 50.893493] OOM killer disabled. > > [ 50.896911] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done. > > [ 50.908050] printk: Suspending console(s) (use no_console_suspend to debug) > > [ 50.978393] Disabling non-boot CPUs ... > > [ 50.978485] Successfully put all powerdomains to target state > > [ 50.986816] twl: Read failed (mod 1, reg 0x01 count 1) > > [ 50.986846] twl4030: I2C error -13 reading PIH ISR > > [ 50.986907] twl: Read failed (mod 1, reg 0x01 count 1) > > [ 50.986907] twl4030: I2C error -13 reading PIH ISR > > [ 50.986968] twl: Read failed (mod 1, reg 0x01 count 1) > > [ 50.986968] twl4030: I2C error -13 reading PIH ISR > > [ 50.987030] twl: Read failed (mod 1, reg 0x01 count 1) > > Interesting, sorry about that. I'm not seeing here with dm3730 + twl4030 > logicpd torpedo: > > [ 79.150573] PM: suspend entry (deep) > [ 79.154235] PM: Syncing filesystems ... done. > [ 79.161437] Freezing user space processes ... (elapsed 0.002 seconds) done. > [ 79.170898] OOM killer disabled. > [ 79.174163] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done. > [ 79.183685] printk: Suspending console(s) (use no_console_suspend to debug) > [ 79.231964] Disabling non-boot CPUs ... > [ 79.231994] Successfully put all powerdomains to target state > [ 79.271209] OOM killer enabled. > [ 79.274383] Restarting tasks ... done. > [ 79.284088] PM: suspend exit > > I wonder what code is trying to do the twl i2c reads that late > into suspend? > well, I rather guess early after resume. These read failures come endlessly. My theory is that: - system is woken up by twl irq (here: rtc alarm) - twl code tries to handle that by reading the irq registers - read fails (because omap-i2c is in a non-working state) - irq stays - reading is retried but failed again. Doing more research here: The key point is to wake up via twl4030 irq (here the rtc alarm). This does not happen when I am not waking up via twl irq but via some other pinctl irq of the wkup domain. Regards, Andreas
Attachment:
pgp8fJ2KEeoao.pgp
Description: OpenPGP digital signature