[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKddAkBZWZqY+-TERah+Q+WUfkqzcpFMA=ySSuTxxBjfP7tKZg@mail.gmail.com>
Date: Thu, 20 Feb 2025 10:47:40 +0800
From: Nick Hu <nick.hu@...ive.com>
To: Jacob Keller <jacob.e.keller@...el.com>
Cc: Radhey Shyam Pandey <radhey.shyam.pandey@....com>, Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>, Michal Simek <michal.simek@....com>,
Russell King <linux@...linux.org.uk>, Francesco Dolcini <francesco.dolcini@...adex.com>,
Praneeth Bajjuri <praneeth@...com>, Andrew Lunn <andrew@...n.ch>, netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: axienet: Set mac_managed_pm
Hi Jacob
On Thu, Feb 20, 2025 at 7:29 AM Jacob Keller <jacob.e.keller@...el.com> wrote:
>
>
>
> On 2/16/2025 9:58 PM, Nick Hu wrote:
> Nit: subject should include the "net" prefix since this is clearly a bug
> fix.
>
I've added the 'net' prefix to the subject 'net: axienet: Set
mac_managed_pm'. Is there something I'm missing?
> > The external PHY will undergo a soft reset twice during the resume process
> > when it wake up from suspend. The first reset occurs when the axienet
> > driver calls phylink_of_phy_connect(), and the second occurs when
> > mdio_bus_phy_resume() invokes phy_init_hw(). The second soft reset of the
> > external PHY does not reinitialize the internal PHY, which causes issues
> > with the internal PHY, resulting in the PHY link being down. To prevent
> > this, setting the mac_managed_pm flag skips the mdio_bus_phy_resume()
> > function.
> >
> > Fixes: a129b41fe0a8 ("Revert "net: phy: dp83867: perform soft reset and retain established link"")
> > Signed-off-by: Nick Hu <nick.hu@...ive.com>
> > ---
>
> Otherwise, the fix seems correct to me.
>
> Reviewed-by: Jacob Keller <jacob.e.keller@...el.com>
>
> > drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > index 2ffaad0b0477..2deeb982bf6b 100644
> > --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> > @@ -3078,6 +3078,7 @@ static int axienet_probe(struct platform_device *pdev)
> >
> > lp->phylink_config.dev = &ndev->dev;
> > lp->phylink_config.type = PHYLINK_NETDEV;
> > + lp->phylink_config.mac_managed_pm = true;
> > lp->phylink_config.mac_capabilities = MAC_SYM_PAUSE | MAC_ASYM_PAUSE |
> > MAC_10FD | MAC_100FD | MAC_1000FD;
> >
>
Regards,
Nick
Powered by blists - more mailing lists