[PATCH net-next v3 0/5] net: dsa: microchip: ksz8795: add Wake on LAN support

From: vtpieter
Date: Tue Aug 06 2024 - 09:28:35 EST


From: Pieter Van Trappen <pieter.van.trappen@xxxxxxx>

Add WoL support for KSZ8795 family of switches. This code was tested
with a KSZ8794 chip.

Strongly based on existing KSZ9477 code which has now been moved to
ksz_common instead of duplicating, as proposed during the review of
the v1 version of this patch.

In addition to the device-tree addition and the actual code, there's
an additional patch that fixes some bugs found when further testing
DSA with this KSZ8794 chip.

Signed-off-by: Pieter Van Trappen <pieter.van.trappen@xxxxxxx>
---
v3:
- ensure each patch separately compiles & works
- additional return value checks where possible
- drop v2 patch 5/5 (net: dsa: microchip: check erratum workaround through indirect register read)
- add new patch that fixes KSZ87xx bugs wrt datasheet

v2: https://lore.kernel.org/netdev/20240731103403.407818-1-vtpieter@xxxxxxxxx/
- generalize instead of duplicate, much improved
- variable declaration reverse Christmas tree
- ksz8_handle_global_errata: return -EIO in case of indirect write failure
- ksz8_ind_read8/write8: document functions
- ksz8_handle_wake_reason: no need for additional write to clear
- fix wakeup_source origin comments
v1: https://lore.kernel.org/netdev/20240717193725.469192-1-vtpieter@xxxxxxxxx/

Pieter Van Trappen (5):
dt-bindings: net: dsa: microchip: add microchip,pme-active-high flag
net: dsa: microchip: move KSZ9477 WoL functions to ksz_common
net: dsa: microchip: generalize KSZ9477 WoL functions at ksz_common
net: dsa: microchip: add WoL support for KSZ87xx family
net: dsa: microchip: apply KSZ87xx family fixes wrt datasheet

.../bindings/net/dsa/microchip,ksz.yaml | 5 +
drivers/net/dsa/microchip/ksz8.h | 3 +
drivers/net/dsa/microchip/ksz8795.c | 94 +++++-
drivers/net/dsa/microchip/ksz9477.c | 197 +------------
drivers/net/dsa/microchip/ksz9477.h | 5 -
drivers/net/dsa/microchip/ksz9477_reg.h | 12 -
drivers/net/dsa/microchip/ksz_common.c | 267 ++++++++++++++++--
drivers/net/dsa/microchip/ksz_common.h | 31 +-
8 files changed, 385 insertions(+), 229 deletions(-)


base-commit: eec9de0354105527e31394c0ed4b8c54fb1fe1dd
--
2.43.0