netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper
@ 2022-10-06 17:02 Shenwei Wang
  2022-10-06 19:24 ` Russell King (Oracle)
  0 siblings, 1 reply; 3+ messages in thread
From: Shenwei Wang @ 2022-10-06 17:02 UTC (permalink / raw)
  To: Russell King, Andrew Lunn, Heiner Kallweit, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni
  Cc: netdev, imx, Shenwei Wang

The recent commit

'commit 47ac7b2f6a1f ("net: phy: Warn about incorrect
mdio_bus_phy_resume() state")'

requires the MAC driver explicitly tell the phy driver who is
managing the PM, otherwise you will see warning during resume
stage.

Add a helper to let the MAC driver has a way to tell the PHY
driver it will manage the PM.

Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
---
 drivers/net/phy/phylink.c | 9 +++++++++
 include/linux/phylink.h   | 1 +
 2 files changed, 10 insertions(+)

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index e9d62f9598f9..a741c4bb5dd5 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -1722,6 +1722,15 @@ void phylink_stop(struct phylink *pl)
 }
 EXPORT_SYMBOL_GPL(phylink_stop);
 
+void phylink_set_mac_pm(struct phylink *pl)
+{
+	ASSERT_RTNL();
+
+	if (pl->phydev)
+		pl->phydev->mac_managed_pm = true;
+}
+EXPORT_SYMBOL_GPL(phylink_set_mac_pm);
+
 /**
  * phylink_suspend() - handle a network device suspend event
  * @pl: a pointer to a &struct phylink returned from phylink_create()
diff --git a/include/linux/phylink.h b/include/linux/phylink.h
index 6d06896fc20d..cfcc680462b9 100644
--- a/include/linux/phylink.h
+++ b/include/linux/phylink.h
@@ -540,6 +540,7 @@ void phylink_mac_change(struct phylink *, bool up);
 
 void phylink_start(struct phylink *);
 void phylink_stop(struct phylink *);
+void phylink_set_mac_pm(struct phylink *pl);
 
 void phylink_suspend(struct phylink *pl, bool mac_wol);
 void phylink_resume(struct phylink *pl);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper
  2022-10-06 17:02 [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper Shenwei Wang
@ 2022-10-06 19:24 ` Russell King (Oracle)
  2022-10-06 20:24   ` [EXT] " Shenwei Wang
  0 siblings, 1 reply; 3+ messages in thread
From: Russell King (Oracle) @ 2022-10-06 19:24 UTC (permalink / raw)
  To: Shenwei Wang
  Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, netdev, imx

On Thu, Oct 06, 2022 at 12:02:37PM -0500, Shenwei Wang wrote:
> diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> index e9d62f9598f9..a741c4bb5dd5 100644
> --- a/drivers/net/phy/phylink.c
> +++ b/drivers/net/phy/phylink.c
> @@ -1722,6 +1722,15 @@ void phylink_stop(struct phylink *pl)
>  }
>  EXPORT_SYMBOL_GPL(phylink_stop);
>  
> +void phylink_set_mac_pm(struct phylink *pl)

This needs documenting. The documentation for the function needs to
mention when this should be called - so users are guided towards
calling it at the right place in their drivers, rather than leaving
them trying to figure it out and possibly get it wrong.

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [EXT] Re: [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper
  2022-10-06 19:24 ` Russell King (Oracle)
@ 2022-10-06 20:24   ` Shenwei Wang
  0 siblings, 0 replies; 3+ messages in thread
From: Shenwei Wang @ 2022-10-06 20:24 UTC (permalink / raw)
  To: Russell King
  Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, netdev@vger.kernel.org,
	imx@lists.linux.dev



> -----Original Message-----
> From: Russell King <linux@armlinux.org.uk>
> Sent: Thursday, October 6, 2022 2:24 PM
> To: Shenwei Wang <shenwei.wang@nxp.com>
> Cc: Andrew Lunn <andrew@lunn.ch>; Heiner Kallweit <hkallweit1@gmail.com>;
> David S. Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>; netdev@vger.kernel.org; imx@lists.linux.dev
> Subject: [EXT] Re: [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper
> 
> Caution: EXT Email
> 
> On Thu, Oct 06, 2022 at 12:02:37PM -0500, Shenwei Wang wrote:
> > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> > index e9d62f9598f9..a741c4bb5dd5 100644
> > --- a/drivers/net/phy/phylink.c
> > +++ b/drivers/net/phy/phylink.c
> > @@ -1722,6 +1722,15 @@ void phylink_stop(struct phylink *pl)  }
> > EXPORT_SYMBOL_GPL(phylink_stop);
> >
> > +void phylink_set_mac_pm(struct phylink *pl)
> 
> This needs documenting. The documentation for the function needs to mention
> when this should be called - so users are guided towards calling it at the right
> place in their drivers, rather than leaving them trying to figure it out and possibly
> get it wrong.
> 

Thanks very much for the review. Will add it in the patch V2.

Thanks,
Shenwei

> Thanks.
> 
> --
> RMK's Patch system:
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ar
> mlinux.org.uk%2Fdeveloper%2Fpatches%2F&amp;data=05%7C01%7Cshenwei.
> wang%40nxp.com%7C817e10680d6345ce150908daa7d05d51%7C686ea1d3bc2
> b4c6fa92cd99c5c301635%7C0%7C0%7C638006810614113624%7CUnknown%7
> CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ
> XVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=dRZOuDK5vKRHYZomgVbJLPu
> Adg13bxe3QGyPZyRWwwQ%3D&amp;reserved=0
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-06 20:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-06 17:02 [PATCH 1/1] net: phylink: add phylink_set_mac_pm() helper Shenwei Wang
2022-10-06 19:24 ` Russell King (Oracle)
2022-10-06 20:24   ` [EXT] " Shenwei Wang

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).