44b62f19791d265f69a010bc6afc1f5cbb93ff3a
[openwrt/staging/xback.git] /
1 From fd72c4f7da285c5dee66f01cdec075a5d863a3a3 Mon Sep 17 00:00:00 2001
2 From: Jonathan Bell <jonathan@raspberrypi.org>
3 Date: Tue, 14 May 2019 17:17:59 +0100
4 Subject: [PATCH 545/725] net: genet: enable link energy detect powerdown for
5 external PHYs
6
7 There are several warts surrounding bcmgenet_mii_probe() as this
8 function is called from ndo_open, but it's calling registration-type
9 functions. The probe should be called at probe time and refactored
10 such that the PHY device data can be extracted to limit the scope
11 of this flag to Broadcom PHYs.
12
13 For now, pass this flag in as it puts our attached PHY into a low-power
14 state when disconnected.
15
16 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
17 ---
18 drivers/net/ethernet/broadcom/genet/bcmmii.c | 5 ++++-
19 1 file changed, 4 insertions(+), 1 deletion(-)
20
21 --- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
22 +++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
23 @@ -280,7 +280,10 @@ int bcmgenet_mii_probe(struct net_device
24 int ret;
25
26 /* Communicate the integrated PHY revision */
27 - phy_flags = priv->gphy_rev;
28 + if (priv->internal_phy)
29 + phy_flags = priv->gphy_rev;
30 + else
31 + phy_flags = PHY_BRCM_AUTO_PWRDWN_ENABLE;
32
33 /* Initialize link state variables that bcmgenet_mii_setup() uses */
34 priv->old_link = -1;