Message ID | 20221010203301.132622-2-shenwei.wang@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | net: phylink: add phylink_set_mac_pm() helper | expand |
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?
> -----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&data=05%7C01%7Cshenwei. > wang%40nxp.com%7Cb7b04ce3002c4d29581c08daab07233d%7C686ea1d3bc2 > b4c6fa92cd99c5c301635%7C0%7C0%7C638010344382281159%7CUnknown%7 > CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ > XVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=8siCkBn5XpHUEmv3Vx4vzgC > QDHDg94rZ%2Flv13pZhc1c%3D&reserved=0 > FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
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);
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(+)