linux/drivers/net/dsa/microchip
Tim Harvey ee76eb2434 net: dsa: microchip: disable EEE for KSZ879x/KSZ877x/KSZ876x
The well-known errata regarding EEE not being functional on various KSZ
switches has been refactored a few times. Recently the refactoring has
excluded several switches that the errata should also apply to.

Disable EEE for additional switches with this errata and provide
additional comments referring to the public errata document.

The original workaround for the errata was applied with a register
write to manually disable the EEE feature in MMD 7:60 which was being
applied for KSZ9477/KSZ9897/KSZ9567 switch ID's.

Then came commit 26dd2974c5 ("net: phy: micrel: Move KSZ9477 errata
fixes to PHY driver") and commit 6068e6d7ba ("net: dsa: microchip:
remove KSZ9477 PHY errata handling") which moved the errata from the
switch driver to the PHY driver but only for PHY_ID_KSZ9477 (PHY ID)
however that PHY code was dead code because an entry was never added
for PHY_ID_KSZ9477 via MODULE_DEVICE_TABLE.

This was apparently realized much later and commit 54a4e5c163 ("net:
phy: micrel: add Microchip KSZ 9477 to the device table") added the
PHY_ID_KSZ9477 to the PHY driver but as the errata was only being
applied to PHY_ID_KSZ9477 it's not completely clear what switches
that relates to.

Later commit 6149db4997 ("net: phy: micrel: fix KSZ9477 PHY issues
after suspend/resume") breaks this again for all but KSZ9897 by only
applying the errata for that PHY ID.

Following that this was affected with commit 08c6d8bae48c("net: phy:
Provide Module 4 KSZ9477 errata (DS80000754C)") which removes
the blatant register write to MMD 7:60 and replaces it by
setting phydev->eee_broken_modes = -1 so that the generic phy-c45 code
disables EEE but this is only done for the KSZ9477_CHIP_ID (Switch ID).

Lastly commit 0411f73c13 ("net: dsa: microchip: disable EEE for
KSZ8567/KSZ9567/KSZ9896/KSZ9897.") adds some additional switches
that were missing to the errata due to the previous changes.

This commit adds an additional set of switches.

Fixes: 0411f73c13 ("net: dsa: microchip: disable EEE for KSZ8567/KSZ9567/KSZ9896/KSZ9897.")
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20241018160658.781564-1-tharvey@gateworks.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-10-24 12:39:39 +02:00
..
Kconfig net: dsa: microchip: rename ksz8 series files 2024-09-06 08:41:35 +01:00
Makefile net: dsa: microchip: rename ksz8 series files 2024-09-06 08:41:35 +01:00
ksz8.c net: dsa: microchip: replace unclear KSZ8830 strings 2024-09-06 08:41:35 +01:00
ksz8.h net: dsa: microchip: add WoL support for KSZ87xx family 2024-08-16 10:25:02 -07:00
ksz8_reg.h net: dsa: microchip: clean up ksz8_reg definition macros 2024-09-06 08:41:35 +01:00
ksz8863_smi.c net: dsa: microchip: replace unclear KSZ8830 strings 2024-09-06 08:41:35 +01:00
ksz9477.c net: dsa: microchip: generalize KSZ9477 WoL functions at ksz_common 2024-08-16 10:25:02 -07:00
ksz9477.h net: dsa: microchip: move KSZ9477 WoL functions to ksz_common 2024-08-16 10:25:02 -07:00
ksz9477_acl.c net: dsa: microchip: Fix uninitialized var in ksz9477_acl_move_entries() 2023-10-10 11:12:01 +02:00
ksz9477_i2c.c net: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-06-26 07:28:08 -07:00
ksz9477_reg.h net: dsa: microchip: move KSZ9477 WoL functions to ksz_common 2024-08-16 10:25:02 -07:00
ksz9477_tc_flower.c net: dsa: microchip: ksz9477: flower: validate control flags 2024-04-15 10:33:14 +01:00
ksz_common.c net: dsa: microchip: disable EEE for KSZ879x/KSZ877x/KSZ876x 2024-10-24 12:39:39 +02:00
ksz_common.h net: dsa: microchip: replace unclear KSZ8830 strings 2024-09-06 08:41:35 +01:00
ksz_dcb.c net: dsa: microchip: Add KSZ8895/KSZ8864 switch support 2024-08-27 16:14:18 -07:00
ksz_dcb.h net: dsa: microchip: add support DSCP priority mapping 2024-05-08 10:35:11 +01:00
ksz_ptp.c net: dsa: microchip: fix PTP config failure when using multiple ports 2024-08-20 15:53:56 -07:00
ksz_ptp.h net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
ksz_ptp_reg.h
ksz_spi.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
lan937x.h net: dsa: microchip: add support for credit based shaper 2023-01-23 22:12:35 -08:00
lan937x_main.c net: dsa: microchip: lan9371/2: update MAC capabilities for port 4 2024-07-08 13:41:56 +01:00
lan937x_reg.h net: dsa: microchip: lan937x: disable VPHY support 2024-07-03 09:13:39 +01:00