* [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks @ 2019-03-26 14:53 Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart ` (2 more replies) 0 siblings, 3 replies; 8+ messages in thread From: Antoine Tenart @ 2019-03-26 14:53 UTC (permalink / raw) To: davem, linux, andrew, f.fainelli, hkallweit1 Cc: Antoine Tenart, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw Hello, This series implements the suspend/resume callbacks in the marvell10g PHY driver. Thanks, Antoine Since v2: - Removed the third patch, setting the PHY in low power by default, as the change was controversial. - Rebased on the latest net-next. Since v1: - Fixed a mix up in the patches where two implementations of the suspend/resume callbacks were kept in the driver. - Rebased on the latest net-next. Antoine Tenart (2): net: phy: marvell10g: implement suspend/resume callbacks net: phy: marvell10g: add the suspend/resume callbacks for the 88x2210 drivers/net/phy/marvell10g.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) -- 2.20.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-26 14:53 [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks Antoine Tenart @ 2019-03-26 14:53 ` Antoine Tenart 2019-03-26 18:43 ` Heiner Kallweit 2019-03-29 21:32 ` Heiner Kallweit 2019-03-26 14:53 ` [PATCH net-next v3 2/2] net: phy: marvell10g: add the suspend/resume callbacks for the 88x2210 Antoine Tenart 2019-03-29 17:57 ` [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks David Miller 2 siblings, 2 replies; 8+ messages in thread From: Antoine Tenart @ 2019-03-26 14:53 UTC (permalink / raw) To: davem, linux, andrew, f.fainelli, hkallweit1 Cc: Antoine Tenart, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw 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. 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); } -- 2.20.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart @ 2019-03-26 18:43 ` Heiner Kallweit 2019-04-02 9:50 ` Antoine Tenart 2019-03-29 21:32 ` Heiner Kallweit 1 sibling, 1 reply; 8+ messages in thread From: Heiner Kallweit @ 2019-03-26 18:43 UTC (permalink / raw) To: Antoine Tenart, davem, linux, andrew, f.fainelli Cc: netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw 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); > } > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-26 18:43 ` Heiner Kallweit @ 2019-04-02 9:50 ` Antoine Tenart 0 siblings, 0 replies; 8+ messages in thread From: Antoine Tenart @ 2019-04-02 9:50 UTC (permalink / raw) To: Heiner Kallweit Cc: Antoine Tenart, davem, linux, andrew, f.fainelli, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw Hi Heiner, Sorry for the late answer. On Tue, Mar 26, 2019 at 07:43:27PM +0100, Heiner Kallweit wrote: > 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? I just tested this, and it does simplify the code a lot. Thanks for pointing out this bit. I'll update and make a v2. Antoine -- Antoine Ténart, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart 2019-03-26 18:43 ` Heiner Kallweit @ 2019-03-29 21:32 ` Heiner Kallweit 2019-04-02 9:50 ` Antoine Tenart 1 sibling, 1 reply; 8+ messages in thread From: Heiner Kallweit @ 2019-03-29 21:32 UTC (permalink / raw) To: Antoine Tenart, davem, linux, andrew, f.fainelli Cc: netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw 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. > > 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); > + When you re-submit this series, in addition to my previous comment: Instead of phy_modify_mmd() it would be clearer to use phy_set/clear_bits_mmd(). And checking the return value wouldn't hurt. > 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); > } > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net-next v3 1/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-29 21:32 ` Heiner Kallweit @ 2019-04-02 9:50 ` Antoine Tenart 0 siblings, 0 replies; 8+ messages in thread From: Antoine Tenart @ 2019-04-02 9:50 UTC (permalink / raw) To: Heiner Kallweit Cc: Antoine Tenart, davem, linux, andrew, f.fainelli, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw Hi Heiner, On Fri, Mar 29, 2019 at 10:32:02PM +0100, Heiner Kallweit wrote: > 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. > > > > 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); > > + > When you re-submit this series, in addition to my previous comment: > Instead of phy_modify_mmd() it would be clearer to use > phy_set/clear_bits_mmd(). And checking the return value wouldn't hurt. OK, will do. Thanks! Antoine -- Antoine Ténart, Bootlin Embedded Linux and Kernel engineering https://bootlin.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH net-next v3 2/2] net: phy: marvell10g: add the suspend/resume callbacks for the 88x2210 2019-03-26 14:53 [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart @ 2019-03-26 14:53 ` Antoine Tenart 2019-03-29 17:57 ` [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks David Miller 2 siblings, 0 replies; 8+ messages in thread From: Antoine Tenart @ 2019-03-26 14:53 UTC (permalink / raw) To: davem, linux, andrew, f.fainelli, hkallweit1 Cc: Antoine Tenart, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw When the 88x2110 PHY support was added, the suspend and resume callbacks were forgotten. This patch adds them to the 88x2110 PHY callback definition. Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> --- drivers/net/phy/marvell10g.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/phy/marvell10g.c b/drivers/net/phy/marvell10g.c index b56cd35182d5..08dd2ea08236 100644 --- a/drivers/net/phy/marvell10g.c +++ b/drivers/net/phy/marvell10g.c @@ -488,6 +488,8 @@ static struct phy_driver mv3310_drivers[] = { .name = "mv88x2110", .get_features = genphy_c45_pma_read_abilities, .probe = mv3310_probe, + .suspend = mv3310_suspend, + .resume = mv3310_resume, .soft_reset = genphy_no_soft_reset, .config_init = mv3310_config_init, .config_aneg = mv3310_config_aneg, -- 2.20.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks 2019-03-26 14:53 [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 2/2] net: phy: marvell10g: add the suspend/resume callbacks for the 88x2210 Antoine Tenart @ 2019-03-29 17:57 ` David Miller 2 siblings, 0 replies; 8+ messages in thread From: David Miller @ 2019-03-29 17:57 UTC (permalink / raw) To: antoine.tenart Cc: linux, andrew, f.fainelli, hkallweit1, netdev, linux-kernel, thomas.petazzoni, maxime.chevallier, gregory.clement, miquel.raynal, nadavh, stefanc, mw From: Antoine Tenart <antoine.tenart@bootlin.com> Date: Tue, 26 Mar 2019 15:53:00 +0100 > This series implements the suspend/resume callbacks in the > marvell10g PHY driver. Heiner gave you feedback, you have not responded. Therefore I am removing your patches from my queue. ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2019-04-02 9:50 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-03-26 14:53 [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 1/2] " Antoine Tenart 2019-03-26 18:43 ` Heiner Kallweit 2019-04-02 9:50 ` Antoine Tenart 2019-03-29 21:32 ` Heiner Kallweit 2019-04-02 9:50 ` Antoine Tenart 2019-03-26 14:53 ` [PATCH net-next v3 2/2] net: phy: marvell10g: add the suspend/resume callbacks for the 88x2210 Antoine Tenart 2019-03-29 17:57 ` [PATCH net-next v3 0/2] net: phy: marvell10g: implement suspend/resume callbacks David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).