devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v7 0/9] net: dsa: microchip: provide Wake on LAN support
@ 2023-10-23  9:33 Oleksij Rempel
  2023-10-23  9:33 ` [PATCH net-next v7 1/9] net: dsa: microchip: Add missing MAC address register offset for ksz8863 Oleksij Rempel
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Oleksij Rempel @ 2023-10-23  9:33 UTC (permalink / raw)
  To: David S. Miller, Andrew Lunn, Eric Dumazet, Florian Fainelli,
	Jakub Kicinski, Paolo Abeni, Vladimir Oltean, Woojung Huh,
	Arun Ramadoss, Conor Dooley, Krzysztof Kozlowski, Rob Herring
  Cc: Oleksij Rempel, kernel, linux-kernel, netdev, UNGLinuxDriver,
	Russell King (Oracle), devicetree

This patch series introduces extensive Wake on LAN (WoL) support for the
Microchip KSZ9477 family of switches, coupled with some code refactoring
and error handling enhancements. The principal aim is to enable and
manage Wake on Magic Packet and other PHY event triggers for waking up
the system, whilst ensuring that the switch isn't reset during a
shutdown if WoL is active.

The Wake on LAN functionality is optional and is particularly beneficial
if the PME pins are connected to the SoC as a wake source or to a PMIC
that can enable or wake the SoC.

changes v7:
- move wakeup-source after reset-gpios
- update "Wake event on port.." debug message
- add and use ksz_is_port_mac_global_usable() instead of
  ksz_switch_macaddr_get/put.

changes v6:
- add variables magic_switched_off and magic_switched_on for readability
- EXPORT_SYMBOL(ksz_switch_shutdown); to fix build as module 

changes v5:
- rework Wake on Magic Packet support.
- Make sure we show more or less realistic information on get_wol by
  comparing refcounted mac address against the ports address
- fix mac address refcounting on set_wol()
- rework shutdown sequence by to handle PMIC related issues. Make sure
  PME pin is net frequently toggled.
- use wakeup_source variable instead of reading PME pin register.

changes v4:
- add ksz_switch_shutdown() and do not skip dsa_switch_shutdown() and
  etc.
- try to configure MAC address on WAKE_MAGIC. If not possible, prevent
  WAKE_MAGIC configuration
- use ksz_switch_macaddr_get() for WAKE_MAGIC.
- prevent ksz_port_set_mac_address if WAKE_MAGIC is active
- do some more refactoring and patch reordering

changes v3:
- use ethernet address of DSA master instead from devicetree
- use dev_ops->wol* instead of list of supported switch
- don't shutdown the switch if WoL is enabled
- rework on top of latest HSR changes

changes v2:
- rebase against latest next

Oleksij Rempel (9):
  net: dsa: microchip: Add missing MAC address register offset for
    ksz8863
  dt-bindings: net: dsa: microchip: add wakeup-source property
  net: dsa: microchip: use wakeup-source DT property to enable PME
    output
  net: dsa: microchip: ksz9477: add Wake on LAN support
  net: dsa: microchip: ksz9477: Add Wake on Magic Packet support
  net: dsa: microchip: Refactor comment for ksz_switch_macaddr_get()
    function
  net: dsa: microchip: Add error handling for ksz_switch_macaddr_get()
  net: dsa: microchip: Refactor switch shutdown routine for WoL
    preparation
  net: dsa: microchip: Ensure Stable PME Pin State for Wake-on-LAN

 .../bindings/net/dsa/microchip,ksz.yaml       |   2 +
 drivers/net/dsa/microchip/ksz9477.c           | 195 ++++++++++++++++++
 drivers/net/dsa/microchip/ksz9477.h           |   5 +
 drivers/net/dsa/microchip/ksz9477_i2c.c       |   5 +-
 drivers/net/dsa/microchip/ksz_common.c        | 132 ++++++++++--
 drivers/net/dsa/microchip/ksz_common.h        |  11 +
 drivers/net/dsa/microchip/ksz_spi.c           |   5 +-
 7 files changed, 335 insertions(+), 20 deletions(-)

-- 
2.39.2


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

end of thread, other threads:[~2023-10-25 21:59 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-23  9:33 [PATCH net-next v7 0/9] net: dsa: microchip: provide Wake on LAN support Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 1/9] net: dsa: microchip: Add missing MAC address register offset for ksz8863 Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 2/9] dt-bindings: net: dsa: microchip: add wakeup-source property Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 3/9] net: dsa: microchip: use wakeup-source DT property to enable PME output Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 4/9] net: dsa: microchip: ksz9477: add Wake on LAN support Oleksij Rempel
2023-10-25 20:10   ` Simon Horman
2023-10-23  9:33 ` [PATCH net-next v7 5/9] net: dsa: microchip: ksz9477: Add Wake on Magic Packet support Oleksij Rempel
2023-10-25 21:59   ` Jakub Kicinski
2023-10-23  9:33 ` [PATCH net-next v7 6/9] net: dsa: microchip: Refactor comment for ksz_switch_macaddr_get() function Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 7/9] net: dsa: microchip: Add error handling for ksz_switch_macaddr_get() Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 8/9] net: dsa: microchip: Refactor switch shutdown routine for WoL preparation Oleksij Rempel
2023-10-23  9:33 ` [PATCH net-next v7 9/9] net: dsa: microchip: Ensure Stable PME Pin State for Wake-on-LAN Oleksij Rempel

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