netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] Support for Wake-on-LAN for Broadcom PHYs
@ 2023-05-08 18:43 Florian Fainelli
  2023-05-08 18:43 ` [PATCH net-next 1/3] net: phy: Let drivers check Wake-on-LAN status Florian Fainelli
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Florian Fainelli @ 2023-05-08 18:43 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.

Florian Fainelli (3):
  net: phy: Let drivers check Wake-on-LAN status
  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/aquantia_main.c               |   3 +
 drivers/net/phy/at803x.c                      |  10 +
 drivers/net/phy/bcm-phy-lib.c                 | 212 ++++++++++++++++++
 drivers/net/phy/bcm-phy-lib.h                 |   5 +
 drivers/net/phy/bcm7xxx.c                     |   3 +
 drivers/net/phy/broadcom.c                    | 128 ++++++++++-
 drivers/net/phy/dp83822.c                     |   2 +-
 drivers/net/phy/dp83867.c                     |   3 +
 drivers/net/phy/dp83tc811.c                   |   2 +-
 drivers/net/phy/marvell-88x2222.c             |   3 +
 drivers/net/phy/marvell.c                     |   3 +
 drivers/net/phy/marvell10g.c                  |   3 +
 drivers/net/phy/micrel.c                      |   3 +
 drivers/net/phy/microchip.c                   |   4 +-
 drivers/net/phy/motorcomm.c                   |   2 +-
 drivers/net/phy/phy-c45.c                     |   3 +
 drivers/net/phy/phy_device.c                  |   7 +-
 drivers/net/phy/realtek.c                     |   3 +
 include/linux/brcmphy.h                       |  55 +++++
 include/linux/phy.h                           |   3 +
 21 files changed, 460 insertions(+), 11 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2023-05-09  9:25 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-08 18:43 [PATCH net-next 0/3] Support for Wake-on-LAN for Broadcom PHYs Florian Fainelli
2023-05-08 18:43 ` [PATCH net-next 1/3] net: phy: Let drivers check Wake-on-LAN status Florian Fainelli
2023-05-08 19:02   ` Andrew Lunn
2023-05-08 19:17     ` Florian Fainelli
2023-05-08 19:18       ` Florian Fainelli
2023-05-08 18:43 ` [PATCH net-next 2/3] net: phy: broadcom: Add support for Wake-on-LAN Florian Fainelli
2023-05-08 19:09   ` Andrew Lunn
2023-05-08 19:12     ` Florian Fainelli
2023-05-08 19:23   ` Simon Horman
2023-05-09  9:25   ` kernel test robot
2023-05-08 18:43 ` [PATCH net-next 3/3] net: bcmgenet: Add support for PHY-based Wake-on-LAN Florian Fainelli

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).