OSDN Git Service

net: phy: Provide Module 4 KSZ9477 errata (DS80000754C)
authorLukasz Majewski <lukma@denx.de>
Tue, 5 Sep 2023 09:33:15 +0000 (11:33 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Sep 2023 03:49:04 +0000 (20:49 -0700)
commit08c6d8bae48c2c28f7017d7b61b5d5a1518ceb39
tree5938ec56a1d4777fbb51d3e0a371a6d37538d125
parentf16d411c290bd33b2a9d081406dffd124712483b
net: phy: Provide Module 4 KSZ9477 errata (DS80000754C)

The KSZ9477 errata points out (in 'Module 4') the link up/down problems
when EEE (Energy Efficient Ethernet) is enabled in the device to which
the KSZ9477 tries to auto negotiate.

The suggested workaround is to clear advertisement of EEE for PHYs in
this chip driver.

To avoid regressions with other switch ICs the new MICREL_NO_EEE flag
has been introduced.

Moreover, the in-register disablement of MMD_DEVICE_ID_EEE_ADV.MMD_EEE_ADV
MMD register is removed, as this code is both; now executed too late
(after previous rework of the PHY and DSA for KSZ switches) and not
required as setting all members of eee_broken_modes bit field prevents
the KSZ9477 from advertising EEE.

Fixes: 69d3b36ca045 ("net: dsa: microchip: enable EEE support") # for KSZ9477
Signed-off-by: Lukasz Majewski <lukma@denx.de>
Tested-by: Oleksij Rempel <o.rempel@pengutronix.de> # Confirmed disabled EEE with oscilloscope.
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20230905093315.784052-1-lukma@denx.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/microchip/ksz_common.c
drivers/net/phy/micrel.c
include/linux/micrel_phy.h