netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v2 0/3] Support for Wake-on-LAN for Broadcom
@ 2023-05-09 22:34 Florian Fainelli
  2023-05-09 22:34 ` [PATCH net-next v2 1/3] net: phy: Allow drivers to always call into ->suspend() Florian Fainelli
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Florian Fainelli @ 2023-05-09 22:34 UTC (permalink / raw)
  To: netdev
  Cc: Florian Fainelli, Doug Berger,
	Broadcom internal kernel review list, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Andrew Lunn,
	Heiner Kallweit, Russell King, Marek Behún, Peter Geis,
	Frank, open list

This patch series adds support for Wake-on-LAN to the Broadcom PHY
driver. Specifically the BCM54210E/B50212E are capable of supporting
Wake-on-LAN using an external pin typically wired up to a system's GPIO.

These PHY operate a programmable Ethernet MAC destination address
comparator which will fire up an interrupt whenever a match is received.
Because of that, it was necessary to introduce patch #1 which allows the
PHY driver's ->suspend() routine to be called unconditionally. This is
necessary in our case because we need a hook point into the device
suspend/resume flow to enable the wake-up interrupt as late as possible.

Patch #2 adds support for the Broadcom PHY library and driver for
Wake-on-LAN proper with the WAKE_UCAST, WAKE_MCAST, WAKE_BCAST,
WAKE_MAGIC and WAKE_MAGICSECURE. Note that WAKE_FILTER is supportable,
however this will require further discussions and be submitted as a RFC
series later on.

Patch #3 updates the GENET driver to defer to the PHY for Wake-on-LAN if
the PHY supports it, thus allowing the MAC to be powered down to
conserve power.

Changes in v2:

- introduce PHY_ALWAYS_CALL_SUSPEND and only have the Broadcom PHY
  driver set this flag to minimize changes to the suspend flow to only
  drivers that need it

- corrected possibly uninitialized variable in bcm54xx_set_wakeup_irq
  (Simon)

Florian Fainelli (3):
  net: phy: Allow drivers to always call into ->suspend()
  net: phy: broadcom: Add support for Wake-on-LAN
  net: bcmgenet: Add support for PHY-based Wake-on-LAN

 .../ethernet/broadcom/genet/bcmgenet_wol.c    |  14 ++
 drivers/net/phy/bcm-phy-lib.c                 | 212 ++++++++++++++++++
 drivers/net/phy/bcm-phy-lib.h                 |   5 +
 drivers/net/phy/broadcom.c                    | 126 ++++++++++-
 drivers/net/phy/phy_device.c                  |   5 +-
 include/linux/brcmphy.h                       |  55 +++++
 include/linux/phy.h                           |   4 +
 7 files changed, 416 insertions(+), 5 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-05-11 16:17 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-09 22:34 [PATCH net-next v2 0/3] Support for Wake-on-LAN for Broadcom Florian Fainelli
2023-05-09 22:34 ` [PATCH net-next v2 1/3] net: phy: Allow drivers to always call into ->suspend() Florian Fainelli
2023-05-11 10:10   ` Simon Horman
2023-05-11 12:08   ` Andrew Lunn
2023-05-09 22:34 ` [PATCH net-next v2 2/3] net: phy: broadcom: Add support for Wake-on-LAN Florian Fainelli
2023-05-11 10:10   ` Simon Horman
2023-05-11 10:26   ` Paolo Abeni
2023-05-11 16:17     ` Florian Fainelli
2023-05-09 22:34 ` [PATCH net-next v2 3/3] net: bcmgenet: Add support for PHY-based Wake-on-LAN Florian Fainelli
2023-05-11 10:10   ` Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).