Skip to content

Commit 2702d7d

Browse files
committed
net: phy: broadcom: enable EEE LPI feature on BCM54213PE
Call bcm_phy_set_eee() during BCM54213PE config_init to set the vendor-specific LPI_FEATURE_EN bit (register 0x803d, bit 15). Without this bit the PHY negotiates EEE via standard C45 registers but does not forward received LPI from the wire to the RGMII interface, so the MAC's RX LPI counters remain at zero. Other Broadcom PHY drivers (bcm-cygnus, bcm7xxx) already call bcm_phy_set_eee() in their init paths. Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
1 parent eaa3832 commit 2702d7d

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

drivers/net/phy/broadcom.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,17 @@ static int bcm54210e_config_init(struct phy_device *phydev)
128128

129129
static int bcm54213pe_config_init(struct phy_device *phydev)
130130
{
131-
return bcm54210e_config_init(phydev);
131+
int err;
132+
133+
err = bcm54210e_config_init(phydev);
134+
if (err)
135+
return err;
136+
137+
/* Enable the PHY's EEE LPI state machine so that received LPI
138+
* is signalled on the RGMII interface. Without this the MAC
139+
* never sees RX LPI and its counters stay at zero.
140+
*/
141+
return bcm_phy_set_eee(phydev, true);
132142
}
133143

134144
static int bcm54612e_config_init(struct phy_device *phydev)

0 commit comments

Comments
 (0)