6.10-stable review patch. If anyone has any objections, please let me know.
------------------
From: Martin Whitaker foss@martin-whitaker.me.uk
[ Upstream commit 0411f73c13afcf619d7aa7546edbc5710a871cae ]
As noted in the device errata [1-8], EEE support is not fully operational in the KSZ8567, KSZ9477, KSZ9567, KSZ9896, and KSZ9897 devices, causing link drops when connected to another device that supports EEE. The patch series "net: add EEE support for KSZ9477 switch family" merged in commit 9b0bf4f77162 caused EEE support to be enabled in these devices. A fix for this regression for the KSZ9477 alone was merged in commit 08c6d8bae48c2. This patch extends this fix to the other affected devices.
[1] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [2] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [3] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [4] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [5] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [6] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [7] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume... [8] https://ww1.microchip.com/downloads/aemDocuments/documents/UNG/ProductDocume...
Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for KSZ8567/KSZ9567/KSZ9896/KSZ9897 Link: https://lore.kernel.org/netdev/137ce1ee-0b68-4c96-a717-c8164b514eec@martin-w... Signed-off-by: Martin Whitaker foss@martin-whitaker.me.uk Acked-by: Arun Ramadoss arun.ramadoss@microchip.com Reviewed-by: Oleksij Rempel o.rempel@pengutronix.de Reviewed-by: Lukasz Majewski lukma@denx.de Link: https://patch.msgid.link/20240807205209.21464-1-foss@martin-whitaker.me.uk Signed-off-by: Jakub Kicinski kuba@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/net/dsa/microchip/ksz_common.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index 077935cf5e381..3103e1b32d0ba 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -2578,7 +2578,11 @@ static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port) if (!port) return MICREL_KSZ8_P1_ERRATA; break; + case KSZ8567_CHIP_ID: case KSZ9477_CHIP_ID: + case KSZ9567_CHIP_ID: + case KSZ9896_CHIP_ID: + case KSZ9897_CHIP_ID: /* KSZ9477 Errata DS80000754C * * Module 4: Energy Efficient Ethernet (EEE) feature select must @@ -2588,6 +2592,13 @@ static u32 ksz_get_phy_flags(struct dsa_switch *ds, int port) * controls. If not disabled, the PHY ports can auto-negotiate * to enable EEE, and this feature can cause link drops when * linked to another device supporting EEE. + * + * The same item appears in the errata for the KSZ9567, KSZ9896, + * and KSZ9897. + * + * A similar item appears in the errata for the KSZ8567, but + * provides an alternative workaround. For now, use the simple + * workaround of disabling the EEE feature for this device too. */ return MICREL_NO_EEE; }