mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00:00
net: dsa: bcm_sf2: disable RGMII interface(s) when link is down
When the link is down, disable the RGMII interface to conserve as much power as possible. We re-enable the RGMII interface whenever the link is detected. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b2f2af21e3
commit
7de1557ce7
1 changed files with 9 additions and 0 deletions
|
@ -506,6 +506,15 @@ static void bcm_sf2_sw_adjust_link(struct dsa_switch *ds, int port,
|
|||
port_mode = EXT_REVMII;
|
||||
break;
|
||||
default:
|
||||
/* All other PHYs: internal and MoCA */
|
||||
goto force_link;
|
||||
}
|
||||
|
||||
/* If the link is down, just disable the interface to conserve power */
|
||||
if (!phydev->link) {
|
||||
reg = reg_readl(priv, REG_RGMII_CNTRL_P(port));
|
||||
reg &= ~RGMII_MODE_EN;
|
||||
reg_writel(priv, reg, REG_RGMII_CNTRL_P(port));
|
||||
goto force_link;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue