From: Giuseppe CAVALLARO <peppe.cavallaro@st.com>
To: <srinivas.kandagatla@st.com>
Cc: <netdev@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH RFC 0/9]net: stmmac PM related fixes.
Date: Tue, 19 Nov 2013 06:24:39 +0100 [thread overview]
Message-ID: <528AF617.70802@st.com> (raw)
In-Reply-To: <1384774256-10039-1-git-send-email-srinivas.kandagatla@st.com>
On 11/18/2013 12:30 PM, srinivas.kandagatla@st.com wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@st.com>
>
> Hi Peppe,
>
> During PM_SUSPEND_FREEZE testing, I have noticed that PM support in STMMAC is
> partly broken. I had to re-arrange the code to do PM correctly. There were lot
> of things I did not like personally and some bits did not work in the first
> place. I thought this is the nice opportunity to clean the mess up.
>
> Here is what I did:
>
> 1> Test PM suspend freeeze via pm_test
> It did not work for following reasons.
> - If the power to gmac is removed when it enters in low power state.
> stmmac_resume could not cope up with such behaviour, it was expecting the ip
> register contents to be still same as before entering low power, This
> assumption is wrong. So I started to add some code to do Hardware
> initialization, thats when I started to re-arrange the code. stmmac_open
> contains both resource and memory allocations and hardware initialization. I
> had to separate these two things in two different functions.
>
> These two patches do that
> net: stmmac: move dma allocation to new function
> net: stmmac: move hardware setup for stmmac_open to new function
>
> And rest of the other patches are fixing the loose ends, things like mdio
> reset, which might be necessary in cases likes hibernation(I did not test).
>
> In hibernation cases the driver was just unregistering with subsystems and
> releasing resources which I did not like and its not necessary to do this as
> part of PM. So using the same stmmac_suspend/resume made more sense for
> hibernation cases than using stmmac_open/release.
> Also fixed a NULL pointer dereference bug too.
>
> 2> Test WOL via PM_SUSPEND_FREEZE
> Did get an wakeup interrupt, but could not wakeup a freeze system.
> So I had to add pm_wakeup_event to the driver.
> net: stmmac: notify the PM core of a wakeup event. patch.
>
> Also few patches like
> net: stmmac: make stmmac_mdio_reset non-static
> net: stmmac: restore pinstate in pm resume.
> helps the resume function to reset the phy and put back the pins in default
> state.
>
> Comments?
Srini, as we had internally discussed before sending the patches to the
net ML, I agreed with your work. Some parts of the PM stuff was fully
tested on our product kernels (where the PM was a bit different
especially on HoM) and nobody raised issues to me for this code.
Also some rework you did, for example to move the dma allocation in
a new function is fine for me.
So you continue to have my Acked-by for all.
peppe
>
> Thanks,
> srini
>
> Srinivas Kandagatla (9):
> net: stmmac: support max-speed device tree property
> net: stmmac: mdio: remove reset gpio free
> net: stmmac: move dma allocation to new function
> net: stmmac: move hardware setup for stmmac_open to new function
> net: stmmac: make stmmac_mdio_reset non-static
> net: stmmac: fix power mangement suspend-resume case
> net: stmmac: use suspend functions for hibernation
> net: stmmac: restore pinstate in pm resume.
> net: stmmac: notify the PM core of a wakeup event.
>
> drivers/net/ethernet/stmicro/stmmac/stmmac.h | 4 +-
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 360 ++++++++++----------
> drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 3 +-
> .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 51 +--
> include/linux/stmmac.h | 1 +
> 5 files changed, 209 insertions(+), 210 deletions(-)
>
next prev parent reply other threads:[~2013-11-19 5:25 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-18 11:30 [PATCH RFC 0/9]net: stmmac PM related fixes srinivas.kandagatla
2013-11-18 11:31 ` [PATCH RFC 1/9] net: stmmac: support max-speed device tree property srinivas.kandagatla
2013-11-18 11:31 ` [PATCH RFC 2/9] net: stmmac: mdio: remove reset gpio free srinivas.kandagatla
2013-11-18 11:31 ` [PATCH RFC 3/9] net: stmmac: move dma allocation to new function srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 4/9] net: stmmac: move hardware setup for stmmac_open " srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 5/9] net: stmmac: make stmmac_mdio_reset non-static srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 6/9] net: stmmac: fix power mangement suspend-resume case srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 7/9] net: stmmac: use suspend functions for hibernation srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 8/9] net: stmmac: restore pinstate in pm resume srinivas.kandagatla
2013-11-18 11:32 ` [PATCH RFC 9/9] net: stmmac: notify the PM core of a wakeup event srinivas.kandagatla
2013-11-19 5:24 ` Giuseppe CAVALLARO [this message]
2013-11-19 9:03 ` [PATCH RFC 0/9]net: stmmac PM related fixes srinivas kandagatla
2013-12-02 10:48 ` srinivas kandagatla
2013-12-02 16:18 ` David Miller
2014-01-14 10:05 ` srinivas kandagatla
2014-01-15 21:49 ` David Miller
2014-01-16 10:48 ` [PATCH v2 0/9] net: " srinivas.kandagatla
2014-01-16 23:24 ` David Miller
2014-01-16 10:50 ` srinivas.kandagatla
2014-01-16 10:51 ` [PATCH v2 1/9] net: stmmac: support max-speed device tree property srinivas.kandagatla
2014-01-16 10:51 ` [PATCH v2 2/9] net: stmmac: mdio: remove reset gpio free srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 3/9] net: stmmac: move dma allocation to new function srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 4/9] net: stmmac: move hardware setup for stmmac_open " srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 5/9] net: stmmac: make stmmac_mdio_reset non-static srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 6/9] net: stmmac: fix power management suspend-resume case srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 7/9] net: stmmac: use suspend functions for hibernation srinivas.kandagatla
2014-01-16 10:52 ` [PATCH v2 8/9] net: stmmac: restore pinstate in pm resume srinivas.kandagatla
2014-01-16 10:53 ` [PATCH v2 9/9] net: stmmac: notify the PM core of a wakeup event srinivas.kandagatla
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=528AF617.70802@st.com \
--to=peppe.cavallaro@st.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=srinivas.kandagatla@st.com \
/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.