RE: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore
From: Reizer, Eyal <hidden>
Date: 2018-05-23 07:04:28
Also in:
linux-omap
=20 Here's a modified version of your patch, does that put wlcore to idle with wowlan during suspend for you? =20
Still no joy.
It suspends/resumes ok but leaves the firmware disabled from entering ELP.
You can see the log below with some prints added to wlcore_runtime_suspend(=
)
And wlcore_runtime_resume().
What you can see is that normally after each transaction, such as scan belo=
w,
It ends where the firmware is allowed to enter ELP based on its internal lo=
gic.
You can see the print "chip allowed to entered elp" below.
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~# iw wlan0 scan | grep SSID
[ 106.010879] disabling the FW from enering ELP
[ 106.026780] wlcore_runtime_suspend -> enter
[ 106.033331] allowing chip to entered elp
[ 106.037823] chip allowed to entered elp
...
...
[ 110.110140] disabling the FW from enering ELP
[ 110.224902] wlcore_runtime_suspend -> enter
[ 110.229208] allowing chip to entered elp
SSID: IOTLP_521
SSID: Reizer
SSID: LinksysADSL
SSID: RT2880_AP
SSID: net4guest
[ 110.252460] chip allowed to entered elp
SSID: halekoa75
SSID: externalhotspot84
SSID: cpn84
SSID: WPS_AP_5G
SSID: MarvellAP95
[ 110.266707] disabling the FW from enering ELP
[ 110.279297] wlcore_runtime_suspend -> enter
SSID:
SSID:
[ 110.292041] allowing chip to entered elp
SSID: net4guest
[ 110.303485] chip allowed to entered elp
SSID: halekoa75
SSID: externalhotspot84
SSID: cpn84
SSID: net4guest
SSID: halekoa75
SSID: externalhotspot84
SSID: cpn84
root@am335x-evm:~#
root@am335x-evm:~#
root@am335x-evm:~#
This is not the case when suspending.
You can see below that the message " PM: Successfully put all powerdomains =
to target state"
Comes before the call to pm_runtime_suspend() was executed and the firmware
Remained in full active state consuming full power during the whole time th=
e system was=20
suspended.
The call to pm_runtime_suspend is only seen on resume:
[ 124.153960] Restarting tasks ...=20
[ 124.154702] wlcore_runtime_suspend -> enter
I have also verified that this is not just a print issue by using a firmwar=
e logger that=20
Shows the internal state of the firmware and can see that the call to allow=
ELP
Actually comes only after resume.
This is what I am trying to chase now. Something is not right here with pm_=
runtime.
Any ideas here?
root@am335x-evm:~#
root@am335x-evm:~# echo mem > /sys/power/state
[ 123.444472] PM: suspend entry (deep)
[ 123.448119] PM: Syncing filesystems ... done.
[ 123.467382] Freezing user space processes ... (elapsed 0.002 seconds) do=
ne.
[ 123.477144] OOM killer disabled.
[ 123.480424] Freezing remaining freezable tasks ... (elapsed 0.001 second=
s) done.
[ 123.489880] Suspending console(s) (use no_console_suspend to debug)
[ 123.505821] disabling the FW from enering ELP
[ 123.861590] pm33xx pm33xx: PM: Successfully put all powerdomains to targ=
et state
[ 123.861590] PM: Wakeup source UART
[ 123.886091] net eth0: initializing cpsw version 1.12 (0)
[ 123.984353] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [=
SMSC LAN8710/LAN8720] (mii_bus:phy_addr=3D4a101000.mdio:00, irq=3DPOLL)
[ 124.150623] OOM killer enabled.
[ 124.153960] Restarting tasks ...
[ 124.154702] wlcore_runtime_suspend -> enter
[ 124.171414] done.
[ 124.190085] allowing chip to entered elp
[ 124.199877] chip allowed to entered elp
[ 124.208633] PM: suspend exit
root@am335x-evm:~#
Best Regards,
Eyal