linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] net: phylink: add phylink_set_mac_pm() helper
@ 2022-10-10 20:32 Shenwei Wang
  2022-10-10 20:33 ` [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure Shenwei Wang
  2022-10-10 20:33 ` [PATCH 2/2] net: stmmac: Enable mac_managed_pm phylink config Shenwei Wang
  0 siblings, 2 replies; 5+ messages in thread
From: Shenwei Wang @ 2022-10-10 20:32 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Maxime Coquelin, Russell King, Andrew Lunn, Heiner Kallweit
  Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, netdev,
	linux-stm32, linux-arm-kernel, imx, Shenwei Wang

Per Russell's suggestion, the implementation is changed from the helper
function to add an extra property in phylink_config structure because this
change can easily cover SFP usecase too.

Shenwei Wang (2):
  net: phylink: add mac_managed_pm in phylink_config structure
  net: stmmac: Enable mac_managed_pm phylink config

 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
 drivers/net/phy/phylink.c                         | 4 ++++
 include/linux/phylink.h                           | 2 ++
 3 files changed, 7 insertions(+)

--
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure
  2022-10-10 20:32 [PATCH 0/2] net: phylink: add phylink_set_mac_pm() helper Shenwei Wang
@ 2022-10-10 20:33 ` Shenwei Wang
  2022-10-10 21:33   ` Russell King (Oracle)
  2022-10-10 20:33 ` [PATCH 2/2] net: stmmac: Enable mac_managed_pm phylink config Shenwei Wang
  1 sibling, 1 reply; 5+ messages in thread
From: Shenwei Wang @ 2022-10-10 20:33 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Maxime Coquelin, Russell King, Andrew Lunn, Heiner Kallweit
  Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, netdev,
	linux-stm32, linux-arm-kernel, 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 boolean property in the phylink_config structure so that
the MAC driver can use it to tell the PHY driver if it wants to
manage the PM.

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

diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index e9d62f9598f9..6d64d4b6d606 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -74,6 +74,7 @@ struct phylink {
 
 	bool mac_link_dropped;
 	bool using_mac_select_pcs;
+	bool mac_managed_pm;
 
 	struct sfp_bus *sfp_bus;
 	bool sfp_may_have_phy;
@@ -1439,6 +1440,9 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
 	if (phy_interrupt_is_valid(phy))
 		phy_request_interrupt(phy);
 
+	if (pl->config->mac_managed_pm)
+		phy->mac_managed_pm = true;
+
 	return 0;
 }
 
diff --git a/include/linux/phylink.h b/include/linux/phylink.h
index 6d06896fc20d..a3adf7fe7eaf 100644
--- a/include/linux/phylink.h
+++ b/include/linux/phylink.h
@@ -88,6 +88,7 @@ enum phylink_op_type {
  *	(See commit 7cceb599d15d ("net: phylink: avoid mac_config calls")
  * @poll_fixed_state: if true, starts link_poll,
  *		      if MAC link is at %MLO_AN_FIXED mode.
+ * @mac_managed_pm: if true, indicate the MAC driver is responsible for PHY PM.
  * @ovr_an_inband: if true, override PCS to MLO_AN_INBAND
  * @get_fixed_state: callback to execute to determine the fixed link state,
  *		     if MAC link is at %MLO_AN_FIXED mode.
@@ -100,6 +101,7 @@ struct phylink_config {
 	enum phylink_op_type type;
 	bool legacy_pre_march2020;
 	bool poll_fixed_state;
+	bool mac_managed_pm;
 	bool ovr_an_inband;
 	void (*get_fixed_state)(struct phylink_config *config,
 				struct phylink_link_state *state);
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/2] net: stmmac: Enable mac_managed_pm phylink config
  2022-10-10 20:32 [PATCH 0/2] net: phylink: add phylink_set_mac_pm() helper Shenwei Wang
  2022-10-10 20:33 ` [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure Shenwei Wang
@ 2022-10-10 20:33 ` Shenwei Wang
  1 sibling, 0 replies; 5+ messages in thread
From: Shenwei Wang @ 2022-10-10 20:33 UTC (permalink / raw)
  To: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Maxime Coquelin, Russell King, Andrew Lunn, Heiner Kallweit
  Cc: Giuseppe Cavallaro, Alexandre Torgue, Jose Abreu, netdev,
	linux-stm32, linux-arm-kernel, imx, Shenwei Wang

Enable the mac_managed_pm configuration in the phylink_config
structure to avoid the kernel warning during system resume.

Signed-off-by: Shenwei Wang <shenwei.wang@nxp.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 8418e795cc21..537e8e61bb97 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -1214,6 +1214,7 @@ static int stmmac_phy_setup(struct stmmac_priv *priv)
 	if (priv->plat->tx_queues_to_use > 1)
 		priv->phylink_config.mac_capabilities &=
 			~(MAC_10HD | MAC_100HD | MAC_1000HD);
+	priv->phylink_config.mac_managed_pm = true;
 
 	phylink = phylink_create(&priv->phylink_config, fwnode,
 				 mode, &stmmac_phylink_mac_ops);
-- 
2.34.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure
  2022-10-10 20:33 ` [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure Shenwei Wang
@ 2022-10-10 21:33   ` Russell King (Oracle)
  2022-10-10 23:04     ` [EXT] " Shenwei Wang
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King (Oracle) @ 2022-10-10 21:33 UTC (permalink / raw)
  To: Shenwei Wang
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Maxime Coquelin, Andrew Lunn, Heiner Kallweit, Giuseppe Cavallaro,
	Alexandre Torgue, Jose Abreu, netdev, linux-stm32,
	linux-arm-kernel, imx

On Mon, Oct 10, 2022 at 03:33:00PM -0500, Shenwei Wang wrote:
> diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> index e9d62f9598f9..6d64d4b6d606 100644
> --- a/drivers/net/phy/phylink.c
> +++ b/drivers/net/phy/phylink.c
> @@ -74,6 +74,7 @@ struct phylink {
>  
>  	bool mac_link_dropped;
>  	bool using_mac_select_pcs;
> +	bool mac_managed_pm;

I don't think you need this?

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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* RE: [EXT] Re: [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure
  2022-10-10 21:33   ` Russell King (Oracle)
@ 2022-10-10 23:04     ` Shenwei Wang
  0 siblings, 0 replies; 5+ messages in thread
From: Shenwei Wang @ 2022-10-10 23:04 UTC (permalink / raw)
  To: Russell King
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Maxime Coquelin, Andrew Lunn, Heiner Kallweit, Giuseppe Cavallaro,
	Alexandre Torgue, Jose Abreu, netdev@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com,
	linux-arm-kernel@lists.infradead.org, imx@lists.linux.dev



> -----Original Message-----
> From: Russell King <linux@armlinux.org.uk>
> Sent: Monday, October 10, 2022 4:34 PM
> To: Shenwei Wang <shenwei.wang@nxp.com>
> Cc: David S. Miller <davem@davemloft.net>; Eric Dumazet
> <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni
> <pabeni@redhat.com>; Maxime Coquelin <mcoquelin.stm32@gmail.com>;
> Andrew Lunn <andrew@lunn.ch>; Heiner Kallweit <hkallweit1@gmail.com>;
> Giuseppe Cavallaro <peppe.cavallaro@st.com>; Alexandre Torgue
> <alexandre.torgue@foss.st.com>; Jose Abreu <joabreu@synopsys.com>;
> netdev@vger.kernel.org; linux-stm32@st-md-mailman.stormreply.com; linux-
> arm-kernel@lists.infradead.org; imx@lists.linux.dev
> Subject: [EXT] Re: [PATCH 1/2] net: phylink: add mac_managed_pm in
> phylink_config structure
> 
> Caution: EXT Email
> 
> On Mon, Oct 10, 2022 at 03:33:00PM -0500, Shenwei Wang wrote:
> > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
> > index e9d62f9598f9..6d64d4b6d606 100644
> > --- a/drivers/net/phy/phylink.c
> > +++ b/drivers/net/phy/phylink.c
> > @@ -74,6 +74,7 @@ struct phylink {
> >
> >       bool mac_link_dropped;
> >       bool using_mac_select_pcs;
> > +     bool mac_managed_pm;
> 
> I don't think you need this?

It was cleaned up in patch v4.

Thanks,
Shenwei

> 
> --
> 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%7Cb7b04ce3002c4d29581c08daab07233d%7C686ea1d3bc2
> b4c6fa92cd99c5c301635%7C0%7C0%7C638010344382281159%7CUnknown%7
> CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ
> XVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=8siCkBn5XpHUEmv3Vx4vzgC
> QDHDg94rZ%2Flv13pZhc1c%3D&amp;reserved=0
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

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

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-10 20:32 [PATCH 0/2] net: phylink: add phylink_set_mac_pm() helper Shenwei Wang
2022-10-10 20:33 ` [PATCH 1/2] net: phylink: add mac_managed_pm in phylink_config structure Shenwei Wang
2022-10-10 21:33   ` Russell King (Oracle)
2022-10-10 23:04     ` [EXT] " Shenwei Wang
2022-10-10 20:33 ` [PATCH 2/2] net: stmmac: Enable mac_managed_pm phylink config 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).