From: "Reizer, Eyal" <eyalr-l0cyMroinI0@public.gmane.org>
To: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: Kalle Valo <kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
KISHON VIJAY ABRAHAM <kishon-l0cyMroinI0@public.gmane.org>,
"Mishol, Guy" <guym-l0cyMroinI0@public.gmane.org>,
Luca Coelho
<luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
"Hahn, Maital" <maitalm-l0cyMroinI0@public.gmane.org>,
"Altshul, Maxim" <maxim.altshul-l0cyMroinI0@public.gmane.org>,
Shahar Patury <shaharp-l0cyMroinI0@public.gmane.org>,
"linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Loewy, Chen" <c-loewy-l0cyMroinI0@public.gmane.org>
Subject: RE: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore
Date: Tue, 22 May 2018 13:26:01 +0000 [thread overview]
Message-ID: <38ddca4c73bb4dbf835a84133035dbfb@ti.com> (raw)
In-Reply-To: 20180521224339.GD98604@atomide.com
> >
> > 8< ------------------------
> > diff --git a/drivers/net/wireless/ti/wlcore/main.c
> > b/drivers/net/wireless/ti/wlcore/main.c
> > --- a/drivers/net/wireless/ti/wlcore/main.c
> > +++ b/drivers/net/wireless/ti/wlcore/main.c
> > @@ -1867,8 +1867,6 @@ static int __maybe_unused
> > wl1271_op_resume(struct ieee80211_hw *hw)
> > if (ret)
> > wl12xx_queue_recovery_work(wl);
> > }
> > -
> > - wlcore_enable_interrupts(wl);
> > }
> >
> > if (pending_recovery) {
> > @@ -1877,6 +1875,8 @@ static int __maybe_unused
> > wl1271_op_resume(struct ieee80211_hw *hw)
> > goto out_sleep;
> > }
> >
> > + wlcore_enable_interrupts(wl);
> > +
> > ret = pm_runtime_get_sync(wl->dev);
> > if (ret < 0) {
> > pm_runtime_put_noidle(wl->dev);
>
> It still crash.
> The crash is different now.
> It also complains about:
> [ 60.544224] Unbalanced enable for IRQ 65
> Need down/up of the interface to recover after it.
> Log below:
>
Actually the below patch removing the call to wlcore_fw_sleep() avoids this error.
The downside is that the wl8 firmware remains fully active during supend, so we
Would need to find the root cause why the last call allowing the wilink8 firmware
To go into ELP mode during suspend is only completing on resume and not during
Suspend enter.
diff --git a/drivers/net/wireless/ti/wlcore/main.c
b/drivers/net/wireless/ti/wlcore/main.c
index 4c297aa..8df1ae6 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -1789,7 +1789,6 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
goto out_sleep;
out_sleep:
- pm_runtime_put_noidle(wl->dev);
mutex_unlock(&wl->mutex);
if (ret < 0) {
@@ -1821,15 +1820,7 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
*/
cancel_delayed_work(&wl->tx_watchdog_work);
- /*
- * Use an immediate call for allowing the firmware to go into power
- * save during suspend.
- * Using a workque for this last write was only hapenning on resume
- * leaving the firmware with power save disabled during suspend,
- * while consuming full power during wowlan suspend.
- */
- wlcore_fw_sleep(wl);
-
+ pm_runtime_put_noidle(wl->dev);
return 0;
}
With this wowlan seems to work ok and suspend/resume is not crashing when
enabling wowlan. See below:
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# iw phy0 wowlan enable any
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# echo mem > /sys/power/state
[ 63.794805] PM: suspend entry (deep)
[ 63.798455] PM: Syncing filesystems ... done.
[ 65.779673] Freezing user space processes ... (elapsed 0.001 seconds) done.
[ 65.788878] OOM killer disabled.
[ 65.792117] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[ 65.801196] Suspending console(s) (use no_console_suspend to debug)
[ 65.952459] pm33xx pm33xx: PM: Successfully put all powerdomains to target state
[ 65.952459] PM: Wakeup source GPIO0
[ 65.977028] net eth0: initializing cpsw version 1.12 (0)
[ 66.074419] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=POLL)
[ 66.236312] OOM killer enabled.
[ 66.239604] Restarting tasks ... done.
[ 66.282501] PM: suspend exit
root@am335x-evm:/usr/share/wl18xx#
BR,
Eyal
WARNING: multiple messages have this Message-ID (diff)
From: "Reizer, Eyal" <eyalr@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Kalle Valo <kvalo@codeaurora.org>,
KISHON VIJAY ABRAHAM <kishon@ti.com>, "Mishol, Guy" <guym@ti.com>,
Luca Coelho <luciano.coelho@intel.com>,
"Hahn, Maital" <maitalm@ti.com>,
"Altshul, Maxim" <maxim.altshul@ti.com>,
"Shahar Patury" <shaharp@ti.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"Loewy, Chen" <c-loewy@ti.com>
Subject: RE: [EXTERNAL] [PATCHv2 0/5] Runtime PM support for wlcore
Date: Tue, 22 May 2018 13:26:01 +0000 [thread overview]
Message-ID: <38ddca4c73bb4dbf835a84133035dbfb@ti.com> (raw)
In-Reply-To: 20180521224339.GD98604@atomide.com
> >
> > 8< ------------------------
> > diff --git a/drivers/net/wireless/ti/wlcore/main.c
> > b/drivers/net/wireless/ti/wlcore/main.c
> > --- a/drivers/net/wireless/ti/wlcore/main.c
> > +++ b/drivers/net/wireless/ti/wlcore/main.c
> > @@ -1867,8 +1867,6 @@ static int __maybe_unused
> > wl1271_op_resume(struct ieee80211_hw *hw)
> > if (ret)
> > wl12xx_queue_recovery_work(wl);
> > }
> > -
> > - wlcore_enable_interrupts(wl);
> > }
> >
> > if (pending_recovery) {
> > @@ -1877,6 +1875,8 @@ static int __maybe_unused
> > wl1271_op_resume(struct ieee80211_hw *hw)
> > goto out_sleep;
> > }
> >
> > + wlcore_enable_interrupts(wl);
> > +
> > ret =3D pm_runtime_get_sync(wl->dev);
> > if (ret < 0) {
> > pm_runtime_put_noidle(wl->dev);
>=20
> It still crash.
> The crash is different now.
> It also complains about:
> [ 60.544224] Unbalanced enable for IRQ 65
> Need down/up of the interface to recover after it.
> Log below:
>=20
Actually the below patch removing the call to wlcore_fw_sleep() avoids this=
error.
The downside is that the wl8 firmware remains fully active during supend, s=
o we
Would need to find the root cause why the last call allowing the wilink8 fi=
rmware=20
To go into ELP mode during suspend is only completing on resume and not dur=
ing
Suspend enter.
diff --git a/drivers/net/wireless/ti/wlcore/main.c
b/drivers/net/wireless/ti/wlcore/main.c
index 4c297aa..8df1ae6 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -1789,7 +1789,6 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw,
goto out_sleep;
out_sleep:
- pm_runtime_put_noidle(wl->dev);
mutex_unlock(&wl->mutex);
if (ret < 0) {
@@ -1821,15 +1820,7 @@ static int wl1271_op_suspend(struct ieee80211_hw *hw=
,
*/
cancel_delayed_work(&wl->tx_watchdog_work);
- /*
- * Use an immediate call for allowing the firmware to go into power
- * save during suspend.
- * Using a workque for this last write was only hapenning on resume
- * leaving the firmware with power save disabled during suspend,
- * while consuming full power during wowlan suspend.
- */
- wlcore_fw_sleep(wl);
-
+ pm_runtime_put_noidle(wl->dev);
return 0;
}
With this wowlan seems to work ok and suspend/resume is not crashing when=20
enabling wowlan. See below:
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# iw phy0 wowlan enable any
root@am335x-evm:/usr/share/wl18xx#
root@am335x-evm:/usr/share/wl18xx# echo mem > /sys/power/state
[ 63.794805] PM: suspend entry (deep)
[ 63.798455] PM: Syncing filesystems ... done.
[ 65.779673] Freezing user space processes ... (elapsed 0.001 seconds) do=
ne.
[ 65.788878] OOM killer disabled.
[ 65.792117] Freezing remaining freezable tasks ... (elapsed 0.001 second=
s) done.
[ 65.801196] Suspending console(s) (use no_console_suspend to debug)
[ 65.952459] pm33xx pm33xx: PM: Successfully put all powerdomains to targ=
et state
[ 65.952459] PM: Wakeup source GPIO0
[ 65.977028] net eth0: initializing cpsw version 1.12 (0)
[ 66.074419] SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [=
SMSC LAN8710/LAN8720] (mii_bus:phy_addr=3D4a101000.mdio:00, irq=3DPOLL)
[ 66.236312] OOM killer enabled.
[ 66.239604] Restarting tasks ... done.
[ 66.282501] PM: suspend exit
root@am335x-evm:/usr/share/wl18xx#
BR,
Eyal
next prev parent reply other threads:[~2018-05-22 13:26 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-17 18:50 [PATCHv2 0/5] Runtime PM support for wlcore Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
[not found] ` <20180517185029.71716-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-17 18:50 ` [PATCH 1/5] wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
2018-05-17 18:50 ` [PATCH 2/5] wlcore: Make sure PM calls are paired Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
2018-05-17 18:50 ` [PATCH 3/5] wlcore: Add support for runtime PM Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
2018-05-17 18:50 ` [PATCH 4/5] wlcore: Fix misplaced PM call for scan_complete_work() Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
2018-05-17 18:50 ` [PATCH 5/5] wlcore: sdio: Warn about runtime PM suspend errors Tony Lindgren
2018-05-17 18:50 ` Tony Lindgren
[not found] ` <20180517185029.71716-6-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-21 22:32 ` Tony Lindgren
2018-05-21 22:32 ` Tony Lindgren
2018-05-17 18:59 ` [PATCHv2 0/5] Runtime PM support for wlcore Tony Lindgren
2018-05-17 18:59 ` Tony Lindgren
2018-05-21 7:29 ` [EXTERNAL] " Reizer, Eyal
2018-05-21 7:29 ` Reizer, Eyal
[not found] ` <bff51dcc6fd441d9ab42db273219aaf4-l0cyMroinI0@public.gmane.org>
2018-05-21 16:38 ` Tony Lindgren
2018-05-21 16:38 ` Tony Lindgren
[not found] ` <20180521163830.GZ98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-21 22:43 ` Tony Lindgren
2018-05-21 22:43 ` Tony Lindgren
[not found] ` <20180521224339.GD98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-22 6:40 ` Reizer, Eyal
2018-05-22 6:40 ` Reizer, Eyal
[not found] ` <3793c7c0d2b140389c7b92a407125650-l0cyMroinI0@public.gmane.org>
2018-05-22 13:50 ` Tony Lindgren
2018-05-22 13:50 ` Tony Lindgren
2018-05-22 13:26 ` Reizer, Eyal [this message]
2018-05-22 13:26 ` Reizer, Eyal
[not found] ` <38ddca4c73bb4dbf835a84133035dbfb-l0cyMroinI0@public.gmane.org>
2018-05-22 13:31 ` Tony Lindgren
2018-05-22 13:31 ` Tony Lindgren
[not found] ` <20180522133158.GE98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-22 13:48 ` Reizer, Eyal
2018-05-22 13:48 ` Reizer, Eyal
[not found] ` <eae7c720c09549f0b4ff83f88ad6959b-l0cyMroinI0@public.gmane.org>
2018-05-22 13:55 ` Tony Lindgren
2018-05-22 13:55 ` Tony Lindgren
[not found] ` <20180522135511.GI98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-22 14:05 ` Reizer, Eyal
2018-05-22 14:05 ` Reizer, Eyal
[not found] ` <92eff64ea59740bfa395b53ff22c07d3-l0cyMroinI0@public.gmane.org>
2018-05-22 15:01 ` Tony Lindgren
2018-05-22 15:01 ` Tony Lindgren
[not found] ` <20180522150111.GJ98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-22 17:23 ` Tony Lindgren
2018-05-22 17:23 ` Tony Lindgren
[not found] ` <20180522172343.GK98604-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-23 7:04 ` Reizer, Eyal
2018-05-23 7:04 ` Reizer, Eyal
2018-05-22 8:02 ` Kalle Valo
2018-05-22 8:02 ` Kalle Valo
[not found] ` <87efi4f78j.fsf-HodKDYzPHsUD5k0oWYwrnHL1okKdlPRT@public.gmane.org>
2018-05-22 13:37 ` Tony Lindgren
2018-05-22 13:37 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=38ddca4c73bb4dbf835a84133035dbfb@ti.com \
--to=eyalr-l0cymroini0@public.gmane.org \
--cc=c-loewy-l0cyMroinI0@public.gmane.org \
--cc=guym-l0cyMroinI0@public.gmane.org \
--cc=kishon-l0cyMroinI0@public.gmane.org \
--cc=kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=maitalm-l0cyMroinI0@public.gmane.org \
--cc=maxim.altshul-l0cyMroinI0@public.gmane.org \
--cc=shaharp-l0cyMroinI0@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.