Messages in this thread | | | Subject | Re: [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks | From | Heiner Kallweit <> | Date | Tue, 26 Mar 2019 19:43:27 +0100 |
| |
On 26.03.2019 15:53, Antoine Tenart wrote: > This patch adds the suspend/resume callbacks for Marvell 10G PHYs. The > three PCS (base-t, base-r and 1000base-x) are set in low power (the PCS > are powered down) when the PHY isn't used. > At least for the 3310 the datasheet mentions that via VEND2.f001.11 the port can be powered down completely. As this would simplify the code, did you test this?
> Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> > Reviewed-by: Andrew Lunn <andrew@lunn.ch> > --- > drivers/net/phy/marvell10g.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c > index 100b401b1f4a..b56cd35182d5 100644 > --- a/drivers/net/phy/marvell10g.c > +++ b/drivers/net/phy/marvell10g.c > @@ -226,11 +226,25 @@ static int mv3310_probe(struct phy_device *phydev) > > static int mv3310_suspend(struct phy_device *phydev) > { > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_BASE_T + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, MDIO_CTRL1_LPOWER); > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_BASE_R + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, MDIO_CTRL1_LPOWER); > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_1000BASEX + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, MDIO_CTRL1_LPOWER); > + > return 0; > } > > static int mv3310_resume(struct phy_device *phydev) > { > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_BASE_T + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, 0); > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_BASE_R + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, 0); > + phy_modify_mmd(phydev, MDIO_MMD_PCS, MV_PCS_1000BASEX + MDIO_CTRL1, > + MDIO_CTRL1_LPOWER, 0); > + > return mv3310_hwmon_config(phydev, true); > } > >
| |