Re: Droid 4: suspend to RAM?

From: Pavel Machek
Date: Fri Aug 10 2018 - 07:04:00 EST


Hi!

> * Pavel Machek <pavel@xxxxxx> [180727 11:35]:
> > Hi!
> > > > > high even before modem (and thus USB) is enabled.
> > > > >
> > > > > Interestingly, CyanogenMod and Jolla seem to have higher power
> > > > > consumption than stock operating system.
> > > > >
> > > > > (My Linux can survive for 10 hours, stock system could survive for 4
> > > > > days if I'm not mistaken).
> > > > >
> > > > > I thought I would experiment with suspend to RAM.. and it indeed
> > > > > seemed to suspend ok, but I could not wake it up. Do I need to set up
> > > > > wakeup with button somehow? Is suspend to RAM required for good power
> > > > > consumption?
> > > >
> > > > Sorry but pm subsystem has debug mode that you can test in a easy way.
> > > > You can even wakeup by any rtc alarm easily.
> > >
> > > Yes, that is how it works on PC (but there power button works,
> > > too). Is it expected to work on Droid in v4.18?
> >
> > I tried setting up wakeup using RTC, but no, it does not seem to work:
> >
> > root@devuan:/my/tui/d4# rtcwake -m no -s 5
> > rtcwake: wakeup using /dev/rtc0 at Fri Jul 27 11:28:44 2018
> > root@devuan:/my/tui/d4# echo mem > /sys/power/state
>
> Works for me here as tested on next-20180808, maybe you don't have
> CONFIG_RTC_DRV_CPCAP? Maybe you are trying to use CONFIG_RTC_DRV_OMAP?

Mainline seems to fail suspend, with CONFIG_DRM turned off. Aha, and
same behaviour with CONFIG_DRM on. Why is it different today?


[ 334.933532] Charging, 4350000 uV, 532000 uA
[ 338.093109] PM: suspend entry (deep)
[ 338.096710] PM: Syncing filesystems ... done.
[ 338.138977] Freezing user space processes ... (elapsed 0.001
seconds) done.
[ 338.147338] OOM killer disabled.
[ 338.150604] Freezing remaining freezable tasks ... (elapsed 0.001
seconds) done.
[ 338.159240] Suspending console(s) (use no_console_suspend to debug)
[ 338.168212] phy phy-usb-phy@xxx: phy poweroff failed --> -19
[ 338.181518] l4_wkup_cm:clk:0018:0: failed to disable
[ 338.183227] PM: noirq suspend of devices failed
[ 338.187377] g_ether gadget: reset config
[ 338.187408] g_ether gadget: ecm deactivated
[ 338.187408] usb0: gether_disconnect
[ 338.513092] OOM killer enabled.
[ 338.516296] Restarting tasks ... done.
[ 338.529266] PM: suspend exit
[ 338.698577] g_ether gadget: high-speed config #1: CDC Ethernet
(ECM)
[ 338.704986] g_ether gadget: init ecm
[ 338.708587] g_ether gadget: notify connect true
[ 338.713958] g_ether gadget: activate ecm
[ 338.717895] usb0: qlen 10
[ 338.720550] g_ether gadget: ecm_open
[ 338.724151] usb0: eth_start
[ 338.727111] g_ether gadget: packet filter 0c
[ 338.731414] g_ether gadget: ecm req21.43 v000c i0000 l0
[ 338.993835] cpcap_usb_detect: 27 callbacks suppressed

With USB unplugged, suspend seems to behave as expected, even on
v4.18-rc8, and it seems to work even with X running and modem
online. Good.


> Then for deeper idle modes, you need to also idle UARTs, and unbind or
> unload USB related modules. You should get to something like 160mW
> power consumption with mdm6600 enabled and SoC suspended that way.
>
> Then again system running idle is about the same with timers and
> interrupts working so I'd just idle UARTs and unload USB modules :)

Ok, let me play with it some more.

Thanks for help,
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

Attachment: signature.asc
Description: Digital signature