From: <nicolas.ferre@microchip.com>
To: <linux-arm-kernel@lists.infradead.org>, <netdev@vger.kernel.org>,
"Claudiu Beznea" <claudiu.beznea@microchip.com>,
<harini.katakam@xilinx.com>
Cc: andrew@lunn.ch, Alexandre Belloni <alexandre.belloni@bootlin.com>,
f.fainelli@gmail.com, michal.simek@xilinx.com,
antoine.tenart@bootlin.com, linux@armlinux.org.uk,
linux-kernel@vger.kernel.org,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH v3 0/7] net: macb: Wake-on-Lan magic packet fixes and GEM handling
Date: Mon, 4 May 2020 15:44:15 +0200 [thread overview]
Message-ID: <cover.1588597759.git.nicolas.ferre@microchip.com> (raw)
From: Nicolas Ferre <nicolas.ferre@microchip.com>
Hi,
Here is the 3rd series to fix WoL magic-packet on the current macb driver.
I also add, in the second part of this series the feature to GEM types of IPs.
Please tell me if they should be separated; but the two last patches cannot go
without the 5 fixes first ones.
MACB and GEM code must co-exist and as they don't share exactly the same
register layout, I had to specialize a bit the suspend/resume paths and plug a
specific IRQ handler in order to avoid overloading the "normal" IRQ hot path.
The use of dumb buffers for RX that Harini implemented in [1] might
need to be considered for a follow-up patch series in order to address
lower-power modes on some of the platforms.
For instance, I didn't have to implement dumb buffers for some of the simpler
ARM9 platforms using MACB+FIFO types of controllers.
Please give feedback. Best regards,
Nicolas
[1]:
https://github.com/Xilinx/linux-xlnx/commit/e9648006e8d9132db2594e50e700af362b3c9226#diff-41909d180431659ccc1229aa30fd4e5a
https://github.com/Xilinx/linux-xlnx/commit/60a21c686f7e4e50489ae04b9bb1980b145e52ef
Changes in v3:
- Revert some of the v2 changes done in macb_resume(). Now the resume function
supports in-depth re-configuration of the controller in order to deal with
deeper sleep states. Basically as it was before changes introduced by this
series
- Tested for non-regression with our deeper Power Management mode which cuts
power to the controller completely
Changes in v2:
- Add patch 4/7 ("net: macb: fix macb_suspend() by removing call to netif_carrier_off()")
needed for keeping phy state consistent
- Add patch 5/7 ("net: macb: fix call to pm_runtime in the suspend/resume functions") that prevent
putting the macb in runtime pm suspend mode when WoL is used
- Collect review tags on 3 first patches from Florian: Thanks!
- Review of macb_resume() function
- Addition of pm_wakeup_event() in both MACB and GEM WoL IRQ handlers
Nicolas Ferre (7):
net: macb: fix wakeup test in runtime suspend/resume routines
net: macb: mark device wake capable when "magic-packet" property
present
net: macb: fix macb_get/set_wol() when moving to phylink
net: macb: fix macb_suspend() by removing call to netif_carrier_off()
net: macb: fix call to pm_runtime in the suspend/resume functions
net: macb: WoL support for GEM type of Ethernet controller
net: macb: Add WoL interrupt support for MACB type of Ethernet
controller
drivers/net/ethernet/cadence/macb.h | 3 +
drivers/net/ethernet/cadence/macb_main.c | 209 +++++++++++++++++++----
2 files changed, 176 insertions(+), 36 deletions(-)
--
2.26.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: <nicolas.ferre@microchip.com>
To: <linux-arm-kernel@lists.infradead.org>, <netdev@vger.kernel.org>,
"Claudiu Beznea" <claudiu.beznea@microchip.com>,
<harini.katakam@xilinx.com>
Cc: <linux-kernel@vger.kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
<antoine.tenart@bootlin.com>, <f.fainelli@gmail.com>,
<linux@armlinux.org.uk>, <andrew@lunn.ch>,
<michal.simek@xilinx.com>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>
Subject: [PATCH v3 0/7] net: macb: Wake-on-Lan magic packet fixes and GEM handling
Date: Mon, 4 May 2020 15:44:15 +0200 [thread overview]
Message-ID: <cover.1588597759.git.nicolas.ferre@microchip.com> (raw)
From: Nicolas Ferre <nicolas.ferre@microchip.com>
Hi,
Here is the 3rd series to fix WoL magic-packet on the current macb driver.
I also add, in the second part of this series the feature to GEM types of IPs.
Please tell me if they should be separated; but the two last patches cannot go
without the 5 fixes first ones.
MACB and GEM code must co-exist and as they don't share exactly the same
register layout, I had to specialize a bit the suspend/resume paths and plug a
specific IRQ handler in order to avoid overloading the "normal" IRQ hot path.
The use of dumb buffers for RX that Harini implemented in [1] might
need to be considered for a follow-up patch series in order to address
lower-power modes on some of the platforms.
For instance, I didn't have to implement dumb buffers for some of the simpler
ARM9 platforms using MACB+FIFO types of controllers.
Please give feedback. Best regards,
Nicolas
[1]:
https://github.com/Xilinx/linux-xlnx/commit/e9648006e8d9132db2594e50e700af362b3c9226#diff-41909d180431659ccc1229aa30fd4e5a
https://github.com/Xilinx/linux-xlnx/commit/60a21c686f7e4e50489ae04b9bb1980b145e52ef
Changes in v3:
- Revert some of the v2 changes done in macb_resume(). Now the resume function
supports in-depth re-configuration of the controller in order to deal with
deeper sleep states. Basically as it was before changes introduced by this
series
- Tested for non-regression with our deeper Power Management mode which cuts
power to the controller completely
Changes in v2:
- Add patch 4/7 ("net: macb: fix macb_suspend() by removing call to netif_carrier_off()")
needed for keeping phy state consistent
- Add patch 5/7 ("net: macb: fix call to pm_runtime in the suspend/resume functions") that prevent
putting the macb in runtime pm suspend mode when WoL is used
- Collect review tags on 3 first patches from Florian: Thanks!
- Review of macb_resume() function
- Addition of pm_wakeup_event() in both MACB and GEM WoL IRQ handlers
Nicolas Ferre (7):
net: macb: fix wakeup test in runtime suspend/resume routines
net: macb: mark device wake capable when "magic-packet" property
present
net: macb: fix macb_get/set_wol() when moving to phylink
net: macb: fix macb_suspend() by removing call to netif_carrier_off()
net: macb: fix call to pm_runtime in the suspend/resume functions
net: macb: WoL support for GEM type of Ethernet controller
net: macb: Add WoL interrupt support for MACB type of Ethernet
controller
drivers/net/ethernet/cadence/macb.h | 3 +
drivers/net/ethernet/cadence/macb_main.c | 209 +++++++++++++++++++----
2 files changed, 176 insertions(+), 36 deletions(-)
--
2.26.2
next reply other threads:[~2020-05-04 13:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-04 13:44 nicolas.ferre [this message]
2020-05-04 13:44 ` [PATCH v3 0/7] net: macb: Wake-on-Lan magic packet fixes and GEM handling nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 1/7] net: macb: fix wakeup test in runtime suspend/resume routines nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 2/7] net: macb: mark device wake capable when "magic-packet" property present nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 3/7] net: macb: fix macb_get/set_wol() when moving to phylink nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 4/7] net: macb: fix macb_suspend() by removing call to netif_carrier_off() nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 5/7] net: macb: fix call to pm_runtime in the suspend/resume functions nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 6/7] net: macb: WoL support for GEM type of Ethernet controller nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 13:44 ` [PATCH v3 7/7] net: macb: Add WoL interrupt support for MACB " nicolas.ferre
2020-05-04 13:44 ` nicolas.ferre
2020-05-04 18:07 ` [PATCH v3 0/7] net: macb: Wake-on-Lan magic packet fixes and GEM handling David Miller
2020-05-04 18:07 ` David Miller
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=cover.1588597759.git.nicolas.ferre@microchip.com \
--to=nicolas.ferre@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=antoine.tenart@bootlin.com \
--cc=claudiu.beznea@microchip.com \
--cc=davem@davemloft.net \
--cc=f.fainelli@gmail.com \
--cc=harini.katakam@xilinx.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=michal.simek@xilinx.com \
--cc=netdev@vger.kernel.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.